ГОСТ Р ИСО 10303-216-2023 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 216. Прикладной протокол. Данные о форме обводов корпуса судна

Обложка ГОСТ Р ИСО 10303-216-2023 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 216. Прикладной протокол. Данные о форме обводов корпуса судна
Обозначение
ГОСТ Р ИСО 10303-216-2023
Наименование
Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 216. Прикладной протокол. Данные о форме обводов корпуса судна
Статус
Действует
Дата введения
2024.06.01
Дата отмены
-
Заменен на
-
Код ОКС
25.040.40, 47.020.10

ФЕДЕРАЛЬНОЕ АГЕНТСТВО

ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

НАЦИОНАЛЬНЫЙ ГОСТР

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

ИСО 10303-216—

2023

Системы автоматизации производства и их интеграция

ПРЕДСТАВЛЕНИЕ ДАННЫХ ОБ ИЗДЕЛИИ И ОБМЕН ЭТИМИ ДАННЫМИ

Часть 216

Прикладной протокол.

Данные о форме обводов корпуса судна

(ISO 10303-216:2003 + Cor.1:2008, IDT)

Издание официальное

Москва Российский институт стандартизации 2024

ГОСТ Р ИСО 10303-216—2023

Предисловие

1 ПОДГОТОВЛЕН Научно-исследовательским институтом по стандартизации и сертификации «Лот» Федерального государственного унитарного предприятия «Крыловский государственный научный центр» (НИИ «Лот» ФГУП «Крыловский государственный научный центр») на основе собственного перевода на русский язык англоязычной версии стандарта, указанного в пункте 4

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 005 «Судостроение»

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

4 Настоящий стандарт идентичен международному стандарту ИСО 10303-216:2003 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 216. Прикладной протокол. Данные о форме обводов корпуса судна» (ISO 10303-216:2003 «Industrial automation systems and integration — Product data representation and exchange — Part 216: Application protocol: Ship moulded forms», IDT), включая техническую поправку Cor.1:2008.

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

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

Дополнительные сноски в тексте стандарта, выделенные курсивом, приведены для пояснения текста оригинала

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

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

© ISO, 2003 © Оформление. ФГБУ «Институт стандартизации», 2024

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

II

ГОСТ Р ИСО 10303-216—2023

Содержание

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

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

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

3.1 Термины, определенные в ИСО 10303-1...............................................4

3.2 Термины, определенные в ИСО 10303-31..............................................4

3.3 Термины, определенные в ИСО 10303-42..............................................4

3.4 Прочие термины и определения.....................................................4

3.5 Сокращения......................................................................8

4 Требования к информации..............................................................8

4.1 Функциональные единицы..........................................................8

4.2 Прикладные объекты.............................................................13

4.3 Прикладные утверждения..........................................................93

5 Прикладная интерпретированная модель...............................................104

5.1 Спецификация отображения......................................................104

5.2 Сокращенный EXPRESS-листинг прикладной интерпретированной модели...............253

6 Требования соответствия.............................................................410

Приложение А (обязательное) Развернутый листинг прикладной интерпретированной модели на языке Express................................................ 418

Приложение В (обязательное) Сокращенные наименования объектов прикладной интерпретированной модели..............................................555

Приложение С (обязательное) Специальные требования к методам реализации................562

Приложение D (обязательное) Форма заявки о соответствии реализации протоколу.............563

Приложение Е (обязательное) Регистрация информационного объекта........................564

Приложение F (справочное) Прикладная функциональная модель............................565

Приложение G (справочное) Прикладная эталонная модель.................................588

Приложение Н (справочное) Прикладная интерпретированная модель Express-G...............612

Приложение J (справочное) Машинно-интерпретируемые листинги...........................638

Приложение К (справочное) Руководство по применению прикладного протокола...............639

Приложение L (справочное) Технические пояснения........................................640

Приложение ДА (справочное) Информация об учете технической поправки к ИСО 10303-216:2003 ..................................................649

Приложение ДБ (справочное) Сведения о соответствии ссылочных международных стандартов и документов национальным стандартам.........................651

Библиография.......................................................................652

III

ГОСТ Р ИСО 10303-216—2023

Введение

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

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

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

Серия ПП для судостроения предполагает, что модель судна может быть разделена на отдельные судовые элементы на протяжении всего их жизненного цикла. Этими элементами являются: теоретические обводы судна, судовые устройства, судовые конструкции, судовые системы, оснащение и обстановка судна. Каждый отдельный элемент описывается одним или несколькими ПП. Вся серия ПП для судостроения показана на рисунке 1. Аспекты модели изделия судна, являющиеся общими для каждого ПП для судостроения, описываются последовательно и идентично в каждом ПП. Дополнительная информация о ПП и их элементах для судостроения, а также информация об общих данных ПП для судостроения приведены в приложении L.

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

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

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

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

Основные принципы теоретических обводов судна:

- теоретический обвод судна и теоретический обвод каждой его части имеет определение;

- определения утверждаются и являются версионизированными;

- теоретический обвод судна состоит из теоретических обводов его частей;

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

Описываемые представления отражают различные возможности ввода и вывода данных CAD, САМ и других программных систем, обычно используемых в судостроении.

Поддерживаемые геометрические представления перечислены ниже:

- представление таблицы ординат теоретического чертежа;

- представление каркаса;

- представление поверхности.

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

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

ГОСТ Р ИСО 10303-216—2023

Рисунок 1 — Прикладные протоколы для судостроения

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

Примечание — Для представления данных об остойчивости в поврежденном состоянии допускается применять ИСО 10303-215.

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

ПП обеспечивают основу для разработки реализаций стандартов серии ИСО 10303 и комплектов абстрактных тестов для аттестационного тестирования реализации ПП.

В разделе 1 определена область применения ПП и резюмированы его функциональность и охватываемые им данные. Термины и определения, применяемые в настоящем стандарте, приведены в разделе 3. Прикладная функциональная модель, которая является основой для определения области применения ПП, приведена в приложении F. Информационные требования приложения представлены в разделе 4 с использованием терминологии, соответствующей данному приложению. Графическое представление информационных требований, называемое прикладной эталонной моделью, приведено в приложении G.

Конструкции ресурсов интерпретируются так, чтобы соответствовать этим информационным требованиям. Интерпретация создает прикладную интерпретированную модель (ПИМ). Интерпретация, приведенная в 5.1, демонстрирует связь между информационными требованиями и ПИМ. Сокращенный листинг ПИМ, в котором определен интерфейс с интегрированными ресурсами, приведен в 5.2. Определения и фрагменты языка EXPRESS, представленные в интегрированных ресурсах для конструкций, используемых в ПИМ, могут включать элементы списка выбора и подтипы, которые

V

ГОСТ Р ИСО 10303-216—2023

не импортируются в ПИМ. Расширенный листинг, приведенный в приложении А, содержит полный текст ПИМ на языке EXPRESS без пояснений. Графическое представление ПИМ приведено в приложении Н. Дополнительные требования к конкретным методам реализации приведены в приложении С.

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

Граничные объекты.

Поверхность.

Каркас.

Точка ординаты

Рисунок 2 — Модель планирования данных

VI

ГОСТ Р ИСО 10303-216—2023

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

Системы автоматизации производства и их интеграция ПРЕДСТАВЛЕНИЕ ДАННЫХ ОБ ИЗДЕЛИИ И ОБМЕН ЭТИМИ ДАННЫМИ Часть 216

Прикладной протокол. Данные о форме обводов корпуса судна

Industrial automation systems and integration. Product data representation and exchange. Part 216. Application protocol. Ship moulded forms

Дата введения — 2024—06—01

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

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

Примечание 1 — Область применения настоящего стандарта уточняется в прикладной функциональной модели, приведенной в приложении F.

Примечание 2 — Обзор ПП теоретического обвода судна приведен на рисунке 3.

Рисунок 3 — Обзор теоретических обводов судна

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

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

- определение геометрии теоретического обвода судна на этапах его жизненного цикла: технический проект, рабочий проект и производство;

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

Пример 1 — К геометрии теоретического обвода судна относятся скуловой киль, брызгоотра-жатели, кронштейны гребного вала и выкружки гребного вала, составляющие окончательный теоретический обвод корпуса судна;

- определение геометрии теоретических обводов, описывающей теоретические обводы гребных винтов и рулей;

Издание официальное

1

ГОСТ Р ИСО 10303-216—2023

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

- определение геометрии теоретических обводов внутренних границ отсеков судна и геометрии теоретических обводов несущих и ненесущих элементов конструкции судна.

Пример 2 — К геометрии теоретических обводов несущих элементов конструкции судна относятся переборки, балки и профили;

- определение общих характеристик.

Пример 3 — К общим характеристикам судна относятся главные размеры, данные о типе судна, судостроительном заводе, владельце судна, а также классификационные данные;

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

- определение гидростатических характеристик теоретических обводов судна, зависящих от осадки судна.

Пример 4 — Гидростатическими характеристиками являются водоизмещение, центр величины, центр тяжести площади грузовой ватерлинии, метацентрическая высота, а также интерполяционные кривые остойчивости;

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

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

- представление таблицы ординат теоретического чертежа;

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

- представления поверхности;

- геометрическое представление, содержащее геометрические элементы, используемые в судостроении.

Пример 5 — К геометрическим представлениям относятся, например, ватерлинии и батоксы;

- контроль версий и утверждение теоретических обводов и соответствующей гидростатики.

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

- на данные определения изделия, относящиеся к обшивке корпуса, определенной в теоретических обводах;

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

Примечание 3 — ИСО 10303-215 допускается использовать для представления данных деления на отсеки и общего расположения судна;

- данные определения изделия, относящиеся к конструкциям судна и комплектным узлам судна.

Примечание 4 — ИСО 10303-218 допускается использовать для представления судовых конструкций;

- данные определения изделия, относящиеся к судовым машинам, механизмам и судовым надстройкам;

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

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

- гидромеханические характеристики судна;

- характеристики остойчивости поврежденного судна.

Примечание 5 — ISO 10303-215 [3] допускается использовать для представления данных остойчивости поврежденного судна;

- общую продольную прочность судна.

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

В настоящем стандарте использованы нормативные ссылки на следующие документы [для датированных ссылок применяют только указанное издание ссылочного документа, для тиражированных — последнее издание (включая все изменения)]:

2

ГОСТ Р ИСО 10303-216—2023

ISO 31 (all parts) Quantities and units (Величины и единицы измерения, все части)

ISO 1000:1992 SI units and recommendations for the use of their multiples and of certain other units (Единицы системы измерения и рекомендации по применению кратных и дольных от них и некоторых других единиц)

ISO 10303-1:1994 Industrial automation systems and integration — Product data representation and exchange — Part 1: Overview and fundamental principles (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 1. Общие представления и основополагающие принципы)

ISO/IEC 8824-1:1998 Information technology —Abstract Syntax Notation One (ASN.1): Specification of basic notation (Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации)

ISO 10303-11:19941) Industrial automation systems and integration — Product data representation and exchange — Part 11: Description methods: The EXPRESS language reference manual (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS)

ISO 10303-21:2002 Industrial automation systems and integration — Product data representation and exchange — Part 21: Implementation methods: Clear text encoding of the exchange structure (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 21. Методы реализации. Кодирование открытым текстом структуры обмена)

ISO 10303-22:1998 Industrial automation systems and integration — Product data representation and exchange — Part 22: Implementation methods: Standard data access interface (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 22. Методы реализации. Стандартный интерфейс доступа к данным)

ISO/TS 10303-28 Industrial automation systems and integration — Product data representation and exchange — Part 28: Implementation methods: XML representation of EXPRESS schemas and data (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 28. Методы реализации. Представление схем XML и данных EXPRESS с использованием схемы XML)

ISO 10303-31:1994 Industrial automation systems and integration — Product data representation and exchange — Part 31: Conformance testing methodology and framework: General concepts (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 31. Методология и основы аттестационного тестирования. Общие положения)

ISO 10303-41:2000 Industrial automation systems and integration — Product data representation and exchange — Part 41: Integrated generic resource: Fundamentals of product description and support (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 41. Интегрированный обобщенный ресурс. Основы описания и поддержки изделий)

ISO 10303-42:2000 Industrial automation systems and integration — Product data representation and exchange — Part 42: Integrated generic resource: Geometric and topological representation (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 42. Интегрированный обобщенный ресурс. Геометрическое и топологическое представление)

ISO 10303-43:2000 Industrial automation systems and integration — Product data representation and exchange — Part 43: Integrated generic resource: Representation structures (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 43. Интегрированный обобщенный ресурс. Структуры представления)

ISO 10303-45:1998 Industrial automation systems and integration — Product data representation and exchange — Part 45: Integrated generic resource: Materials (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 45. Интегрированный обобщенный ресурс. Материалы)

ISO 10303-501:2000 Industrial automation systems and integration — Product data representation and exchange — Part 501: Application interpreted construct: Edge-based wireframe (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 501. Прикладная интерпретированная конструкция. Каркасное представление формы на основе ребер)

ISO 10303-508:2001 Industrial automation systems and integration — Product data representation and exchange — Part 508: Application interpreted construct: Non-manifold surface (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 508. Прикладная интерпретированная конструкция. Многосвязная поверхность)

О Заменен на ISO 10303-11:2004. Однако для однозначного соблюдения требования настоящего стандарта, выраженного в датированной ссылке, рекомендуется использовать только указанное в этой ссылке издание.

3

ГОСТ Р ИСО 10303-216—2023

ISO 10303-511:2001 Industrial automation systems and integration — Product data representation and exchange — Part 511: Application interpreted construct: Topologically bounded surface (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 511. Прикладная интерпретированная конструкция. Топологически ограниченная поверхность)

RFC 2396:1998 Uniform Resources Identifiers (URI): Generic Syntax (Идентификаторы единообразных ресурсов. Обобщенный синтаксис)

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

3.1 Термины, определенные в ИСО 10303-1

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

- приложение (application);

- прикладная функциональная модель (application activity model);

- прикладной контекст (application context);

- прикладная интерпретированная модель (application interpreted model);

- прикладной объект (application object);

- прикладной протокол (application protocol);

- прикладная эталонная модель (application reference model);

- класс соответствия (conformance class);

- требование соответствия (conformance requirement);

- данные (data);

- обмен данными (data exchange);

- метод реализации (implementation method);

- информация (information);

- интегрированный ресурс (integrated resource);

- интерпретация (interpretation);

- форма ЗСРП (PICS proforma);

- изделие (product);

- данные об изделии (product data);

- функциональная единица; ФЕ (unit of functionality; UoF).

3.2 Термины, определенные в ИСО 10303-31

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

- аттестационное тестирование (conformance testing);

- постпроцессор (postprocessor);

- препроцессор (preprocessor).

3.3 Термины, определенные в ИСО 10303-42

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

- граница (boundary);

- связанный (connected);

- кривая (curve).

3.4 Прочие термины и определения

В настоящем стандарте применены термины по [10], а также следующие термины с соответствующими определениями:

3.4.1 кормовой перпендикуляр судна; КП (after perpendicular; aft perpendicular): Линия пересечения диаметральной плоскости судна с вертикальной поперечной плоскостью, проходящей через точку пересечения оси поворота руля, или транцем с плоскостью конструктивной ватерлинии.

Примечание — Для судна с транцевой кормой — пересечение конструктивной ватерлинии с транцем.

3.4.2 плоскость мидель-шпангоута судна (amidships; midship): Вертикальная плоскость посередине длины судна, расположенная поперечно в направлении (у, z) глобальной системы координат.

Примечание — Линия пересечения плоскости мидель-шпангоута с теоретической поверхностью корпуса судна называется мидель-шпангоут.

4

ГОСТ Р ИСО 10303-216—2023

3.4.3 выступающая часть (appendage): Наружное присоединение, навес или узел, прилегающий к корпусу судна.

3.4.4 основная плоскость судна; ОП (baseline): Главная горизонтальная плоскость, проходящая через нижнюю точку поверхности корпуса судна в плоскости мидель-шпангоута, от которой измеряются высоты при проектировании и производстве.

Примечание — Основная плоскость равна нулю по вертикали.

3.4.5 скула (bilge): Часть обшивки корпуса судна, соединяющая днище с бортами.

3.4.6 скуловой киль (bilge keel): Крыло для уменьшения бортовой качки.

3.4.7 наибольшая ширина судна (breadth): Наибольшее расстояние, измеренное в поперечном направлении от одного борта корпуса судна до другого, без учета толщины обшивки корпуса.

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

3.4.8 переборка (bulkhead): Вертикальная стена или перегородка внутри судна.

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

3.4.9 батокс; ВТ (buttock line): Любая продольная линия, параллельная диаметральной плоскости судна.

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

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

Примечание — Положительное значение погиби палубы будет означать, что палуба по борту ниже, чем палуба диаметральной плоскости.

3.4.11 центральная линия (centreline): Воображаемая линия, получающаяся при пересечении диаметральной плоскости с теоретическим обводом.

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

3.4.12 диаметральная плоскость; ДП (centreplane): Вертикальная плоскость, представляющая плоскость симметрии судна, расположенная продольно в направлении (х, z) глобальной системы координат.

Примечание —ДП используют при проектировании и производстве, от которой выполняют все поперечные измерения, и делит судно от носа до кормы на левый и правый борта.

3.4.13 центр объема (centroid): Центр предмета, площади или объема, измеренный по отношению к некоторому определенному местоположению.

3.4.14 классификация (classification): Процесс, в ходе которого проводят оценку конструкции и состояния судна для определения соответствия правилам и стандартам, разработанным классификационным обществом, ответственным за его классификацию.

3.4.15 классификационное общество (classification society): Организация, которая устанавливает и контролирует соблюдение нормативно-технических требований при проектировании, строительстве и эксплуатации судов и морских/речных сооружений в течение их жизненного цикла.

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

3.4.17 система координат (coordinate system; co_ordinate_system; со ordinate system): Величины, определяющие положение точки в л-мерном пространстве.

3.4.18 палуба (deck): Горизонтальное перекрытие в корпусе или надстройках, опирающиеся на борта, переборки и пиллерсы (при их наличии), либо только на переборки, разделяющие корпус судна на помещения по вертикали.

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

5

ГОСТ Р ИСО 10303-216—2023

3.4.19 рубка (deck house): Закрытое палубой сооружение на верхней палубе или палубе надстройки, отстоящее хотя бы от одного из бортов на расстоянии более 4 % ширины судна.

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

3.4.20 высота (depth): Расстояние по вертикали между основной плоскостью судна и любым горизонтальным уровнем судна.

3.4.21 обтекаемый (fair): Плавная кривая без неровностей.

3.4.22 крыло (fin): Листовое ребро, устанавливаемое вдоль скулы, в средней части судна, перпендикулярно к наружней обшивке.

3.4.23 коэффициенты формы, коэффициенты формы корпуса (form parameters, hullform parameters): Эмпирические математические уравнения, коэффициенты, площади поперечного сечения и объемы судна.

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

3.4.24 носовой перпендикуляр судна; НП (forward perpendicular): Вертикальная линия в ДП судна, проходящей через точку пересечения КВЛ с передней кромкой форштевня.

Примечание — Часто используют в качестве точки отсчета для измерений или размещения предметов продольно на судне.

3.4.25 шпангоут; Шп (frame): Один из поперечных элементов, формирующих реберную каркасную часть судна.

Примечание — Шпангоуты действуют как ребра жесткости, удерживая форму внешней обшивки и сохраняя поперечную форму судна.

3.4.26 меблировка (furnishings): Предметы, помещаемые в обитаемые помещения судна для обеспечения сна, проживания и работы пассажиров и экипажа.

Пример — Койки, шкафы, мебель, кухонное оборудование.

3.4.27 общее расположение (general arrangements): Разделение судна на отсеки и зоны эксплуатации судна, машинных помещений, жилых и подсобных помещений для экипажа и пассажиров, проходов.

3.4.28 полуширота (half-breadth): Поперечный размер, откладываемый от диаметральной плоскости.

3.4.29 обвод корпуса (hullform): Совокупность геометрии, определяющая форму корпуса судна.

Примечание — В отдельных ссылочных изданиях по теории судостроения обводы корпуса включают самую верхнюю водонепроницаемую палубу судна. Применительно к настоящему стандарту поверхность корпуса и самая верхняя водонепроницаемая палуба определяются как отдельные объекты теоретических обводов.

3.4.30 гидродинамические силы (hydrodynamic): Силы, воздействующие на корпус судна при движении в воде.

3.4.31 гидростатика (hydrostatics): Совокупность гидростатических свойств погруженного объема судна.

3.4.32 гидростатические свойства (hydrostatic property): Эмпирические характеристики погруженного объема корпуса судна, такие как: центры тяжести и величины, площади поперечного сечения и объемы судна.

Примечание — Перечень типов характеристик приведен в 4.2.47.1.

3.4.33 слом (knuckle): Пространственная линия, где две поверхности судна встречаются под углом.

Примечание — Элемент обводов корпуса, например острая скула.

3.4.34 длина между перпендикулярами (length between perpendiculars): Расстояние, измеряемое в продольном направлении между носовым и кормовым перпендикулярами.

3.4.35 продольный (longitudinal): Измерение по длине судна.

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

3.4.36 главные размеры (main dimensions): Основные конструктивные, расчетные, наибольшие и габаритные размеры судна, которые используют при анализе и проектировании.

Примечание — Перечень главных размеров приведен в 4.2.78.

6

ГОСТ Р ИСО 10303-216—2023

3.4.37 средняя часть корпуса (mid-body): Для судов с цилиндрической частью — часть теоретических обводов между кормовой и носовой частью.

Пример — У танкеров имеется цилиндрическая средняя часть корпуса, при этом у военных судов цилиндрическая часть корпуса встречается редко.

3.4.38 теоретический обвод (moulded form): Это графическое изображение (контур) теоретической поверхности и набор проектных параметров различных частей судна, не включающие информацию о толщине материала, из которого изготовлены эти части.

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

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

3.4.40 насыщение (outfit, outfitting): Элементы, стационарно закрепленные на судне, не являющиеся частями основных конструктивных систем. Применительно к настоящему стандарту, трубопроводные, электрические системы и системы HVAC1) относятся к распределенным системам, а не к насыщению.

Пример — люки, леерные устройства, двери, трапы.

3.4.41 килевая качка (pitching): Вращательные колебания вокруг поперечной оси судна.

3.4.42 бортовая качка (rolling): Вращательные колебания вокруг продольной оси судна.

3.4.43 седловатость (sheer): Плоская кривая, определяющая кривизну палубы в продольном направлении.

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

3.4.44 судовая конструкция (ship structure): Конструктивные системы, листы и ребра жесткости, формирующие корпус, палубы и переборки судна.

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

3.4.45 теоретический шпангоут (station): Пересечение поперечной плоскости YZ с теоретическим обводом корпуса.

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

3.4.46 форштевень (stem): Плоская кривая, проходящая от основания судна до самой верхней палубы по диаметральной плоскости судна, образующая носовую часть судна.

3.4.47 конструктивная ватерлиния, летняя грузовая ватерлиния (summer load waterline; design waterline): Ватерлиния, принятая за основу построения теоретического чертежа и соответствующая полученному предварительным расчетом полному водоизмещению судна.

3.4.48 надстройка (superstructure): Закрытое палубой сооружение на верхней палубе, простирающееся от борта до борта или отстоящее от любого из бортов судна на расстояние не более 4 % ширины судна.

3.4.49 подруливающее устройство (thruster): Вспомогательное движительное устройство, расположенное в корпусе.

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

3.4.50 транец (transom): Плоский или несколько выгнутый наружу поперечный срез кормы судна.

3.4.51 поперечный (transverse): Измерение поперек судна.

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

3.4.52 идентификатор единообразного ресурса (uniform resource identifier): Компактная строка символов для идентификации абстрактного или физического ресурса. Определяет простое и расширяемое средство для идентификации ресурса.

3.4.53 вертикальный (vertical): Измерение по высоте судна.

1> Системы отопления, вентиляции и кондиционирования воздуха (ОВКВ).

7

ГОСТ Р ИСО 10303-216—2023

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

3.4.54 ватерлиния судна; ВЛ (waterline): Линия пересечения теоретической поверхности корпуса судна с горизонтальной плоскостью.

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

3.4.55 открытая палуба; главная палуба (weather deck; main deck): Самая верхняя водонепроницаемая палуба судна.

3.4.56 рысканье (yawing): Вращение судна вокруг своей вертикальной оси.

3.5 Сокращения

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

ЗСРП (PICS) — заявление о соответствии реализации прикладному протоколу (protocol implementation conformance statement);

КВЛ — конструктивная ватерлиния;

МАКО (IACS) — Международная ассоциация классификационных обществ (International Association of Classification Societies);

OMK — общая модель судна;

ПИМ (AIM) — прикладная интерпретированная модель (application interpreted model);

ПП (АР) — прикладной протокол (application protocol);

ПФМ (ААМ) — прикладная функциональная модель (application activity model);

ПЭМ (ARM) — прикладная эталонная модель (application reference model);

СИ — метрическая система единиц измерения;

СБ — строительный блок;

ЦВ — центр величины;

ЦТ — центр тяжести;

CAD — система автоматизированного проектирования (computer aided design);

САМ — система автоматизированного производства (computer aided manufacture);

CFD — расчетная гидродинамика (computational fluid dynamics);

GUID — глобально однозначный идентификатор (globally unambiguous identifier);

IMO — Международная морская организация (International Maritime Organisation);

SOLAS — охрана человеческой жизни на море (safety of life at sea).

4 Требования к информации

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

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

Примечание 1 — Графическое представление требований к информации приведено в приложении G.

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

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

4.1 Функциональные единицы

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

- basic_geometry;

- configuration_management;

- definitions;

8

ГОСТ Р ИСО 10303-216—2023

- external_references;

- hull_class_applicability;

- hydrostatics;

- items;

- Iocation_concepts;

- offset_table_representations;

- ship_design_parameter;

- ship_general_characteristics;

- ship_measures;

- ship_moulded_forms;

- surface_representations;

- wireframe representations.

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

4.1.1 Функциональная единица basic_geometry

Функциональная единица basic_geometry использует следующие прикладные объекты:

- Ship_curve;

- Ship_curve_with_spacing_position;

- Ship_point;

- Ship_surface.

4.1.2 Функциональная единица configuration management

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

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

Функциональная единица configuration_management использует следующие прикладные объекты:

- Alternative_version_relationship;

- Approval_event;

- Аррroval_history;

- Change;

- Change_definition;

- Changejmpact;

- Change_plan;

- Change_realization;

- Change_request;

- Check;

- Envisaged_version_creation;

- Revision;

- Revision_with_context;

- Version_creation;

- Version_deletion;

- Version_history;

- Version_modification;

- Version_relationship;

- Versionable_object_change_event.

4.1.3 Функциональная единица definitions

Функциональная единица definitions описывает абстрактную концепцию для определения элемента, конструкций элементов и взаимосвязей элементов.

Функциональная единица definitions использует следующие прикладные объекты:

- Definition;

- Design_definition;

- Functional_definition;

- General_characteristics_definiton.

9

ГОСТ Р ИСО 10303-216—2023

4.1.4 Функциональная единица external_references

Функциональная единица external_references обеспечивает возможность и механизмы, с помощью которых могут приводиться ссылки на информацию в другом наборе данных модели изделия, или может ссылаться на информацию, не входящую в данный обмен данными или контекст совместного доступа к данным, и определяет конструкции для идентификации и ссылки на стандарты и документы, определенные во внешних библиотеках или вне объема ИСО 10303.

Функциональная единица external_references использует следующие прикладные объекты:

- Document;

- Document_portion;

- Document_reference;

- Document_reference_with_address;

- Extemal_instance_reference;

- External_reference;

- External_storage;

- Universal_resource_locator.

4.1.5 Функциональная единица hull class applicability

Функциональная единица hull_class_applicability позволяет привязать элемент ко всем корпусам в классе судна или к определенному корпусу. В проектировании на класс все элементы привязаны к классу судна. По умолчанию элемент применяется ко всем корпусам в классе. Изменения в корпусе затрагивают элементы, применяемые к определенным корпусам. Эти изменения могут применяться на уровне предмета или на уровне определения.

Пример 1 — К типам применимости для корпуса на уровне предмета будет относиться добавление новой системы, отсека или оборудования.

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

Функциональная единица hull_class_applicability использует следующие прикладные объекты:

- Hull_applicability.

4.1.6 Функциональная единица hydrostatics

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

Функциональная единица hydrostatics использует следующие прикладные объекты:

- Addition_of_moulded_form;

- Centre location;

- Displacement_operation;

- Floating_position;

- Hydrostatic_definition;

- Hydrostatic_position_value;

- Hydrostatic_properties_for_constant_floating_position;

- Hydrostatic_property;

- Hydrostatic_property_value;

- Hydrostatic_scalar_value;

- Hydrostatic_table;

- Stability_definition;

- Stability_properties_for_one_floating_position;

- Stability_property;

- Stability_table;

- Subtraction_of_moulded_form.

4.1.7 Функциональная единица items

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

Функциональная единица items использует следующие прикладные объекты:

- Definable_object;

10

ГОСТ Р ИСО 10303-216—2023

- Globaljd;

- Item;

- Item_relationship;

- Item_structure;

- Ship;

- Versionable_object.

4.1.8 Функциональная единица location_concepts

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

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

Функциональная единица location_concepts использует следующие прикладные объекты:

- Buttock_table;

- Frame_table;

- Global_axis_placement;

- Local_co_ordinate_system;

- Local_co_ordinate_system_with_position_reference;

- Longitudinal_position;

- Longitudinal_table;

- Spacing_position;

- Spacing_position_with_offset;

- Spacing_table;

- Station_table;

- Transversal_position;

- Transversal_table;

- Vertical_position;

- Vertical_table;

- Waterline_table.

4.1.9 Функциональная единица offset table representations

Функциональная единица offset_table_representations предоставляет информацию, необходимую для геометрического представления формы в виде таблицы точек ординат. Представление таблицы ординат определяет форму полностью набором объектов Ship_point. Объекты Ship_point перечислены в секциях, при этом обычно эти секции являются двухмерными. В особых случаях может возникнуть необходимость использования ЗО-секций.

Функциональная единица offset_table_representations использует следующие прикладные объекты:

- Offset_point_table_model;

- Offset_table_shape_representation;

- Section_of_offset_point_table.

4.1.10 Функциональная единица ship_design_parameter

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

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

Функциональная единица ship_design_parameter использует следующие прикладные объекты:

- Appendage_moulded_form_design_parameter;

- Bottom_moulded_form_design_parameter;

- Bulb_moulded_form_design_parameter;

11

ГОСТ Р ИСО 10303-216—2023

- Deck_moulded_form_design_parameter;

- Hull_moulded_form_design_parameter;

- Midship_tumble;

- Moulded_form_characteristics_definition;

- Propellerjocation;

- Propeller_moulded_form_design_parameter;

- Rudder_moulded_form_design_parameter;

- Ship_overall_dimensions;

- Thruster_moulded_form_design_parameter.

4.1.11 Функциональная единица ship_general_characteristics

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

Функциональная единица ship_general_characteristics использует следующие прикладные объекты:

- Carrier;

- Class_and_statutory_designation;

- Class_notation;

- Class_parameters;

- Navy_ship;

- Owner_designation;

- Principal_characteristics;

- Regulation;

- Research_ship;

- Ship_designation;

- Shiptype;

- Shipyard_designation;

- Working_ship.

4.1.12 Функциональная единица shipmeasures

Функциональная единица ship_measures задает информацию для представления мер для физических величин.

Функциональная единица ship_measures использует следующие прикладные объекты:

- Centrejocation;

- Derived_unit;

- Named_unit;

- Precision.

Примечание — Дополнительная информация по использованию мер и единиц приведена в L.7.

4.1.13 Функциональная единица ship_moulded_forms

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

Функциональная единица ship_moulded_forms использует следующие прикладные объекты:

- Moulded_form;

- Moulded_form_boundary_relationship;

- Moulded_form_design_definition;

- Moulded_form_functional_definition;

- Moulded_form_relationship;

- Moulded_form_representation_item;

- Moulded_form_representation_relationship;

- Moulded_form_shape_representation;

- Planar_symmetry;

- Rotational_symmetry;

- Ship_moulded_form;

- Ship_moulded_form_revision;

- Symmetry.

12

ГОСТ Р ИСО 10303-216—2023

4.1.14 Функциональная единица surface_representations

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

Функциональная единица surface_representations использует следующие прикладные объекты:

- Non manifold surface shape;

- Surface shape representation;

- Surface_with_identifier.

4.1.15 Функциональная единица wireframe_representations

Функциональная единица wireframe_representations задает информацию, необходимую для представления теоретического обвода в форме каркаса. Функциональная единица объединяет топологическую и геометрическую информации, чтобы описать каркас как набор пересекающихся 2D- или ЗО-кривых. Данной функциональной единицей описывается простая геометрия, такая как плоскости и прямые линии, а также сложная геометрия, такая как В-сплайновые кривые. Кроме того, они могут быть связаны с судостроительными терминами.

Функциональная единица wireframe_representations использует следующие прикладные объекты:

- Edge based wireframe shape;

- Knot;

- Ship_curve_segment;

- Wireframe_shape_representation.

4.2 Прикладные объекты

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

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

4.2.1 Прикладной объект Addition_of_moulded_form

Прикладной объект Addition_of_moulded_form является типом объекта Displacement_operation (см. 4.2.26), в котором водоизмещение объекта Ship_moulded_form (см. 4.2.93) будет увеличено на водоизмещение нового объекта Moulded_form (см. 4.2.61).

4.2.2 Прикладной объект Alternative_version_relationship

Прикладной объект Alternative version relationship является взаимосвязью между двумя объектами Versionable_object (см. 4.2.121) одного типа. Каждый Versionable_object является альтернативой другого объекта Versionable_object.

С объектом Alternative_version_relationship связаны следующие данные:

- alternative_1;

- alternative_2;

- reason.

4.2.2.1 Данные alternative_1

Данные alternative l определяют альтернативный проект для объекта Versionable_object (см. 4.2.121), определенный данными alternative_2. Прикладное утверждение дано в 4.3.1.

4.2.2.2 Данные alternative_2

Данные altemative_2 определяют альтернативный проект для объекта Versionable_object (см. 4.2.121), определенный данными alternative l. Прикладное утверждение дано в 4.3.1.

4.2.2.3 Данные reason

Данные reason описывают взаимосвязь между двумя альтернативными проектами.

4.2.3 Прикладной объект Appendage_moulded_form_design_parameter

Прикладной объект Appendage_moulded_form_design_parameter является типом определения Moulded_form_characteristics_definition (см. 4.2.63), которое определяет размеры и отношения для каждого типа выступающей части корпуса судна.

13

ГОСТ Р ИСО 10303-216—2023

С объектом Appendage_moulded_form_design_parameter связаны следующие данные:

- appendage breadth;

- appendage_depth;

- appendagejength;

- type_of_appendage;

- user_def_appendagejype.

4.2.3.1 Данные appendage_breadth

Данные appendage breadth определяют ширину выступающей части.

Примечание — Ширина является вторым наибольшим размером выступающей части.

4.2.3.2 Данные appendage_depth

Данные appendage_depth определяют глубину выступающей части.

Примечание — Глубина является наименьшим размером выступающей части.

4.2.3.3 Данные appendagejength

Данные appendagejength определяют длину выступающей части.

Примечание — Длина является максимальным размером выступающей части.

4.2.3.4 Данные type_of_appendage

Данные type_of_appendage определяют тип выступающей части, определяемый объектом Appendage_moulded_form_design_parameter.

Значение данных вида type_of_appendage должно быть одним из следующих:

- active_fin;

- air_emitter;

- arrays;

- bilge_keel;

- bowjhruster;

- cathodic_protection_anode;

- duck Jail;

- passive_fin;

- rudder;

- sea_chest;

- shaft_bossings;

- shaft_strut;

- skeg;

- spray_rail;

- stern_flap;

- stern Jhruster;

- user_defined.

4.2.3.4.1 active_fin

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

4.2.3.4.2 air_emitter

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

4.2.3.4.3 arrays

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

4.2.3.4.4 bilge_keel

Скуловой киль.

Пример — Скуловой киль представлен на рисунке 4.

4.2.3.4.5 bowjhruster

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

4.2.3.4.6 cathodic_protection_anode

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

14

ГОСТ Р ИСО 10303-216—2023

Рисунок 4 — Скуловой киль

4.2.3.4.7 duck_tail

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

4.2.3.4.8 passive_fin

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

4.2.3.4.9 rudder

Конструкция, крепящаяся вертикально к корме судна и работающая в целях управления направлением судна.

4.2.3.4.10 sea_chest

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

4.2.3.4.11 shaft_bossings

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

Пример — Выкружка гребного вала показана на рисунке 5.

4.2.3.4.12 stern_flap

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

4.2.3.4.13 shaft_strut

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

Пример — Типы кронштейнов гребного вала показаны на рисунках 6 и 7.

4.2.3.4.14 skeg

Узкая корпусная конструкция в подводной части судна.

4.2.3.4.15 spray_rail

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

4.2.3.4.16 sternthruster

Кормовое подруливающее устройство, которое используется для маневрирования.

4.2.3.4.17 user_defined

Тип выступающей части указывается в атрибуте user_def_appendage_type.

15

ГОСТ Р ИСО 10303-216—2023

Рисунок 5 — Выкружка гребного вала

Рисунок 6 — Кронштейн гребного вала

16

ГОСТ Р ИСО 10303-216—2023

Рисунок 7 — Кронштейны гребного вала

4.2.3.5 Данные user_def_appendage_type

Данные вида user_def_appendage_type указывают определенную пользователем роль или назначение выступающей части. Для объекта Appendage_moulded_form_ design_parameter данные вида user_def_appendage_type могут быть не заданы.

Примечание — Данные вида user_def_appendage_type не являются опциональными, если значением данных вида type_of_appendage будет USER_DEFINED.

4.2.4 Прикладной объект Approval_event

Прикладной объект Approval_event является значением объекта Event (см. 4.2.33), которое записывает изменение состояния просмотра и приемки или сертификации некоторых данных об изделии в рамках организации.

С объектом Approval_event связаны следующие данные:

- арргоvapreference;

- result;

- user_defined_result.

4.2.4.1 Данные approvapreference

Данные approvapreference определяют прикладной объект Approval_history (см. 4.2.5), на который повлиял прикладной объект Approval_event. Каждый прикладной объект Approval_event должен ссылаться только на один объект Approval_history. Прикладное утверждение — см. 4.3.2.

Примечание — Атрибут approval_reference является обратным к атрибуту approvals для прикладного объекта Approval_history.

4.2.4.2 Данные result

Данные result определяют решение об утверждении для версии проекта, требующей одобрения.

Значение данных result должно быть одним из следующих:

- approved;

- rejected;

- unapproved;

- user_defined.

Примечание — Определение каждого допустимого значение данных result дано в 4.2.4.2.1—4.2.4.2.4.

4.2.4.2.1 approved

Данные об изделии были рассмотрены соответствующей организацией и приняты или сертифицированы для применения в судне.

17

ГОСТ Р ИСО 10303-216—2023

4.2.4.2.2 rejected

Данные об изделии были рассмотрены соответствующей организацией и не приняты или не сертифицированы для применения в судне.

Примечание —Обычно для замены отклоненных данных об изделии создают другие данные об изделии.

4.2.4.2.3 unapproved

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

4.2.4.2.4 user defined

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

4.2.4.3 Данные user_defined_result

Данные user_defined_result определяют статус одобрения, определенный пользователем. Для конкретного Approval_event данные вида user_defined_result могут быть не заданы.

Примечание — Данные user_defined_result не являются опциональными, если полученным значением прикладного объекта Approval_event будет USER_DEFINED.

4.2.5 Прикладной объект Approval_history

Прикладной объект Approval_history является набором всех объектов Approval_events (см. 4.2.4) конкретного типа, определенных для какой-то части данных об изделии.

С объектом Арproval_history связаны следующие данные:

- approvals;

- status;

- subject.

4.2.5.1 Данные approvals

Данные approvals определяют последовательность объектов Approval_events (см. 4.2.4), которые возникли до настоящего времени. Объект Approval_history должен состоять, как минимум, из одного объекта Approval_event. Прикладное утверждение — см. 4.3.2.

Примечание — Последовательность объектов Approval_events строится в хронологическом порядке.

4.2.5.2 Данные status

Данные status определяют текущее состояние утверждения.

Значение данных status может быть одним из следующих:

- approved;

- rejected;

- unapproved;

- user_defined.

Примечание — Определение каждого допустимого значения статуса — см. 4.2.5.2.1—4.2.5.2.4.

4.2.5.2.1 approved

Данные об изделии были рассмотрены соответствующей организацией и приняты или сертифицированы для применения в судне.

4.2.5.2.2 rejected

Данные об изделии были рассмотрены соответствующей организацией и не приняты или не сертифицированы для применения в судне.

Примечание — Обычно для замены отклоненных данных об изделии создаются другие данные об изделии.

4.2.5.2.3 unapproved

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

4.2.5.2.4 user_defined

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

4.2.5.3 Данные subject

Данные subject задают данные об изделии, к которым относится данное утверждение. Прикладное утверждение — см. 4.3.3.

18

ГОСТ Р ИСО 10303-216—2023

Примечание — Для прикладного объекта Definition (см. 4.2.23) может быть ноль, один или несколько связанных с ним объектов Approval_history. Если у объекта Definition будет более одного связанного с ним объекта Approval_history, все объекты Approval_history будут разными.

4.2.6 Прикладной объект Bottom_moulded_form_design_parameter

Прикладной объект Bottom moulded form design parameter является типом объекта Moulded_form_ characteristics_definition (см. 4.2.63), содержащим размеры и отношения киля и днища корпуса судна.

Пример — Размеры киля и днища корпуса судна показаны на рисунке 8.

С объектом Bottom_moulded_form_design_parameter связаны следующие данные:

- aft_end_of_flat_of_bottom;

- bilge_radius;

- flat of bottom breadth;

- front_end_of_flat_of_bottom;

- Iength_of_flat_of_bottom;

- rake_of_keel;

- rise_of_floor.

Килеватость днища

Рисунок 8 — Размеры киля

4.2.6.1 Данные aft_end_of_flat_of_bottom

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

4.2.6.2 Данные bilge_radius

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

4.2.6.3 Данные flat_of_bottom_breadth

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

19

ГОСТ Р ИСО 10303-216—2023

4.2.6.4 Данные front_end_of_flat_of_bottom

Данные front_end_of_flat_of_bottom определяют продольное расстояние от кормового перпендикуляра до передней части плоского днища.

4.2.6.5 Данные length_of_flat_of_bottom

Данные length_of_flat_of bottom определяют длину плоского днища, измеряемую горизонтально по ДП.

4.2.6.6 Данные rake_of_keel

Данные rake_of_keel определяют угол между ОП и килем судна.

4.2.6.7 Данные rise_of_floor

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

4.2.7 Прикладной объект Bulb_moulded_form_design_parameter

Прикладной объект Bulb_moulded_form_design_parameter является типом объекта Moulded_form_ characteristics_definition (см. 4.2.63), содержащим размеры и отношения бульба корпуса судна.

Пример — Размеры носового бульба корпуса судна показаны на рисунке 9.

С объектом Bulb_moulded_form_design_parameter связаны следующие данные:

- bulb_breadth;

- bulb_breadth_pp;

- bulb_depth;

- bulb_depth_pp;

- bulb_frame_section_area_at_pp;

- bulbjength;

- bulb_length_from_pp;

- bulbjocation.

4.2.7.1 Данные bulb_breadth

Данные bulb_breadth определяют максимальную ширину бульба.

4.2.7.2 Данные ulb_breadth_pp

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

4.2.7.3 Данные bulb_depth

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

20

ГОСТ Р ИСО 10303-216—2023

4.2.7.4 Данные bulb_depth_pp

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

4.2.7.5 Данные bulb_frame_section_area_at_pp

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

4.2.7.6 Данные bulbjength

Данные bulbjength определяют максимальную длину бульба, измеряемую горизонтально по ДП.

4.2.7.7 Данные bulbjength_from_pp

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

4.2.7.8 Данные bulb location

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

Значение данных bulbjocation должно быть одним из следующих:

- bow;

- stern.

Определение каждого допустимого значения данных bulbjocation — см. 4.2.7.8.1,4.2.7.8.2.

4.2.7.8.1 bow

Размещение бульба в носу корпуса судна.

4.2.7.8.2 stern

Размещение бульба в корме корпуса судна.

4.2.8 Прикладной объект Buttockjable

Прикладной объект Buttockjable является типом объекта Transversal table (см. 4.2.113), в котором представлены положения, которые задают размещение баттокса и располагаются на глобальной оси Y.

4.2.9 Прикладной объект Carrier

Прикладной объект Carrier является типом объекта Shiptype (см. 4.2.98), представляющим объект Ship (см. 4.2.88), перевозящим грузы или пассажиров.

С объектом Carrier связаны следующие данные:

- hasjype.

4.2.9.1 Данные hasjype

Данные hasjype определяют тип транспортного судна.

Значение данных hasjype должно быть одним из следующих:

- barge;

- barge_for_deckjoading;

- barge_forjiquifiedgas;

- barge_for_oil;

- barge_pontoon;

- bulk_carrier;

- car_carrier;

- carjerry;

- cargo_ship_carrying_passengers;

- chemicaljanker;

- chemicalJankerJype_1;

- container_carrier;

- cruisejiner;

- dry_cargo_vessel;

- ferry;

- gas_carrier;

- general_cargo_carrier;

- highspeedcraft_cargo;

- highspeedcraft_passenger;

- hydrofoil;

- Iiquified_gasjanker;

- LNG_carrier;

21

ГОСТ Р ИСО 10303-216—2023

- LPG_carrier;

- oil_tanker;

- ore carrier;

- passenger_vessel;

- product_tanker;

- refrigerated_cargo_carrying_ship;

- roro_vessel;

-1a n ke r_fo r_ref ri g e rate d_f ru itJ u i ce;

- user_defined.

Примечание — Определение допустимых значений данных has_type — см. 4.2.9.1.1 — 4.2.9.1.29.

4.2.9.1.1 barge

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

4.2.9.1.2 barge_for_deck_loading

Грузовое судно, спроектированное как сервисная платформа для осуществления погрузки на палубы судов.

4.2.9.1.3 barge_for_liquefied_gas

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

4.2.9.1.4 barge_for_oil

Грузовое судно, не оборудованное машинами и механизмами для самоходности и предназначенное для перевозки нефти.

4.2.9.1.5 barge_pontoon

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

4.2.9.1.6 bulk_carrier

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

4.2.9.1.7 car_carrier

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

4.2.9.1.8 car_ferry

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

4.2.9.1.9 cargo ship carrying passengers

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

4.2.9.1.10 chemical_tanker

Грузовое судно, спроектированное специально для перевозки химических веществ.

4.2.9.1.11 chemical_tanker_type 1

Грузовое судно, спроектированное специально для перевозки химических веществ 1-го типа.

4.2.9.1.12 container_carrier

Грузовое судно, построенное для перевозки контейнеров.

4.2.9.1.13 cruisejiner

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

4.2.9.1.14 dry_cargo_vessel

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

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

4.2.9.1.15 ferry

Грузовое судно, построенное для перевозки пассажиров, машин, автобусов, грузовиков и поездов по воде.

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

4.2.9.1.16 gas_carrier

Грузовое судно, спроектированное специально для перевозки газообразных продуктов.

4.2.9.1.17 general_cargo_carrier

Грузовое судно, спроектированное специально для перевозки генеральных грузов.

22

ГОСТ Р ИСО 10303-216—2023

Примечание — Объект со значением данных general_cargo_carrier перевозит любые грузы, которые не упаковываются, а перевозятся бестарно, например зерно или уголь.

4.2.9.1.18 highspeedcraft_cargo

Грузовое судно, предназначенное для высокоскоростных грузовых перевозок.

4.2.9.1.19 highspeedcraft_passenger

Грузовое судно, предназначенное для высокоскоростных пассажирских перевозок.

4.2.9.1.20 hydrofoil

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

4.2.9.1.21 liquefied_gas_tanker

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

4.2.9.1.22 LNG_carrier

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

4.2.9.1.23 LPG_carrier

Грузовое судно, предназначенное специально для транспортировки сжиженного нефтяного газа.

4.2.9.1.24 oil_tanker

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

4.2.9.1.25 ore_carrier

Грузовое судно, построенное для транспортировки руды

Пример — Тип руды — железная руда.

4.2.9.1.26 passenger_vessel

Грузовое судно, построенное для транспортировки пассажиров.

4.2.9.1.27 product_tanker

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

4.2.9.1.28 refrigerated cargo carrying ship

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

4.2.9.1.29 roro_vessel

Грузовое судно, построенное для транспортировки колесных транспортных средств.

4.2.9.1.30 tanker_for_refrigerated_fruit_juice

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

4.2.9.1.31 user_defined

Грузовое судно, тип которого не входит в указанный выше перечень (см. 4.2.9.1.1 — 4.2.9.1.30). Подробная информация приведена в атрибуте описания для Shiptype (см. 4.2.98).

4.2.10 Прикладной объект Centre_location

Прикладной объект Centerjocation представляет собой значения измерений X, У и Z для значений данных centre_of_buoyancy (см 4.2.48.1.1), centre_of_flotation (см. 4.2.48.1.2) и centre_of_lateral_ resistance (см. 4.2.48.1.3).

4.2.11 Прикладной объект Change

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

Примечание — Изменение может привести или не привести к изменению данных модели изделия. Все запланированные или фактические изменения модели изделия документируют в соответствующих объектах Change_definition (см. 4.2.12).

С объектом Change связаны следующие данные:

- the_class.

4.2.11.1 Данные the_class

Данные the_class определяют спецификацию организационной роли изменения.

Пример — К типам класса относятся: запрос на модификацию в главный офис (Headquarter Modification Request) или предложение о внесении изменения в конструкцию (Engineering Change Proposal).

23

ГОСТ Р ИСО 10303-216—2023

4.2.12 Прикладной объект Change_definition

Прикладной объект Change_definition является типом объекта Definition (см. 4.2.23), являющимся обобщением основных дискретных этапов объекта Change (см. 4.2.11). Значением объекта Change_definition может быть Change_plan (см. 4.2.14), Change_realization (см. 4.2.15) или Change_request (см. 4.2.16).

С объектом Change_definition связаны следующие данные:

- author;

- date_time;

- defined_for;

- Iocal_units.

4.2.12.1 Данные author

Данные author определяют лицо или организацию, ответственную за функции объекта Change (см. 4.2.11) в течение периода, длящегося с конца предыдущего, если он есть, до конца данного объекта Change_definition.

4.2.12.2 Данные datejime

Данные date time определяют дату и время, когда был создан объект Change_definition.

4.2.12.3 Данные defined_for

Данные defined_for определяют прикладной объект Change (см. 4.2.11), к которому применяется объект Change_definition. Прикладное утверждение — см. 4.3.4.

4.2.12.4 Данные local_units

Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значение данных local_units может быть либо Derived_unit (см. 4.2.24) или Named_unit (см. 4.2.70). Для конкретного Change_definition данные вида local_units могут быть не заданы. Прикладные утверждения — см. 4.3.5 и 4.3.6.

4.2.13 Прикладной объект Change_impact

Прикладной объект Changejmpact представляет собой набор событий, определяющий влияние, которое окажет или уже оказал объект Change (см. 4.2.11).

С объектом Changejmpact связаны следующие данные:

- impact.

4.2.13.1 Данные impact

Данные impact определяют влияние объекта Change (см. 4.2.11) в части создания, изменения или удаления некоторых объектов Definition (см. 4.2.23), объектов ltem_structure (см. 4.2.54) или объектов ltem_relationship (см. 4.2.53). Прикладное утверждение — см. 4.3.7.

4.2.14 Прикладной объект Change_plan

Прикладной объект Change_plan является типом объекта Change definition (см. 4.2.12), который представляет предлагаемое решение для объекта Change (см. 4.2.11). Объект Change_plan является основанием для действий, необходимых для внедрения объекта Change в модель изделия.

С объектом Change_plan связаны следующие данные:

- checks;

- chosen solution for;

- plannedJmpact.

4.2.14.1 Данные checks

Данные checks определяют проверки, запланированные для объекта Change (см. 4.2.11). Прикладное утверждение — см. 4.3.9.

4.2.14.2 Данные hosen_solution_for

Данные chosen_solutionjor определяют идентификацию объекта Change_request (см. 4.2.16), для которого применяется объект Change_plan. Прикладное утверждение — см. 4.3.10.

4.2.14.3 Данные planned impact

Данные plannedjmpact определяют оцененное или рассчитанное воздействие объекта Change (см. 4.2.11). Прикладное утверждение — см. 4.3.8.

Примечание — Это влияние, как правило, выбирают из набора данных solution_alternatives в прикладном объекте Change_request (см. 4.2.16).

4.2.15 Прикладной объект Change_realization

Прикладной объект Change_realization является типом объекта Change_definition (см. 4.2.12), который определяет фактическое, наблюдаемое воздействие объекта Change (см. 4.2.11).

С объектом Change_realization связаны следующие данные:

- checks;

24

ГОСТ Р ИСО 10303-216—2023

- impact;

- realizationof.

4.2.15.1 Данные checks

Данные checks определяют утверждение в рамках организации изменений модели изделия, внесенных для внедрения объекта Change (см. 4.2.11). Прикладное утверждение — см. 4.3.12.

4.2.15.2 Данные impact

Данные impact задают идентификацию изменений, внесенных в модель изделия. Прикладное утверждение — см. 4.3.11.

4.2.15.3 Данные realization_of

Данные realization_of определяют объект Change_plan (см. 4.2.14), для которого вносится изменение модели изделия. Прикладное утверждение — см. 4.3.13.

4.2.16 Прикладной объект Change_request

Прикладной объект Change_request является типом прикладного объекта Change_definition (см. 4.2.12), представляющего первый этап объекта Change (см. 4.2.11), когда устанавливается необходимость объекта Change и возможные варианты решений.

С объектом Change_request связаны следующие данные:

- addressee;

- initiator;

- problem;

- solution_alternatives;

- solution_description.

4.2.16.1 Данные addressee

Данные addressee определяют лицо или лицо и организацию, которым адресован запрос. Для конкретного Change_request данные вида addressee могут быть не заданы.

4.2.16.2 Данные initiator

Данные initiator определяют лицо или лицо и организацию, от которых поступает запрос.

4.2.16.3 Данные problem

Данные problem задают текстовое определение проблемы, которая спровоцировала запрос.

4.2.16.4 Данные solution_alternatives

Данные solution_alternatives определяют альтернативные решения, предлагаемые для решения проблемы. Решение описывается в части влияния на объекты Versionable_object (см. 4.2.121). Прикладное утверждение — см. 4.3.14.

4.2.16.5 Данные solution_description

Данные solution_description задают текстовое описание одного или нескольких возможных решений проблемы. Для конкурентного Change_request данные solution_description могут быть не заданы.

Примечание — Это текстовое описание должно присутствовать, если еще не установлены данные вида solution_alternatives, или может расширять информацию, предоставляемую данными вида solution_alternatives.

4.2.17 Прикладной объект Check

Прикладной объект Check является типом прикладного объекта Event (см. 4.2.33), которое определяет запланированное или выполненное организацией утверждение для прикладного объекта Change_ plan (см. 4.2.14) или объекта Change_realization (см. 4.2.15).

4.2.18 Прикладной объект Class_and_statutory_designation

Прикладной объект Class_and_statutory_designation является типом прикладного объекта General_ characteristics_definition (см. 4.2.40), который задает определение, присвоенное прикладному объекту Ship (см. 4.2.88) классификационным обществом в целях одобрения проектирования, изготовления и в процессе эксплуатации.

С объектом Class_and_statutory_designation связаны следующие данные:

- class_number;

- Iocal_units;

- the_class;

- the_statutory.

4.2.18.1 Данные class_number

Данные class_number определяют отдельный идентификатор классификационного общества для судна.

4.2.18.2 Данные local_units

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

25

ГОСТ Р ИСО 10303-216—2023

Derived_unit (см. 4.2.24) или Named_unit (см. 4.2.70). Для конкретного Class and statutory designation данные вида local_units могут быть не заданы. В одном объекте Class_and_statutory_designation может быть задано несколько данных local_units. Прикладные утверждения — см. 4.3.17 и 4.3.16.

4.2.18.3 Данные the_class

Данные the_class определяют применимый объект Class_notation (см. 4.2.19) с информацией о типе судна и груза. Прикладное утверждение — см. 4.3.15.

4.2.18.4 Данные the_statutory

Данные the_statutory определяют набор национальных и международных нормативов и стандартов, которым должно соответствовать судно. Прикладное утверждение — см. 4.3.18.

4.2.19 Прикладной объект Class_notation

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

С объектом Class_notation связаны следующие данные:

- approval_required_for_heavy_cargo;

- approval_required_for_oil_cargo;

- approval_required_loading_unloading_aground;

- approval_required_loading_unloading_grabs;

- class_notations_hull;

- class_notations_machinery;

- class_society;

- ice_class_notation;

- service_area;

- service_factor.

4.2.19.1 Данные approval_required_for_heavy_cargo

Данные approval_required_for_heavy_cargo определяют, необходимо ли одобрение специального упрочнения для тяжелых грузов. Эти нотации относятся к судам для перевозки бестарных грузов и определяют распределение нагрузок в грузовых трюмах. Для конкретного Class_notation данные вида approval_required_for_heavy_car-go могут быть не указаны.

Значение данных approval_required_for_heavy_cargo должно быть одним из следующих:

- НС;

- НС_Е;

- НС_ЕА.

Примечание — Определение всех допустимых значений для данных approval_required_for_heavy_cargo дано в 4.2.19.1.1—4.2.19.1.3.

4.2.19.1.1 НС

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

4.2.19.1.2 НС_Е

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

Пример — Использование НС_Е: пустые трюмы 2, 3, 5.

4.2.19.1.3 НС_ЕА

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

Пример — Использование НСЕА: пустые трюмы 2, 3, 5 или пустые трюмы 1—6.

4.2.19.2 Данные approval_required_for_oil_cargo

Данные approval_required_for_oil_cargo определяют, требуется ли одобрение для перевозки нефтегрузов.

4.2.19.3 Данные approval required loading unloading aground

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

26

ГОСТ Р ИСО 10303-216—2023

4.2.19.4 Данные approval required loading unloading grabs

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

4.2.19.5 Данные class_notations_hull

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

4.2.19.6 Данные class_notations_machinery

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

4.2.19.7 Данные class_society

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

4.2.19.8 Данные ice_class_notation

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

4.2.19.9 Данные service_area

Данные service_area определяют район или маршрут эксплуатации судна.

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

4.2.19.10 Данные service_factor

Данные service_factor определяют район эксплуатации судна, а также волнение, возникающее в этом районе. Значение данных service_factor должно быть в диапазоне от 0,5 до 1,0. Для конкретного Class_notation данные вида service_factor могут быть не заданы.

4.2.20 Прикладной объект Class_parameters

Прикладной объект Class_parameters является типом прикладного объекта General_characteristics_ definition (см. 4.2.40), который определяет длину и скорость судна в соответствии с правилами классификационного общества и нормативным регулированием.

С объектом Class_parameters связаны следующие данные:

- block coefficient class;

- design_speed_ahead;

- design_speed_astern;

- Iength_class;

- Iength_solas;

- scantlings_draught.

4.2.20.1 Данные block_coefficient_class

Данные block_coefficient_class определяют отношение теоретического объемного водоизмещения к объему блока длиной, равной значению данных length_class, шириной, равной значению данных moulded_breadth, и высотой, равной значению данных scantlings_draught.

4.2.20.2 Данные design_speed_ahead

Данные design_speed_ahead определяют скорость хода вперед, на которую судно спроектировано для эксплуатации.

4.2.20.3 Данные design_speed_astern

Данные design_speed_astern определяют скорость хода назад, на которую судно спроектировано для эксплуатации.

4.2.20.4 Данные length_class

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

4.2.20.5 Данные length_solas

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

27

ГОСТ Р ИСО 10303-216—2023

4.2.20.6 Данные scantlings_draught

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

4.2.21 Прикладной объект Deck_moulded_form_design_parameter

Прикладной объект Deck_moulded_form_design_parameter является типом прикладного объекта Moulded form characteristics definition (см. 4.2.63), который определяет главный параметр палубы.

С объектом Deck_moulded_form_design_parameter связаны следующие данные:

- camber;

- defined for;

- sheer_at_AP;

- sheer_at_FP.

4.2.21.1 Данные camber

Данные camber определяют совокупность геометрических характеристик поперечного сечения палубы в плоскости, параллельной мидель-шпангоуту.

4.2.21.2 Данные defined_for

Данные defined_for определяют прикладной объект Moulded_form (см. 4.2.61), для которого определяется прикладной объект Deck_moulded_form_design_parameter. Прикладное утверждение — см. 4.3.19.

4.2.21.3 Данные sheer_at_AP

Данные sheer_at_AP определяют продольную кривизну палубы в кормовой половине судна. Измеряют по ДП корпуса как разницу между высотой палубы по мидель-шпангоуту и высотой палубы по кормовому перпендикуляру.

4.2.21.4 Данные sheer_at_FP

Данные sheer_at_FP определяют продольную кривизну палубы в носовой половине корпуса судна. Измеряют по ДП корпуса как разницу между высотой палубы по мидель-шпангоуту и высотой палубы по носовому перпендикуляру.

4.2.22 Прикладной объект Definable_object

Прикладной объект Definable_object описывает изделие любого типа, которое может быть описано основными характеристиками. Значением прикладного объекта Definable_object может быть либо Item (см. 4.2.52), ltem_relationship (см. 4.2.53) либо ltem_structure (см. 4.2.54).

С объектом Definable_object связаны следующие данные: id.

4.2.22.1 Данные id

Данные id определяют глобальный уникальный идентификатор для прикладного объекта Definable_object. Прикладное утверждение — см. 4.3.20.

4.2.23 Прикладной объект Definition

Прикладной объект Definition является типом прикладного объекта Versionable_object (см. 4.2.121), являющимся основой для всех типов объектов Definable_object (см. 4.2.22). Значением прикладного объекта Definition будет либо Design_definition (см. 4.2.25), Functional_definition (см. 4.2.39), General_charac-teristics_definition (см. 4.2.40), Moulded_form_characteristics_definition (см. 4.2.64), Change_definition (см. 4.2.12), Spacing_table (см. 4.2.102), либо Local_co_ordinate_system (см. 4.2.56). Эти определения поддерживают следующие судостроительные концепции: проектирование, функция, изготовление, общие характеристики судна, проектные требования, а также параметрические и библиотечные описания объектов.

С прикладным объектом Definition связаны следующие данные:

- defined_for;

- id;

- Iocal_units.

4.2.23.1 Данные defined_for

Данные defined_for определяют объекты Definable_object (см. 4.2.22), которые определяются прикладным объектом Definition. Прикладное утверждение — см. 4.3.21.

4.2.23.2 Данные id

Данные id определяют глобальный уникальный идентификатор для определения. Прикладное утверждение — см. 4.3.23.

4.2.23.3 Данные local_units

Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значением данных local_units может быть Derived_unit (см. 4.2.24) 28

ГОСТ Р ИСО 10303-216—2023

или Named_unit (см. 4.2.70). Для конкретного Definition данные вида local_units могут быть не заданы. В одном объекте Definition может быть задано несколько данных local_units. Прикладные условия — см. 4.3.22 и 4.3.24.

4.2.24 Прикладной объект Derived_unit

Прикладной объект Derived_unit является единицей измерения, состоящей из элементов, являющихся предопределенными объектами Named_unit (см. 4.2.70) с экспонентами.

4.2.25 Прикладной объект Design_definition

Прикладной объект Design_definition является типом прикладного объекта Definition (см. 4.2.23), являющимся основой для всех типов проектных определений. Отличие прикладного объекта Design_ definition от прикладного объекта Definition заключается в способности делать ссылки на представления. Значением прикладного объекта Design_definition будет либо Moulded_form_design_definition (см. 4.2.64), Hydrostatic definition (см. 4.2.45), либо Stability_definition (см. 4.2.103).

С объектом Design_definition связаны следующие данные: representations.

4.2.25.1 Данные representations

Данные representations определяют представления проектного определения. Для конкретного Design_definition данные вида representations могут быть не заданы. В одном объекте Design_definition может быть задано несколько данных representations.

Пример — Прикладной объект Design_definition может иметь несколько представлений формы, например каркас или поверхность.

4.2.26 Прикладной объект Displacement_operation

Прикладной объект Displacement_operation представляет собой расчет для изменения водоизмещения объекта Ship_moulded_form (см. 4.2.93). Это изменение описывается путем добавления или вычитания прикладного объекта Moulded form (см. 4.2.61). Значением прикладного объекта Displacement operation может быть Addition_of_moulded_form (см. 4.2.1) или Subtraction_of_moulded_form (см. 4.2.108).

С объектом Displacement_operation связаны следующие данные:

- displacement of moulded form to add or subtract.

4.2.26.1 Данные displacement_of_moulded_form_to_add_or_subtract

Данные displacement_of_moulded_form_to_add_or_subtract определяют прикладной объект Mould-ed form (см. 4.2.61), который либо добавляется к объекту, либо вычитается из объекта Ship_moulded_ form (см. 4.2.93). Значение водоизмещения прикладного объекта Moulded_form можно найти в характеристиках конкретного теоретического обвода. Прикладное утверждение — см. 4.3.25.

4.2.27 Прикладной объект Document

Прикладной объект Document является типом объекта Versionable_object (см. 4.2.121), который представляет однозначную идентификацию некоего удобного для восприятия человеком информационного элемента, определенного не в ИСО 10303. У документа есть автор, наименование и могут быть версии.

С объектом Document связаны следующие данные:

- author;

- source_type;

- summary;

- title.

4.2.27.1 Данные author

Данные author определяют лицо, организацию или лицо и организацию, являющуюся автором прикладного объекта Document.

4.2.27.2 Данные source_type

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

Пример — К электронным документам относятся форматы PDF, Word, WordPerfect, Text и др.

4.2.27.3 Данные description

Данные description определяют текстовое описание содержания документа. Для конкретного Document данные вида description могут быть не заданы.

4.2.27.4 Данные title

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

4.2.28 Прикладной объект Document portion

Прикладной объект Documentportion является спецификацией определенного поднабора или части объекта Document (см. 4.2.27) в обобщенных терминах.

29

ГОСТ Р ИСО 10303-216—2023

Пример — Подразделом отчета может быть диапазон страниц, определенный их номерами.

С объектом Document_portion связаны следующие данные:

- element type;

- element_value;

- source.

4.2.28.1 Данные element type

Данные The element_type определяют имя для данной подгруппы прикладного объекта Document (см. 4.2.27).

Пример — К типам элементов относятся: страница, номера, номера разделов или наименование раздела.

4.2.28.2 Данные element_value

Данные element_value определяют значение для данной подгруппы объекта Document (см. 4.2.27).

Пример — Возможные значения данных вида element_values: номера страниц = «1-10, 15», номера разделов = «3.2.4», наименование раздела = «Введение».

4.2.28.3 Данные source

Данные source определяют прикладной объект Document (см. 4.2.27), к которому относится определенная подгруппа. Прикладное утверждение — см. 4.3.26.

4.2.29 Прикладной объект Document_reference

Прикладной объект Document_reference является спецификацией прикладного объекта Document (см. 4.2.27) в части его источника или местонахождения. Значением объекта Document_reference может быть объект Document_reference_with_address (см. 4.2.30).

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

С прикладным объектом Document_reference связаны следующие данные:

- assigned_document.

4.2.29.1 Данные assigned_document

Данные assigned_document определяют прикладной объект Document (см. 4.2.27) или Document_ portion (см. 4.2.28), который должен быть связан с данными изделия. Прикладные утверждения — см. 4.3.27 и 4.3.28.

4.2.30 Прикладной объект Document_reference_with_address

Прикладной объект Document_reference_with_address является типом прикладного объекта Document_reference (см. 4.2.29) и прикладного объекта Extern a preference (см. 4.2.35), который определяет указатель местоположения внутри источника.

4.2.31 Прикладной объект Edge_based_wireframe_shape

Прикладной объект Edge_based_wireframe_shape является представлением формы, соответствующим ИСО 10303-501.

4.2.32 Прикладной объект Envisaged_version_creation

Прикладной объект Envisaged_version_creation является типом объекта Versionable_object_change_ event (см. 4.2.122), являющимся событием, ведущим к новому прикладному объекту Versionable_object (см. 4.2.121). Под событием понимается событие, которое еще не произошло. Прикладные объекты Definition (см. 4.2.23), ltem_structure (см. 4.2.54) или ltem_relationship (см. 4.2.53) как предметы события еще не существуют и описываются в части описательных, неформальных свойств.

С объектом Envisaged_version_creation связаны следующие данные:

- base;

- category.

4.2.32.1 Данные base

Данные base определяют объекты Versionable_object (см. 4.2.120), из которых получается предусмотренная новая версия. Прикладное утверждение — см. 4.3.29.

4.2.32.2 Данные category

Данные category определяют классификацию, к которой принадлежит предусмотренное определение.

4.2.33 Прикладной объект Event

Прикладной объект Event указывает на то, что что-то произошло в определенное время, в результате действия определенного лица или определенной организации по определенной причине.

30

ГОСТ Р ИСО 10303-216—2023

У объекта Event может быть одно из следующих значений: Check (см. 4.2.17), Versionable_object_ change_event (см. 4.2.122) или Approval_event (см. 4.2.4).

С объектом Event связаны следующие данные:

- caused_by;

- caused_when;

- description.

4.2.33.1 Данные caused_by

Данные caused_by определяют лицо или организацию, создающую объект Event.

4.2.33.2 Данные caused_when

Данные caused_when определяют дату и время, когда возник объект Event.

4.2.33.3 Данные description

Данные description определяют дополнительную текстовую информацию для объекта Event.

4.2.34 Прикладной объект External_instance_reference

Прикладной объект External_instance_reference является экземпляром объекта, который не существует в этой области применения.

С объектом External_instance_reference связаны следующие данные:

- entity_type;

- schema_name;

- target_GUID.

4.2.34.1 Данные entity_type

Данные entity_type определяют наименование типа экземпляра, на который приведена внешняя ссылка.

4.2.34.2 Данные schema_name

Данные schema_name определяют схему, в которой определен экземпляр, на который приведена внешняя ссылка.

4.2.34.3 Данные target_GUID

Данные target_GUID определяют глобальный унифицированный идентификатор экземпляра, на который приведена внешняя ссылка. Прикладное утверждение — см. 4.3.30.

4.2.35 Прикладной объект External_reference

Прикладной объект External_reference является абстрактным указанием источника данных, внешнего к набору данных, в котором существует экземпляр данного объекта. Значением прикладного объекта External_reference может быть Document_reference_with_address (см. 4.2.30).

Пример — Такой источник данных указывает прикладной объект Universal_resource_locator (см. 4.2.114).

С объектом External_reference связаны следующие данные:

- description;

- location.

4.2.35.1 Данные description

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

4.2.35.2 Данные location

Данные location определяют местонахождение внешней ссылки. В случае прикладного объекта Universal_resource_locator (см. 4.2.115) местонахождением является компьютер, к которому есть доступ с помощью заданного протокола связи. Прикладные утверждения — см. 4.3.31 и 4.3.32.

4.2.36 Прикладной протокол External_storage

Прикладной протокол External_storage указывает местоположение физических документов или деталей, являющихся внешними к текущему обмену данными. Этот объект может быть актуальным при определении местоположения компакт-дисков (CD_ROM), дискет или видеопленок.

Пример — В качестве прикладного объекта External_storage могут служить публичная библиотека или архив компании.

С объектом External_storage связаны следующие данные: location.

4.2.36.1 Данные location

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

31

ГОСТ Р ИСО 10303-216—2023

4.2.37 Прикладной объект Floating_position

Прикладной объект Floating_position указывает осадку и пространственное положение судна при погружении и соответствующее объемное водоизмещение.

С объектом Floating_position связаны следующие данные:

- angle_of_heel;

- angle of trim;

- breadth_of_waterline;

- draught_at_amidships;

- Iength_of_waterline;

- moulded_form_displacement.

4.2.37.1 Данные angle_of_heel

Данные angle_of_heel определяют угол вращения судна по оси X, измеряемый в радианах, который измеряется по линии, параллельной глобальной оси У и ватерлинии. Значение данных angle_ of heel равно нулю, если ДП будет перпендикулярна ватерлинии. Значения данных angle_of_heel has будут положительными при движении правого борта судна вниз.

4.2.37.2 Данные angle_of_trim

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

4.2.37.3 Данные breadth_of_waterline

Данные breadth_of_waterline определяют ширину действующей ватерлинии.

4.2.37.4 Данные draught_at_amidships

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

4.2.37.5 Данные length_of_waterline

Данные length_of_waterline определяют длину действующей ватерлинии.

4.2.37.6 Данные moulded_form_displacement

Данные moulded_form_displacement определяют водоизмещение судна по действующей ватерлинии (wetted displacement of the ship).

4.2.38 Прикладной объект Frame_table

Прикладной объект Frame_table является типом объекта Longitudinal table (см. 4.2.59), у которого имеются позиции, которые задают размещение шпангоутов, расположенные на глобальной оси X.

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

4.2.39 Прикладной объект Functional definition

Прикладной объект Functional definition является типом прикладного объекта Definition (см. 4.2.23), являющегося основанием для всех видов данных об эксплуатационных качествах изделия. Обеспечивает возможность определения роли или назначения объекта Definition. Значение каждого прикладного объекта Functional_definition будет либо Moulded form functional definition (см. 4.2.65), либо Ship_type (см. 4.2.98).

С объектом Functional_definition связаны следующие данные:

- local units;

- user_def_function.

4.2.39.1 Данные local_units

Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значением каждых данных local_units может быть Derived_unit (см. 4.2.24) или Named_unit (см. 4.2.70). Для конкретного Functional_definition данные вида local_units могут быть не заданы. В одном объекте Functional_definition может быть задано несколько данных local_units. Прикладные условия — см. 4.3.33 и 4.3.34.

4.2.39.2 Данные user_def_function

Данные user_def_function задают опеделенную пользователем роль или назначение объекта Functional definition. Для конкретного Functional_definition данные вида user_def_function могут быть не заданы.

32

ГОСТ Р ИСО 10303-216—2023

4.2.40 Прикладной объект General_characteristics_definition

Прикладной объект General_characteristics_definition является типом объекта Definition (см. 4.2.23), который обеспечивает основную часть документации судна. К нему относятся главные размеры и объемы по контракту объекта Ship (см. 4.2.88). Значение каждого объекта General_characteristics_definition будет либо Class and statutory designation (см. 4.2.18), Owner_designation (см. 4.2.75), Ship_designation (см. 4.2.92), Shipyard_designation (см. 4.2.99), Ship_overall_dimensions (см. 4.2.95), Principalcharacteristics (см. 4.2.78), Class_parameters (см. 4.2.20), либо Global_axis_placement (см. 4.2.41).

С объектом General_characteristics_definition связаны следующие данные:

- defined_for.

4.2.40.1 Данные defined_for

Данные defined_for определяют объект Ship (см. 4.2.88), к которому применяется прикладной объект General_characteristics_definition. В одном объекте Ship может быть задано несколько данных вида defined_for. Прикладное утверждение — см. 4.3.35.

4.2.41 Прикладной объект Global_axis_placement

Прикладной объект Global_axis_placement является типом объекта General_characteristics_definition (см. 4.2.40), который определяет неподвижную систему правосторонних ортогональных осей, к которой относятся геометрические данные. Прикладной объект Global axis placement должен иметь положительную ось Z в направлении вверх, начиная с основания судна, и положительную ось X, идущую вдоль судна на пересечении ДП с основанием. В одном случае она направлена от кормовой части судна к носовой, а в другом — от носовой части к кормовой. Исходной точкой объекта Global_axis_placement может быть любая точка на оси X. Должна быть указана длина кормового перпендикуляра от начала координат и ориентация оси X. При использовании какой-либо другой системы координат, локальной или глобальной, должны быть указаны отношения преобразования между этой системой и прикладным объектом Global_axis_placement.

Пример — Гповальная ось судна показана на рисунке 10.

Рисунок 10 — Размещения глобальных осей

С объектом Global_axis_placement связаны следующие данные:

- after_perpendicular_offset;

- orientation.

4.2.41.1 Данные after perpendicular offset

Данные after_perpendicular_offset определяют расстояние от начала отсчета прикладного объекта Global_axis_placement до кормового перпендикуляра.

4.2.41.2 Данные orientation

Данные orientation определяют направления оси X.

Значение данных orientation должно быть одним из следующих:

- aft_pointing;

- forward_pointing.

Примечание — Определение всех допустимых значений данных вида orientation дано в 4.2.42.2.1, 4.2.42.2.2.

33

ГОСТ Р ИСО 10303-216—2023

4.2.41.2.1 aft_pointing

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

4.2.41.2.2 forward_pointing

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

4.2.42 Прикладной объект Global_id

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

С объектом Global_id связаны следующие данные: id.

4.2.42.1 Данные id

Данные id определяют уникальный постоянный идентификатор, формируемый компанией, которая создает данные об изделии.

4.2.43 Прикладной объект Hull_applicability

Прикладной объект Hull_applicability представляет собой идентификацию корпуса судна или диапазон корпусов в классе судов, для которого применяются конкретные данные об изделии.

С объектом Hull_applicability связаны следующие данные:

- definitions_for_hulls;

- end_hull;

- items_for_hulls;

- start hull.

4.2.43.1 Данные efinitions_for_hulls

Данные definitions_for_hulls определяют объекты Definition (см. 4.2.23), применяемые к диапазону корпусов, заданных в данных видов start_hull и end_hull. Прикладное утверждение — см. 4.3.36.

4.2.43.2 Данные end_hull

Данные end_hull определяют конечный корпус в диапазоне корпусов, к которому применяются данные изделия. Для конкретного Hull_applicability данные вида end_hull могут быть не заданы. Если данные the end_hull не заданы, данные изделия будут применяться только к данным start hull.

4.2.43.3 Данные items_for_hulls

Данные items_for_hulls определяют объекты Item (см. 4.2.52), применяемые к диапазону корпусов, заданных в данных видов start_hull и end_hull. Прикладное утверждение — см. 4.3.37.

4.2.43.4 Данные start_hull

Данные start_hull определяют первый корпус в диапазоне корпусов, к которому применяются данные изделия.

4.2.44 Прикладной объект Hull_moulded_form_design_parameter

Прикладной объект Hull_moulded_form_design_parameter является типом прикладного объекта Moulded_form_characteristics_definition (см. 4.2.63), который содержит размеры и отношения корпуса судна.

Пример — Размеры корпуса судна показаны на рисунке 43.

С прикладным объектом Hull_moulded_form_design_parameter связаны следующие данные:

- aft_end_of_flat_of_side;

- aft_end_of_parallel_midbody_at_design_draught;

- block coefficient;

- front_end_of_flat_of_side;

- front_end_of_parallel_midbody_at_design_draught;

- gunwale_radius;

- hull_breadth;

- hull_depth;

- hull_design_draught;

- hull_length_pp;

- hull_length_waterline;

- Iength_of_flat_of_side;

- Iength_of_parallel_midbody_at_design_draught;

- Iength_to_beam_ratio;

- max_frame_section_area_location;

- max_wetted_frame_section_area;

34

ГОСТ Р ИСО 10303-216—2023

- midship_tumble_data;

- prismatic_coefficient;

- waterline_angle_of_entrance_at_bow;

- wate г I i n e_a ng I e_of_e ntra n ce_at_ste rn;

- waterplane_coefficient.

4.2.44.1 Данные aft_end_of_flat_of_side

Данные aft_end_of_flat_of_side определяют продольное расстояние от кормового перпендикуляра до кормовой оконечности плоскости борта, где корпус судна имеет вертикальную форму.

4.2.44.2 Данные aft_end_of_parallel_midbody_at_design_draught

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

4.2.44.3 Данные block_coefficient

Данные block_coefficient определяют отношение объемного водоизмещения по теоретическому чертежу к объему блока, длина которого равна значению данных length_between_perpendiculars, ширина равна наибольшему значению данных moulded_breadth подводной части, а глубина равна значению данных design_draught.

4.2.44.4 Данные front_end_of_flat_of_side

Данные front_end_of_flat_of_side определяют продольное расстояние от кормового перпендикуляра до носовой оконечности плоскости борта, где корпус судна имеет вертикальную форму.

4.2.44.5 Данные front_end_of_parallel_midbody_at_design_draught

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

4.2.44.6 Данные gunwale_radius

Данные gunwale_radius определяют радиус дуги, соединяющей борт корпуса с верхней палубой. Измеряют по мидель-шпангоуту. Для конкретного Hull_moul-ded_form_design_parameter данные вида gunwale_radius могут быть не заданы.

4.2.44.7 Данные hull_breadth

Данные hull breadth определяют наибольшую ширину отдельного корпуса судна по мидель-шпангоуту и значению design_draught. Для конкретного Hull_moul-ded_form_design_parameter данные вида hull_breadth могут быть не заданы.

Примечание — Для конкретного Hull_moulded_form_design_parameter данные вида hull_breadth могут быть не заданы для нормальных форм, где значение данных hull_breadth будет идентично значению данных moulded_breadth в прикладном объекте Principal_charac-teristics (см. 4.2.78). Этот параметр необходим только для специальных судов, например многокорпусные суда с разными корпусами и разными ширинами корпусов.

4.2.44.8 Данные hull_depth

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

Примечание —Для конкретного Hull_moulded_form_design_parameter данные вида hull_depth могут быть не заданы для нормальных форм, где значение данных hull_depth будет идентично значению данных вида moulded_depth в прикладном объекте Principal_characteristics (см. 4.2.78). Этот параметр необходим только для специальных судов, например многокорпусные суда с разными корпусами и разными значениями hull_depths.

4.2.44.9 Данные hull_design_draught

Данные hull_design_draught определяют осадку, на которую спроектирован корпус судна.

Примечание — Для конкретного Hull_moulded_form_design_parameter данные вида hull_design_draught могут быть не заданы для нормальных форм, где значение данных hull_design_draught будет идентично значению данных вида design_draught в прикладном объекте Principal_characteristics (см. 4.2.78). Этот параметр необходим только для специальных судов, например многокорпусные суда с разными корпусами и разными значениями hull_design_draughts.

4.2.44.10 Данные hull_length_pp

Данные hull_length_pp определяют длину, измеряемую от кормового перпендикуляра до носового перпендикуляра отдельного корпуса судна. Для конкретного Hull_moulded_form_design_parameter данные вида hull_length_pp могут быть не заданы.

35

ГОСТ Р ИСО 10303-216—2023

Примечание — Для конкретного Hull_moulded_form_design_parameter данные вида могут быть не заданы для нормальных форм, где значение данных hull_length_pp будет идентично значению данных length_between_perpen-diculars в прикладном объекте Principal_characteristics (см. 4.2.78). Этот параметр необходим только для специальных судов, например многокорпусные суда с разными корпусами и разными значениями данных вида hull_length_pps.

4.2.44.11 Данные hull_length_waterline

Данные hull_length_waterline определяют габаритную длину корпуса, измеряемую по продольной оси корпуса при значении данных design_draught waterline. Для конкретного Hull_moulded_form_design_ parameter данные вида hull_length_waterline могут быть не заданы.

4.2.44.12 Данные length_of_flat_of_side

Данные length_of_flat_of_side определяют длину прямостенной части борта, где корпус судна имеет вертикальную форму.

4.2.44.13 Данные length_of_parallel_midbody_at_design_draught

Данные length_of_parallel_midbody_at_design_draught определяют длину цилиндрической вставки судна.

4.2.44.14 Данные length_to_beam_ratio

Данные length_to_beam_ratio определяют отношение длины корпуса по ширине осадки судна по конструктивной ватерлинии.

4.2.44.15 Данные max_frame_section_area_location

Данные max_frame_section_area_location определяют продольное расстояние сечения шпангоута с наибольшей площадью подводной части при расчетной осадке от кормового перпендикуляра.

Для конкретного Hull_moulded_form_design_parameter данные max_frame_section_area_location могут быть не заданы.

Примечание — У большинства судов с параллельной средней частью значение данных max_frame_ section_area_location будет на мидель-шпангоуте на половине длины между перпендикулярами.

4.2.44.16 Данные max_wetted_frame_section_area

Данные max_wetted_frame_section_area определяют максимальную смоченную площадь сечения шпангоута при расчетной осадке.

Примечание — Для судовых корпусов нормальной формы это будет плоскость мидель-шпангоута. Для особых форм, например парусных яхт, значение данных max_wetted_frame_section_area может быть равно сечению, находящемуся на 1/3 длины судна от кормы.

4.2.44.17 Данные midship_tumble_data

Данные midship_tumble_data определяют специальный расчетный параметр, используемый для определения плоскости мидель-шпангоута. Для конкретного Hull_moulded_form_design_parameter данные вида midship_tumble_data могут быть не заданы. Прикладное утверждение — см. 4.3.38.

4.2.44.18 Данные prismatic_coefficient

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

4.2.44.19 Данные waterline_angle_of_entrance_at_bow

Данные waterline_angle_of_entrance_at_bow определяют угол входа ватерлинии в носовой оконечности судна. Для конкретного Hull_moulded_form_design_parameter данные вида waterline_angle_of_ entrance_at_bow могут быть не заданы.

4.2.44.20 Данные waterline_angle_of_entrance_at_stern

Данные waterline_angle_of_entrance_at_stern определяют угол схода ватерлинии в кормовой оконечности судна. Для конкретного Hull_moulded_form_design_parameter данные вида waterline_angle_of_ entrance_at_stern могут быть не заданы.

4.2.44.21 Данные waterplane_coefficient

Данные waterplane_coefficient определяют отношение площади конструктивной ватерлинии судна к площади прямоугольника с длиной, равной длине между перпендикулярами, и шириной, равной теоретической ширине при конструктивной осадке.

4.2.45 Прикладной объект Hydrostatic_definition

Прикладной объект Hydrostatic_definition является типом прикладного объекта Design_definition (см. 4.2.25), который описывает взаимосвязь между прикладным объектом Ship_moulded_form (см. 4.2.93), набором изменений водоизмещения этого прикладного объекта Ship_moulded_form и разными объектами Hydrostatic_table (см. 4.2.51). Эти изменения могут быть вызваны различными сочетаниями приемных патрубков и выступающих частей со значениями прикладного объекта Ship_moul-ded_form.

36

ГОСТ Р ИСО 10303-216—2023

С объектом Hydrostatic_definition связаны следующие данные:

- defined_for;

- displacement_changes;

- displacement_changes_description;

- representations.

4.2.45.1 Данные defined_for

Данные defined_for определяют объект Ship (см. 4.2.88), для которого определен прикладной объект Hydrostatic_definition. Прикладное утверждение — см. 4.3.41.

4.2.45.2 Данные displacement_changes

Данные displacement_changes определяют перечень объектов Displacement_operation (см. 4.2.26), в которых описываются сложения или вычитания из значения объекта Ship_moulded_form (см. 4.2.93) из-за сочетаний приемных патрубков и выступающих частей. В одном объекте Hydrostatic_definition может быть задано несколько данных вида displacement_changes. Прикладное утверждение — см. 4.3.39.

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

4.2.45.3 Данные displacement_changes_description

Данные description определяют текстовое описание изменения водоизмещения. Для конкретного Hydrostatic_definition данные вида displacement_changes_description могут быть не заданы.

4.2.45.4 Данные representations

Данные representations определяют объекты Hydrostatic_table (см. 4.2.51), которые представляют прикладной объект Hydrostatic_definition. Прикладное утверждение — см. 4.3.40.

4.2.46 Прикладной объект Hydrostatic_position_value

Прикладной объект Hydrostatic_position_value является типом объекта Hydrostatic_property_value (см. 4.2.49), который определяет размещение значения гидростатической характеристики в глобальной системе координат. При необходимости прикладной объект Hydrostatic_property (см. 4.2.48) действует через свой прикладной объект Hydrostatic_position_value.

С объектом Hydrostatic_position_value связаны следующие данные: position.

4.2.46.1 Данные position

Данные position определяют размещение в глобальной системе координат, через которую действует объект Hydrostatic_property (см. 4.2.48). Прикладное утверждение — см. 4.3.42.

4.2.47 Прикладной объект Hydrostatic_properties_for_constant_floating_positjon

Прикладной объект Hydrostatic_properties_for_constant_floating_position относится к гидростатическим характеристикам для одного отдельного прикладного объекта Floating_position (см. 4.2.37).

С объектом Hydrostatic properties for constant floating position связаны следующие данные:

- definition_of_floating_position;

- hydrostatic_property_values;

- related_hydrostatic_table.

4.2.47.1 Данные definition_of_floating_position

Данные definition_of_floating_position определяют прикладной объект Floating_position (см. 4.2.37), для которого действительны объекты Hydrostatic_property_value (см. 4.2.49). Прикладное утверждение — см. 4.3.43.

4.2.47.2 Данные hydrostatic_property_values

Данные hydro static_property_values определяют гидростатические характеристики судна для отдельного объекта Floating_position (см. 4.2.37). Прикладное утверждение — см. 4.3.44.

4.2.47.3 Данные related_hydrostatic_table

Данные related hydrostatic table определяют набор объектов прикладного объекта Hydrostatic_ table (см. 4.2.51), с которыми связан прикладной объект Hydrostatic_properties_for_constant_floating_ position. Прикладное утверждение — см. 4.3.46.

Примечание — Соответствующий атрибут данных вида related_hydrostatic_table attribute является обратным элементом атрибута для объекта Hydrostatic table.

4.2.48 Прикладной объект Hydrostatic_property

Прикладной объект Hydrostatic_property является гидростатическим параметром, используемым для описания гидростатической характеристики судна. Все гидростатические характеристики зависят от объекта Floating_position (см. 4.2.37) судна.

37

ГОСТ Р ИСО 10303-216—2023

С объектом Hydrostatic_property связаны следующие данные:

- property_type;

- property_unit.

4.2.48.1 Данные property_type

Данные property_type определяют тип необходимого параметра.

Значение данных вида property_type должно быть одним из следующих:

- centre_of_buoyancy;

- centre_of_flotation;

- centre_of_lateral_resistance;

- Iongitudinal_metacentric_height;

- Iongitudinal_second_moment_of_area_of_waterplane;

- mid_ship_section_area;

- moment_for_unit_change_of_trim;

- transverse_metacentric_height;

- transverse_second_moment_of_area_of_waterplane;

- waterplane_area;

- wetted_surface_area.

4.2.48.1.1 centre_of_buoyancy

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

Примечание — Параметр центр величины обозначают заглавной буквой В.

4.2.48.1.2 centre_of_flotation

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

4.2.48.1.3 centre_of_lateral_resistance

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

4.2.48.1.4 longitudinal_metacentric_height

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

4.2.48.1.5 longitudinal_second_moment_of_area_of_waterplane

Этот параметр определяет момент инерции площади ватерлинии вокруг поперечной оси.

4.2.48.1.6 mid_ship_section_area

Этот параметр определяет площадь подводной части сечения теоретического обвода корпуса по м ид ел ь-ш па н гоуту.

4.2.48.1.7 moment_for_unit_change_of_trim

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

4.2.48.1.8 transverse_metacentric_height

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

Пример — Центр тяжести судна до поперечного метацентра показан на рисунке 11. Остойчивость формы показана на рисунке 50.

4.2.48.1.9 transverse_second_moment_of_area_of_waterplane

Этот параметр определяет момент инерции площади ватерлинии вокруг продольной оси.

4.2.48.1.10 waterplane_area

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

4.2.48.1.11 wettedsurfacearea

Этот параметр определяет площадь смоченной поверхности судна.

38

ГОСТ Р ИСО 10303-216—2023

Рисунок 11 — Поперечный метацентр

4.2.48.2 Данные property_measure

Данные property measure определяют единицу измерения объекта Hydrostatic_property. Значением данных вида property_measure может быть Centrejocation (см. 4.2.10). Прикладное утверждение — см. 4.3.45.

4.2.49 Прикладной объект Hydrostatic_property_value

Прикладной объект Hydrostatic_property_value является гидростатическим параметром, описывающим гидростатическую характеристику судна. Прикладной объект Hydrostatic_property_value зависит от объекта Floating_position (см. 4.2.37) судна. Значением объекта Hydrostatic_property_value может быть Hydrostatic_position_value (см. 4.2.46) или Hydrostatic_scalar_value (см. 4.2.50).

4.2.50 Прикладной объект Hydrostatic_scalar_value

Прикладной объект Hydrostatic_scalar_value является типом объекта Hydrostatic_property_value (см. 4.2.49), определяющим объект Hydrostatic_property_value, измеряемый значением без направления.

С объектом Hydrostatic_scalar_value связаны следующие данные: - scalar.

4.2.50.1 Данные scalar

Данные вида scalar определяют значение для объекта Hydrostatic_property (см. 4.2.48).

4.2.51 Прикладной объект Hydrostatic_table

Прикладной объект Hydrostatic_table представляет собой гидростатические характеристики и значения для данного объекта Hydrostatic_definition (см. 4.2.45). Прикладной объект Hydrostatic_table состоит из перечня значений объекта Hydrostatic_properties_for_constant_floating_position (см. 4.2.47), где каждая запись охватывает все гидростатические характеристики судна для разных значений объектов Floating_position (см. 4.2.37). Поскольку гидростатические характеристики относятся к экстремальной форме, для создания экстремальной формы из теоретического обвода используют равномерную толщину обшивки.

С объектом Hydrostatic_table связаны следующие данные:

- items;

- mean_shell_thickness;

- name;

- properties_in_the_hydrostatic_table.

4.2.51.1 Данные items

Данные items определяют объект Hydrostatic_properties_for_constant_floating_po-sition (см. 4.2.47), описывающий все гидростатические характеристики судна, для отдельного объекта Floating_position (см. 4.2.37). Прикладное утверждение — см. 4.3.46.

4.2.51.2 Данные mean_shell_thickness

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

Пример — Измерение толщины обшивки показано на рисунке 12.

4.2.51.3 Данные name

Данные name указывают определенное пользователем или системой имя для объекта Hydrostatic_table.

4.2.51.4 Данные properties_in_the_hydrostatic_table

Данные properties_in_the_hydrostatic_table определяют перечень объектов Hydrostatic_property (см. 4.2.48) для прикладного объекта Hydrostatic_table. Прикладное утверждение — см. 4.3.47.

39

ГОСТ Р ИСО 10303-216—2023

Рисунок 12 — Измерение толщины обшивки

4.2.52 Прикладной объект Item

Прикладной объект Item является типом объекта Definable_object (см. 4.2.22), являющимся дискретным идентифицируемым объектом, который используется в одной или нескольких работах по проектированию, производству или эксплуатации. Прикладной объект Item представляет собой нечто, создаваемое в результате физической или умственной работы или (автоматически) получаемое из одного или нескольких других объектов Items. Прикладной объект Item может не представлять физический реальный объект; он также может представлять некую абстрактную концепцию. Прикладной объект Item обеспечивает функциональность для обеспечения наличия взаимосвязей с другими прикладными объектами Items и для существования в виде элемента в прикладном объекте ltem_structure (см. 4.2.54). Значением каждого объекта Item будет Change (см. 4.2.11), Ship (см. 4.2.88), Ship_moulded_ form (см. 4.2.93) или Moulded_form (см. 4.2.61).

С объектом Item связаны следующие данные:

- description;

- documentation;

- name;

- ship_context.

4.2.52.1 Данные description

Данные description определяют текстовую характеристику объекта Item. Для конкретного Item данные вида description могут быть не заданы.

4.2.52.2 Данные documentation

Данные documentation определяют ссылки на дополнительные сопроводительные документы, имеющиеся для объекта Item. Прикладное утверждение — см. 4.3.48.

4.2.52.3 Данные name

Данные name определяют удобочитаемую человеком текстовую подпись концепции, представляемой объектом Item.

4.2.52.4 Данные ship_context

Данные ship_context определяют прикладной объект Item, входящий в состав объекта Ship (см. 4.2.88), в части его применимости к объекту Ship. Для конкретного Item данные вида ship_context могут быть не заданы. Прикладное утверждение — см. 4.3.49.

4.2.53 Прикладной объект ltem_relationship

Прикладной объект ltem_relationship является типом объектов Definable_object (см. 4.2.22) и Versionable_object (см. 4.2.121), определяющим связь с двумя объектами Item (см. 4.2.52). Эти связанные объекты Item имеют общую функцию или работу или зависят друг от друга. Значением каждого прикладного объекта ltem_relationship будет прикладной объект Moulded_form_relationship (см. 4.2.66).

40

ГОСТ Р ИСО 10303-216—2023

С объектом ltem_relationship связаны следующие данные:

- external_item_1;

- external_item_2;

- item_1;

- item_2.

4.2.53.1 Данные external_item_1

Данные extemal_item_1 определяют соответствующий объект Item объекта ltem_relationship в случае, когда он является экземпляром объекта Item, на который дана внешняя ссылка. Для конкретного ltem_ relationship данные вида external_item_1 могут быть не заданы. Прикладное утверждение — см. 4.3.50.

4.2.53.2 Данные external_item_2

Данные extern a l_item_2 определяют соответствующий объект Item объекта ltem_relationship в случае, когда он является экземпляром объекта Item, на который дана внешняя ссылка. Для конкретного ltem_ relationship данные вида extern a l_item_2 могут быть не заданы. Прикладное утверждение — см. 4.3.50.

4.2.53.3 Данные item_1

Данные item_1 определяют соответствующий объект Item взаимосвязи в случае, когда он в той же модели экземпляра, что и объект Item. Для конкретного ltem_relationship данные вида item_1 могут быть не заданы. Прикладное утверждение — см. 4.3.51.

4.2.53.4 Данные item_2

Данные item_2 определяют соответствующий объект Item взаимосвязи в случае, когда он в той же модели экземпляра, что и объект Item. Для конкретного ltem_relationship данные вида item_2 могут быть не заданы. Прикладное утверждение — см. 4.3.51.

4.2.54 Прикладной объект Item structure

Прикладной объект ltem_structure является типом объектов Definable_object (см. 4.2.22) и Versionable_object (см. 4.2.121), являющимся собранием объектов Item (см. 4.2.52), возможно, связанных объектами ltem_relationship (см. 4.2.53). Прикладной объект ltem_structure формирует график без каких-либо ограничений относительно количества записей, связи или цикличности. Значением каждого ltem_structure является Ship_moulded_form (см. 4.2.93).

С объектом ltem_structure связаны следующие данные:

- externalJtems;

- external_relationships;

- items;

- relationships.

4.2.54.1 Данные external items

Данные externaljtems определяют объекты Item, внешне принадлежащие прикладному объекту ltem_structure. Прикладное утверждение — см. 4.3.52.

4.2.54.2 Данные external_relationships

Данные extemal_relationships определят взаимосвязи (внешние) между объектами Item (см. 4.2.52), принадлежащими прикладному объекту ltem_structure. Прикладное утверждение — см. 4.3.52.

4.2.54.3 Данные items

Данные items определяют объекты Item, локально принадлежащие прикладному объекту ltem_ structure. Прикладное утверждение — см. 4.3.53.

4.2.54.4 Данные relationships

Данные relationships определяют взаимосвязи (местные) между объектами Item (см. 4.2.52), принадлежащими прикладному объекту ltem_structure. Прикладное утверждение — см. 4.3.54.

4.2.55 Прикладной объект Knot

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

С прикладным объектом Knot связаны следующие данные:

- intersecting_ship_curves;

- tangent_information.

4.2.55.1 Данные intersecting_ship_curves

Данные intersecting_ship_curves определяют ссылку на кривые судна, пересекающиеся в прикладном объекте Knot. Прикладное утверждение — см. 4.3.55.

41

ГОСТ Р ИСО 10303-216—2023

4.2.55.2 Данные tangentjnformation

Данные tangentjnformation определяют направление и величину касательной в прикладном объекте Knot. Для конкретного Knot данные вида tangentjnformation могут быть не заданы.

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

4.2.56 Прикладной объект Local_co_ordinate_system

Прикладной объект Local_co_ordinate_system является типом прикладного объекта Definition (см. 4.2.23), который используют для определения местоположения объекта в пространстве. Прикладной объект Local_co_ordinate_system всегда определяется в части другой системы координат. Это может быть Global_axis_placement (см. 4.2.41) или другой объект Local_co_ordinate_system, являющийся элементом этой же иерархии. Значением каждоого прикладного объекта Local_co_ordinate_system может быть Local_co_ordinate_system_with_position_ reference (см. 4.2.57).

Пример — Локальная система координат показана на рисунке 13.

Примечание 1 — Локальные оси и точка отсчета обрабатываются так же, как для axis2_placement_3d. Axis2_placement_3d является сущностью ресурса STEP, определенного в ИСО 10303-42.

Примечание 2 — Прикладной объект local_co_ordinate system всегда формирует правостороннюю систему.

Рисунок 13 — Локальная система координат

С объектом Local_co_ordinate_system связаны следующие данные: parent.

4.2.56.1 Данные parent

Данные parent определяют лежащую в основе систему координат, которая служит пространством определения для текущей системы координат. Прикладные утверждения — см. 4.3.56 и 4.3.57.

4.2.57 Прикладной объект Local_co_ordinate_system_with_position_reference

Прикладной объект Local_co_ordinate_system_with_position_reference является типом объекта Local_co_ordinate_system (см. 4.2.56), который напрямую ссылается на уникальный объект Global_ axis_placement (см. 4.2.41) в качестве своего прямого предка. Его размещение определяется ссылками на продольный, вертикальный или поперечный набор, возможно, с использованием дополнительного значения ординаты теоретического чертежа (расстояние). Как вариант, могут указываться абсолютные координаты. Также действительны сочетания координат и привязок. Прикладной объект Local_co_ordinate_system_with_position_reference не должен определять вращения как преобразования в глобальную систему в качестве результата, т. е. его оси должны быть параллельны осям объекта Global_axis_placement.

С объектом Local co ordinate system with position reference связаны следующие данные:

- Iongitudinal_ref;

- transversal_ref;

- vertical_ref.

4.2.57.1 Данные longitudinal_ref

Данные longitudinal ref определяют объект Longitudinal_position (см. 4.2.58), возможно со значением ординаты теоретического чертежа, или значение абсолютной координаты, по продольной оси гло-42

ГОСТ Р ИСО 10303-216—2023

бальной системы координат. Для конкретного Local_co_ordinate_system_with_position_reference данные вида longitudinal_ref могут быть не заданы. Прикладное утверждение — см. 4.3.58.

4.2.57.2 Данные transversal_ref

Данные transversal_ref определяют объект Transversal_position (см. 4.2.113), возможно со значением ординаты теоретического чертежа, или значение абсолютной координаты, по поперечной оси глобальной системы координат. Для конкретного Local_co_ordinate_system_with_position_reference данные вида transversal_ref могут быть не заданы. Прикладное утверждение — см. 4.3.58.

4.2.57.3 Данные vertical_ref

Данные vertical_ref определяют объект Vertical_position (см. 4.2.123), возможно со значением ординаты теоретического чертежа, или значением абсолютной координаты, по вертикальной оси глобальной системы координат. Для конкретного Local_co_ordinate_system_with_position_reference данные вида vertical_ref могут быть не заданы. Прикладное утверждение — см. 4.3.58.

4.2.58 Прикладной объект Longitudinal_position

Прикладной объект Longitudinal_position является типом объекта Spacing_position (см. 4.2.100), который находится на глобальной оси X.

4.2.59 Прикладной объект Longitudinal_table

Прикладной объект Longitudinal_table является типом объекта Spacing_table (см. 4.2.102), у которого есть положения, находящиеся по продольной оси (ось X) глобальной системы координат. Значением каждого объекта Longitudinal_table может быть либо Frame table (см 4.2.38), либо Station_table (см. 4.2.107).

С объектом Longitudinal_table связаны следующие данные: spacing table repre-sentations.

4.2.59.1 Данные spacing_table_representations

Данные вида spacing_table_representations определяют продольные положения, входящие в состав объекта Longitudinal_table. Прикладное утверждение — см. 4.3.59.

4.2.60 Прикладной объект Midship_tumble

Прикладной объект Midship_tumble определяет специальный расчетный параметр, используемый для определения плоскости мидель-шпангоута.

Пример — Завал по мидель-шпангоуту показан на рисунке 14.

С объектом Midship_tumble связаны следующие данные:

- tumble_in_at_side;

- tumble_in_at_top;

- tumble_out_at_bottom;

- tumble_out_at_side.

4.2.60.1 Данные tumble_in_at_side

Данные tumble_in_at_side определяют высоту, с которой начинается завал шпангоута (измеряют от ОП).

4.2.60.2 Данные tumble_in_at_top

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

4.2.60.3 Данные tumble_out_at_bottom

Данные tumble_out_at_bottom определяют наклон борта (измеряют на ОП от максимальной полушироты).

4.2.60.4 Данные tumble_out_at_side

Данные tumble out at side определяют высоту, с которой начинается наклон борта (измеряют от ОП).

4.2.61 Прикладной объект Moulded_form

Прикладной объект Moulded_form является типом объекта Item (см. 4.2.52), входящим в состав объекта Ship moulded form (см. 4.2.93). Прикладной объект Moulded form определяет геометрическую форму составной части судна. Отдельные типы объектов прикладного объекта Moulded_form могут также определяться набором размеров.

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

43

ГОСТ Р ИСО 10303-216—2023

Рисунок 14 — Завал по мидель-шпангоуту

Примечание — Прикладной объект Moulded_form не включает толщину (или любую другую информацию), материала, из которого он изготавливается. Существует разница между прикладным объектом Moulded_ form и прикладным объектом Ship_surface (см. 4.2.97). Прикладной объект Moulded_form является физическим элементом, входящим в состав объекта Ship_moulded_form. Прикладной объект Ship_surface является представлением объекта Moulded_form. Прикладной объект Moulded_form представлен одним или несколькими объектами Ship_surface.

4.2.62 Прикладной объект Moulded_form_boundary_relationship

Прикладной объект Moulded_form_boundary_relationship является типом объекта Moulded_form_ relationship (см. 4.2.66), определяющим взаимосвязь между двумя теоретическими обводами, который задает одну из границ первого теоретического обвода как его пересечение со вторым теоретическим обводом.

С объектом Moulded_form_boundary_relationship связаны следующие данные:

- item_1;

- item_2.

4.2.62.1 Данные item_1

Данные item_1 определяют объект Moulded_form (см. 4.2.61), для которого определяется граница. Для конкретного Moulded_form_boundary_relationship данные вида item_1 могут быть не заданы. Прикладное утверждение — см. 4.3.60.

Примечание — Если данные вида item_1 не заданы, должен быть задан атрибут external_item_1 для прикладного объекта ltem_relationship (см. 4.2.53.1).

44

ГОСТ Р ИСО 10303-216—2023

Рисунок 15 — Корпус судна с бульбообразным носом и трубами для подруливающих устройств

4.2.62.2 Данные item_2

Данные item_2 определяют объект Moulded_form (см. 4.2.61), который определяет одну из границ объекта Moulded form, определяемую данными вида item_1. Для конкретного Moulded_form_boundary_ relationship данные вида item_2 могут быть не заданы. Прикладное утверждение — см. 4.3.61.

Примечание — Если данные вида item_2 не заданы, должен быть задан атрибут external_item_2 для прикладного объекта ltem_relationship (см. 4.2.53.2).

4.2.63 Прикладной объект Moulded_form_characteristics_definition

Прикладной объект Moulded_form_characteristics_definition является типом объекта Definition (см. 4.2.23), определяющим расчетные параметры для разных типов объектов Moulded_form (см. 4.2.61). Эта информация содержит размеры и отношения, важные для простой характеризации деталей корпуса, носа, гребного винта, руля, выступающей части, подруливающего устройства и днища.

Значениями прикладного объекта Moulded_form_characteristics_definition могут быть: Hull_mould-ed_form_design_parameter (см. 4.2.44), Deck_moulded_form_design_parameter (см. 4.2.21), Bottom_ moulded_form_design_parameter (см. 4.2.6), Bulb moulded form design parameter (см. 4.2.7), Propel-ler_moulded_form_design_parameter (см. 4.2.80), Rudder_moulded_form_design_parameter (см. 4.2.86), Thrus-ter_moulded_form_design_parameter (см. 4.2.112) или Appendage_moulded_form_design_parame-ter (см. 4.2.3).

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

С объектом Moulded_form_characteristics_definition связаны следующие данные:

- defined_for;

45

ГОСТ Р ИСО 10303-216—2023

- moulded form displacement;

- moulded form outer surface.

4.2.63.1 Данные defined_for

Данные defined_for определяют объект Moulded_form (см. 4.2.61), для которого определен прикладной объект Moulded_form_characteristics_definition. Прикладное утверждение — см. 4.3.62.

4.2.63.2 Данные moulded_form_displacement

Данные moulded_form_displacement определяют подводное водоизмещение отдельного объекта Moulded_form (см. 4.2.61).

4.2.63.3 Данные moulded_form_outer_surface

Данные moulded_form_outer_surface определяют смоченную внешнюю поверхность отдельного объекта Moulded_form (см. 4.2.61).

4.2.64 Прикладной объект Moulded_form_design_definition

Прикладной объект Moulded_form_design_definition является типом объекта Design_definition (см. 4.2.25), задающим определение объекта Moulded_form (см. 4.2.61).

С объектом Moulded_form_design_definition связаны следующие данные:

- borders;

- defined_for;

- moulded_surface;

- representations;

- status.

4.2.64.1 Данные borders

Данные borders определяют границы теоретического обвода, заданного конкретной геометрией или путем взаимосвязей с другими объектами Moulded_form (см. 4.2.61). Порядок границ должен иметь значение, однако правило, что конечная точка границы [л] = начальная точка границы [л + 1], отсутствует. Кроме того, две границы могут пересекаться или может быть необходимо (прямо) удлинить одну или обе границы, чтобы они пересекались. Для конкретного Moulded_form_design_definition данные вида borders могут быть не заданы. Прикладные утверждения — см. 4.3.66, 4.3.67 и 4.3.70.

4.2.64.2 Данные defined_for

Данные defined_for определяют объекты Moulded_form (см. 4.2.61), которые определяет прикладной объект Moulded form design definition. Прикладное утверждение — см. 4.3.65.

4.2.64.3 Данные moulded_surface

Данные moulded_surface определяют лежащую в основе геометрию поверхности для определения теоретического обвода. Эта геометрия может определяться отдельной поверхностью, каркасной обшивкой, состоящей из сетки кривых, моделью поверхности на основе граней или таблицей точек смещения. Для конкретного Moulded form design definition данные вида moulded_surface могут быть не заданы. Прикладные утверждения — см. 4.3.67, 4.3.69, 4.3.63 и 4.3.64.

4.2.64.4 Данные representations

Данные representations задают определение формы для теоретического обвода. Значением определения формы может быть либо Edge_based_wireframe_shape (см. 4.2.31), либо Non_manifold_ surface_shape (см. 4.2.72). Прикладные утверждения — см. 4.3.63 и 4.3.64.

4.2.64.5 Данные status

Данные status определяют, какое геометрическое определение содержится в данных вида moulded_ surface и representations, связанных с прикладным объектом Moulded_form_design_definition, полное или частичное. Для конкретного Moulded_form_design_definition данные вида status могут быть не заданы.

Значение данных вида status должно быть одним из следующих:

- complete;

- partial.

4.2.64.5.1 complete

Геометрическое определение, заданное для объекта Moulded_form_design_de-finition, является полным.

4.2.64.5.2 partial

Геометрическое определение, заданное для объекта Moulded_form_design_de-finition, является частичным.

4.2.65 Прикладной объект Moulded_form_functional_definition

Прикладной объект Moulded_form_functional_definition является типом объекта Functional_definition (см. 4.2.39), определяющим функцию части судна, которая определена базовым объектом Moulded_ form (см. 4.2.61).

46

ГОСТ Р ИСО 10303-216—2023

С объектом Moulded_form_functional_definition связаны следующие данные:

- defined_for;

- the_function.

4.2.65.1 Данные defined_for

Данные вида defined_for определяют объект Moulded_form (см. 4.2.61), для которого определен прикладной объект Moulded form functional definition. В одном объекте Moulded_form_functional_ definition может быть задано несколько объектов Moulded_form. Прикладное утверждение — см. 4.3.71.

4.2.65.2 Данные the_function

Данные the_function определяют функциональность объекта Moulded_form (см. 4.2.61), для которого определен прикладной объект Moulded_form_functional_definition.

Значение данных вида the_function должно быть одним из следующих:

- appendage;

- bulbous_bow;

- bulbous_stern;

- deck;

- double_bottom;

- double_ship_hull;

- frame;

- grating;

- horizontal_girder;

- keel;

- Iongitudinal_bulkhead;

- Iongitudinal_girder;

- non_structural_bulkhead;

- pressure_hull;

- propeller;

- rudder;

- ship_hull;

- superstructure;

- thruster;

- transom;

- transverse_bulkhead;

- user_defined.

4.2.65.2.1 appendage

Часть, которая добавляется к внешней поверхности корпуса судна для улучшения характеристик судна.

Пример — Типы выступающих частей (см. рисунки 4—7). К выступающим частям можно отнести скуловой киль, кронштейны гребного вала и выкружки гребного вала, крылья и прочее.

4.2.65.2.2 bulbous bow

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

Пример — Судно с бульбообразным носом показано на рисунке 16.

4.2.65.2.3 bulbous_stern

Подводная форма кормы, предназначенная для улучшения подачи потока на гребной винт и повышения эффективности гребного винта.

4.2.65.2.4 deck

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

Пример — Палуба и переборки показаны на рисунке 17.

4.2.65.2.5 double_bottom

Внутреннее днище корпуса судна при двойной обшивке корпуса судна.

Пример — Двойное дно показано на рисунках 18 и 19.

47

ГОСТ Р ИСО 10303-216—2023

Рисунок 16 — Корпус судна с бульбообразным носом

Рисунок 17 — Переборки и палубы

4.2.65.2.6 double_ship_hull

Внутренние борта корпуса судна при двойной обшивке корпуса судна.

Пример — Двойной корпус судна показан на рисунке 20.

4.2.65.2.7 frame

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

Пример — Шпангоуты и палубы показаны на рисунке 21.

48

ГОСТ Р ИСО 10303-216—2023

Рисунок 18 — Двойное дно

Рисунок 19 — Внешнее и внутреннее днища с профилями double_ship_hull

Рисунок 20 — Двойной корпус судна

49

ГОСТ Р ИСО 10303-216—2023

4.2.65.2.8 grating

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

4.2.65.2.9 horizontal_girder

Продольный основной конструктивный элемент, лежащий в горизонтальной плоскости судна.

Пример — Горизонтальные балки показаны на рисунке 22.

4.2.65.2.10 keel

Основная продольная днищевая корпусная конструкция, проходящая в ДП.

Примечание — У парусных яхт киль имеет особую форму и включает дополнительный вес для повышения остойчивости веса.

4.2.65.2.11 longitudinal_bulkhead

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

4.2.65.2.12 longitudinal_girder

Продольный основной конструктивный элемент, лежащий в вертикальной плоскости судна.

Пример — Продольные балки показаны на рисунке 22.

Рисунок 21 — Шпангоуты и палубы

Рисунок 22 — Балки

50

ГОСТ Р ИСО 10303-216—2023

4.2.65.2.13 non structural bulkhead

Переборка, используемая для деления на отсеки, а не как несущая конструкция.

4.2.65.2.14 pressure_hull

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

4.2.65.2.15 propeller

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

Пример — Гребной винт показан на рисунке 24.

4.2.65.2.16 rudder

Главный инструмент для маневрирования, используемый для управляемости (по направлению) судна.

Пример — Руль показан на рисунке 23.

Рисунок 24 — Модель винтового движителя

51

ГОСТ Р ИСО 10303-216—2023

4.2.65.2.17 ship_hull

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

Пример — Корпус судна показан на рисунке 20.

4.2.65.2.18 supertructure

Палубная конструкция, находящаяся над верхней палубой.

Пример — Палубная конструкция показана на рисунке 26.

4.2.65.2.19 thruster

Тоннель подруливающего устройства. Обычно подруливающее устройство работает в тоннеле для улучшения маневренности судна.

Пример — Подруливающее устройство показано на рисунке 25.

Рисунок 25 — Подруливающее устройство

4.2.65.2.20 transom

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

Пример — Транцевая корма показана на рисунке 27.

4.2.65.2.21 transverse_bulkhead

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

Пример — Поперечная переборка показана на рисунке 28.

4.2.65.2.22 user_defined

Функция прикладного объекта Moulded_form (см. 4.2.61) не известна или не предусмотрена ничем вышеназванным.

4.2.66 Прикладной объект Moulded_form_relationship

Прикладной объект Moulded_form_relationship является типом объекта ltem_relationship (см. 4.2.53), описывающим отношение между двумя объектами Moulded_form (см. 4.2.61). Набор объектов Moulded_form_relationship может описывать иерархию взаимосвязанных между собой объектов Moulded_form, которые вместе обеспечивают описание объекта Ship moulded form (см. 4.2.93).

Пример — Объект Moulded_form_relationship может описывать отношение между объектом Moulded_form корпуса судна и соответствующего гребного винта.

С объектом Moulded_form_relationship связаны следующие данные:

- item_1;

- item_2.

52

ГОСТ Р ИСО 10303-216—2023

Рисунок 26 — Палубная конструкция

Рисунок 27 — Транцевая корма

Рисунок 28 — Поперечные переборки

53

ГОСТ Р ИСО 10303-216—2023

4.2.66.1 Данные item_1

Данные item_1 определяют объект Moulded_form (см. 4.2.61), который составляет основу объекта Moulded_form_relationship. Для конкретного Moulded form relationship данные вида item_1 могут быть не заданы. Прикладное утверждение — см. 4.3.72.

Примечание — Если данные вида item_1 не заданы, должен быть задан атрибут external_item_1 для прикладного объекта ltem_relationship (см. 4.2.53.1).

4.2.66.2 Данные item_2

Данные вида item_2 описывают Mouldedform (см. 4.2.61), который должен быть связан с данными вида item_1. Для конкретного Moulded_form_relationship данные вида item_2 могут быть не заданы. Прикладное утверждение — см. 4.3.72.

Примечание — Если данные вида item_2 не заданы, должен быть задан атрибут external_item_2 для прикладного объекта ltem_relationship (см. 4.2.53.2).

4.2.67 Прикладной объект Moulded_form_representation_item

Прикладной объект Moulded form representation item является представлением теоретического обвода некой части судна. В этом представлении используется либо сетка точек, сетка геометрических кривых, либо поверхности нулевой толщины для определения теоретического обвода судна или части судна. Значением объекта Moulded_form_representation_item может быть Ship_point (см. 4.2.96), Ship_curve (см. 4.2.89) или Ship_surface (см. 4.2.97).

4.2.68 Прикладной объект Mouldedformrepresentationrelationship

Прикладной объект Moulded_form_representation_relationship является отношением между двумя объектами Moulded_form_shape_representation (см. 4.2.69).

С объектом Moulded_form_representation_relationship связаны следующие данные:

- description;

- id;

- rep_1;

- rep_2.

4.2.68.1 Данные description

Данные description задают определенное пользователем описание назначения отношения. Для конкретного Moulded form relationship данные вида description могут быть не заданы.

4.2.68.2 Данные id

Данные id определяют контекстно-зависимый идентификатор для Moulded_form_representation_ relationship.

4.2.68.3 Данные гер_1

Данные гер_1 определяют объект Moulded_form_shape_representation (см. 4.2.69), который составляет основу объекта Moulded_form_representation_relationship. Прикладное утверждение — см. 4.3.73.

4.2.68.4 Данные гер_2

Данные гер_2 определяют объект Moulded_form_shape_representation (см. 4.2.69), который должен быть связан с данными вида гер_1. Прикладное утверждение — см. 4.3.73.

4.2.69 Прикладной объект Moulded_form_shape_representation

Прикладной объект Moulded_form_shape_representation описывает форму объекта Moulded_form (см. 4.2.61) с помощью геометрических моделей, топологических моделей и геометрических элементов. Геометрические конструктивы в объекте Moulded_form_shape_representation могут указывать Ship_point (см. 4.2.96), Ship_curve (см. 4.2.89) или Ship surface (см. 4.2.97). Значением каждого Moulded_form_ shape_representation будет либо Offset_table_shape_representation (см. 4.2.74), Wireframe_shape_ representation (см. 4.2.125), либо Surface_shape_representation (см. 4.2.109).

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

С объектом Moulded_form_shape_representation связаны следующие данные:

- moulded_form_representation_id;

- moulded_form_symmetry.

4.2.69.1 Данные moulded_form_representation_id

Данные moulded_form_representation_id определяют контекстно-зависимую метку для Moulded_ form_shape_representation. Для конкретного Moulded_form_shape_representation данные вида moulded_ form_representation_id могут быть не заданы.

54

ГОСТ Р ИСО 10303-216—2023

4.2.69.2 Данные moulded_form_symmetry

Данные moulded_form_symmetry определяют симметрию для Moulded_form_shape_representation. Для объекта Moulded_form (см. 4.2.61) возможна планарная симметрия и симметрия вращения. Для конкретного Moulded_form_shape_representation данные вида moulded_form_symmetry могут быть не заданы. Прикладное утверждение — см. 4.3.745.

4.2.70 Прикладной объект Named_unit

Прикладной объект Named_unit является объектом предопределенной единицы, указанной в ИСО 10303-41.

4.2.71 Прикладной объект Navy_ship

Прикладной объект Navy_ship является типом Shiptype (см. 4.2.98), представляющим собой судно, эксплуатируемое военным командованием.

С объектом Navy ship связаны следующие данные:

- has_type.

4.2.71.1 Данные has_type

Данные has_type определяют тип объекта Navy_ship.

Значение данных вида has_type должно быть одним из следующих:

- aircraft_carrier;

- auxiliary_oiler;

- corvette;

- cruiser;

- destroyer;

- fleet_auxiliary_vessel;

- frigate;

- Ianding_platform_dock;

- Ianding_platform_helicopter;

- mine_warfare_ship;

- patrol_force_vessel;

- service_craft;

- submarine;

- user_defined.

4.2.71.1.1 aircraft_carrier

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

Пример — Задействованное воздушное судно может включать функцию короткого взлета и вертикальной посадки (STOVAL), короткого взлета, но посадки с аэрофинишером (STOBAR) или традиционный взлет (CTOL).

4.2.71.1.2 auxiliary_oiler

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

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

4.2.71.1.3 corvette

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

Примечание — Корветы приспособлены, прежде всего, для противолодочной обороны.

4.2.71.1.4 cruiser

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

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

4.2.71.1.5 destroyer

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

55

ГОСТ Р ИСО 10303-216—2023

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

4.2.71.1.6 fleet auxiliary vessel

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

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

4.2.71.1.7 frigate

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

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

4.2.71.1.8 landing platform dock

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

4.2.71.1.9 landing platform helicopter

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

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

4.2.71.1.10 mine_warfare_ship

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

4.2.71.1.11 patrol_force_vessel

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

Примечание — Крупные морские патрульные суда (OPV) используют для задач пожаротушения, спасения или снабжения, другие используют в качестве судов защиты, иногда с отрядом морской пехоты и полужесткими плавсредствами, действующими в качестве отряда быстрого реагирования. Некоторые морские патрульные суда имеют ледостойие корпуса и вертолетную площадку для использования их в качестве исследовательских судов в арктических или антарктических регионах. Размер, маневренность и другие эксплуатационные характеристики небольших прибрежных патрульных судов делают их идеально подходящими для патрулирования, поисково-спасательных операций в прибрежных районах, а также в портах, гаванях и других ограниченных акваториях.

4.2.71.1.12 service_craft

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

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

4.2.71.1.13 submarine

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

56

ГОСТ Р ИСО 10303-216—2023

Примечание — Для выполнения этих функций подводная лодка, как правило, несет тяжелые торпеды, самонаводящееся оружие класса «подводная лодка-поверхность» или лодочные мины. Подводные лодки способны действовать в подводном положении на мелководье, в открытом океане, а также в водах от тропиков до Арктики.

4.2.71.1.14 user defined

Тип судна, не относящийся к предопределенным типам, перечисленным выше.

Примечание — Подробная информация приведена в атрибуте описания объекта Shiptype (см. 4.2.99).

4.2.72 Прикладной объект Non_manifold_surface_shape

Прикладной объект Non_manifold_surface_shape является представлением формы, соответствующим ИСО 10303-508.

4.2.73 Прикладной объект Offset_point_table_model

Прикладной объект Offset_point_table_model задает форму объекта Moulded_form (см. 4.2.61), определяемую набором объектов Ship_point (см. 4.2.96). Объекты Ship_point перечислены в секциях.

Примечание — Обычно секции в объекте Offset_point_table_mo6el являются 26-секциями. В особых обстоятельствах может возникнуть необходимость использования 36-секций. Тогда значением объекта offset_point_ table_type должен быть user_defined_table, а секции таблицы ординат, представляющие 36-кривые, могут быть любой Зб-формы.

С объектом Offset_point_table_model связаны следующие данные:

- offset_point_table_sections;

- offset_point_table_type.

4.2.73.1 Данные offset_point_table_sections

Данные offset_point_table_sections определяют перечень секций, которые детализируют отдельные секции точек в таблице ординат. Прикладное утверждение — см. 4.3.75.

Пример — Общим примером может быть таблица ординат теоретического чертежа с ординатами ватерлинии. Тогда все точки в одной секции представляют одну ватерлинию.

4.2.73.2 Данные offset_point_table_type

Данные offset_point_table_type определяют тип таблицы ординат и тип секции, где находятся точки ординат.

Значение данных вида offset_point_table_type должно быть одним из следующих:

- buttock_table;

- station_table;

- user_defined_table;

- waterline_table.

Примечание — Определение всех допустимых значений данных вида offset_point_table_type дано в 4.2.74.2.1—4.2.74.3.4.

4.2.73.2.1 buttockjable

Данные Offset_point_table_model, определяющие, что точки ординат в таблице плазовых ординат — это точки, находящиеся на батоксах в плоскости XZ.

4.2.73.2.2 station_table

Данные Offset_point_table_model, определяющие, что точки ординат в таблице плазовых ординат — это точки, находящиеся на теоретических шпангоутах в плоскости XZ.

4.2.73.2.3 user_defined_table

Данные Offset_point_table_model, определяющие, что секция для точек ординат не указана.

4.2.73.2.4 waterline_table

Данные Offset_point_table_model, определяющие, что точки ординат в таблице плазовых ординат — это точки, находящиеся на ватерлиниях в плоскости XY.

4.2.74 Прикладной объект Offsettableshaperepresentation

Прикладной объект Offset_table_shape_representation является типом объекта Moulded_form_ shape_representation (см. 4.2.69), описывающим форму объекта Moul-ded_form (см. 4.2.61) с помощью точек ординат.

С объектом Offset_table_shape_representation связаны следующие данные:

-items.

4.2.74.1 Данные items

Данные items определяют набор объектов Offset_point_table_model (см. 4.2.73), которые создают объект Offset_table_shape_representation. Прикладное утверждение — см. 4.3.76.

57

ГОСТ Р ИСО 10303-216—2023

4.2.75 Прикладной объект Owner_designation

Прикладной объект Owner_designation является типом объекта General_characteristics_definition (см. 4.2.40), определяющим организации, которые заказывают, владеют и управляют судном.

С объектом Owner_designation связаны следующие данные:

- Iocal_units;

- managing_company;

- ordering_company;

- owner_approval;

- owning_company.

4.2.75.1 Данные local_units

Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значением данных вида local_units может быть Derived_unit (см. 4.2.24) или Named_unit (см. 4.2.70). Для конкретного Owner_designation данные вида local_units могут быть не заданы. В одном объекте Owner_designation может быть задано несколько данных вида local_units. Прикладные утверждения — см. 4.3.77 и 4.3.78.

4.2.75.2 Данные managing_company

Данные managing_company определяют организацию, которая отвечает за управление и эксплуатацию судна.

4.2.75.3 Данные ordering_company

Данные ordering_company определяют организацию, которая заказала судно на верфи.

4.2.75.4 Данные owner_approval

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

4.2.75.5 Данные owning_company

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

4.2.76 Прикладной объект Planar_symmetry

Прикладной объект Planar_symmetry является типом Symmetry (см. 4.2.111), дающим информацию о планарной симметрии для любой части судна. Прикладной объект Planar_symmetry детализирует плоскость симметрии для данной части судна.

С объектом Planar_symmetry связаны следующие данные:

- the_symmetry_plane.

4.2.76.1 Данные the_symmetry_plane

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

4.2.77 Прикладной объект Precision

Прикладной объект Precision представляет собой геометрическую точность системы САПР (CAD), из которой были получены данные об изделии.

С объектом Precision связаны следующие данные:

- minimum_point_spacing.

4.2.77.1 Данные minimum_point_spacing

Данные minimum_point_spacing определяют минимальное расстояние между двумя точками, которые считаются совпадающими в исходной системе САПР (CAD).

4.2.78 Прикладной объкт Principal_characteristics

Прикладной объект Principal_characteristics является типом объекта General_characterisics_ definition (см. 4.2.40), определяющим основные параметры формы теоретического обвода корпуса. Объект Principal_characteristics также содержит данные, необходимые в последующих итерациях процесса разработки корпуса, когда рассматривается гидростатика.

С объектом Principal_characteristics связаны следующие данные:

- block_coefficient;

- design_deadweight;

- design_draught;

- Iength_between_perpendiculars;

- max_draught_at_ap;

- max_draught_at_fp;

- min_draught_at_ap;

58

ГОСТ Р ИСО 10303-216—2023

- min_draught_at_fp;

- moulded_breadth;

- moulded_depth.

4.2.78.1 Данные block_coefficient

Данные block_coefficient определяют отношение объемного водоизмещения по теоретическому чертежу к объему блока, длина которого равна значению данных вида ength_between_perpendiculars, ширина равна наибольшему значению данных moulded_breadth подводной части, а глубина равна значению данных design_draught. Данные вида block_coefficient следует определять только для однокорпусных судов. Для конкретного Principal_characteristics данные вида block_coefficient могут быть не заданы.

4.2.78.2 Данные design_deadweight

Данные design_deadweight указывают полную грузоподъемность судна. Дедвейт — это разность между водоизмещением судна в полном грузу и водоизмещением порожним.

4.2.78.3 Данные design_draught

Данные design_draught определяют осадку, на которую спроектировано судно для эксплуатации.

4.2.78.4 Данные length_between_perpendiculars

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

4.2.78.5 Данные max_draught_at_ap

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

4.2.78.6 Данные max_draught_at_fp

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

4.2.78.7 Данные min_draught_at_ap

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

4.2.78.8 Данные min_draught_at_fp

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

4.2.78.9 Данные moulded_breadth

Данные moulded_breadth определяют наибольшую ширину судна по мидель-шпангоуту и при значении design_draught.

4.2.78.10 Данные moulded_depth

Данные вида moulded_depth определяют вертикальное расстояние от основной плоскости до самой верхней палубы, где палуба соединяется с бортом судна, измеряемое по мидель-шпангоуту.

4.2.79 Прикладной объект Propeller location

Прикладной объект Propellerjocation указывает размещение гребного винта относительно корпуса судна.

Пример — Местоположение гребного винта показано на рисунке 29, а гребной винт относительно оси показан на рисунке 31.

С объектом Propellerjocation связаны следующие данные:

- propellerjocation;

- shaftjinejnclination_x;

- shaftjinejnclination_y;

- shaftjinejocation.

4.2.79.1 Данные propellerjocation

Данные propellerjocation определяют размещение осевой линии гребного вала в точке, где гребной вал крепится к винту. Координату X измеряют от кормового перпендикуляра, координату 7 измеряют от ДП и координату Z измеряют от ОП. Прикладное утверждение — см. 4.3.79.

59

ГОСТ Р ИСО 10303-216—2023

Рисунок 29 — Крыльчатый движитель

Рисунок 30 — Технология крыльчатых движителей

4.2.79.2 Данные shaft_line_inclination_x

Данные shaft_line_inclination_x определяют угол между гребным валом и осью X корпуса судна.

4.2.79.3 Данные shaft_line_inclination_y

Данные shaft_line_inclination_y определяют угол между гребным валом и осью У корпуса судна.

60

ГОСТ Р ИСО 10303-216—2023

Рисунок 31 — Местоположение гребного винта

4.2.79.4 shaftjinejocation

Данные shaftjinejocation определяют размещение осевой линии гребного вала в точке, где вал гребного винта выходит из корпуса судна. Координату X измеряют от кормового перпендикуляра, координату У измеряют от ДП и координату Z измеряют от ОП.

4.2.80 Прикладной объект Propeller_moulded_form_design_parameter

Прикладной объект Propeller_moulded_form_design_parameter является типом объекта Moulded_ form_characteristics_definition (см. 4.2.63), содержащим размеры и отношения гребного винта.

Пример — Размеры гребного винта показаны на рисунке 32.

С объектом Propeller_moulded Jorm_design_parameter связаны следующие данные:

- blade_mean_height;

- chord_length_at_0_7_radius;

- design_sense_of_rotation;

- expanded_area_ratio;

61

ГОСТ Р ИСО 10303-216—2023

- hub_diameter_ratio;

- Iocation_of_the_propeller_at_the_ship_hull;

- nominal_design_pitch_ratio;

- number_of_propeller_blades;

- propeller_diameter;

- rake;

- skew;

- thickness_at_0_7_radius;

- type_of_propeller_blades;

• type_of_propulsion.

4.2.80.1 Данные blade_mean_height

Данные blade_mean_height указывают среднюю высоту лопастей для всех невинтовых движителей.

Для конкретного Propeller_moulded_form_design_parameter данные вида blade_mean_height могут быть не заданы.

Примечание — Средняя высота лопасти — это наибольший размер лопасти и при этом больше ширины.

4.2.80.2 Данные chord_length_at_0_7_radius

Данные chord_length_at_0_7_radius указывают длину хорды сечения лопасти гребного винта, расположенного в точке 0,7 радиуса гребного винта, или среднюю ширину лопастей для невинтовых движителей.

4.2.80.3 Данные design_sense_of_rotation

Данные design_sense_of_rotation указывают проектное направление вращения гребного винта, правое или левое.

Данные вида design_sense_of_rotation должны иметь одно из следующих значений:

- left;

- right.

Примечание — Определение каждого допустимого значение данных вида design_sense_of_rotation — см. 4.2.80.3.1,4.2.80.3.2.

4.2.80.3.1 left

Гребной винт вращается против часовой стрелки.

4.2.80.3.2 right

Гребной винт вращается по часовой стрелке.

4.2.80.4 Данные expanded_area_ratio

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

4.2.80.5 Данные hub_diameter_ratio

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

4.2.80.6 Данные location_of_the_propeder_at_the_ship_hull

Данные location_of_the_propeller_at_the_ship_hull указывают размещение гребного винта относительно корпуса судна.

Для конкретного Propeller_moulded_form_design_parameter данные вида location_of_the_propeller_ at_the_ship_hull могут быть не заданы. Прикладное утверждение — см. 4.3.80.

4.2.80.7 Данные nominal_design_pitch_ratio

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

4.2.80.8 Данные number_of_propeller_blades

Данные number_of_propeller_blades указывают количество лопастей гребного винта.

4.2.80.9 Данные propeller_diameter

Данные propeller_diameter указывают диаметр наибольшего круга, прописываемого вращением лопастей гребного винта.

4.2.80.10 Данные rake

Данные rake указывают угол откидки лопастей гребного винта от плоскости винта.

62

ГОСТ Р ИСО 10303-216—2023

4.2.80.11 Данные skew

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

4.2.80.12 Данные thickness_at_0_7_radius

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

4.2.80.13 Данные type_of_propeller_blades

Данные type_of_propeller_blades указывают тип лопастей гребного винта: фиксированные, поворотные или регулируемые.

Значение данных вида type_of_propeller_blades должно быть одним из следующих:

- adjustable_blade;

- controllable_blade;

- fixed_blade.

Примечание — Определение допустимых значений данных вида type_of_propeller_blades — см. 4.2.81.13.1—4.2.81.13.3.

4.2.80.13.1 adjustable_blade

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

4.2.80.13.2 controllable_blade

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

Пример — Лопасть гребного винта регулируемого шага показана на рисунке 33.

Рисунок 33 — Лопасть гребного винта регулируемого шага

4.2.80.13.3 fixed_blade

Лопасти гребного винта фиксированного шага.

Пример — Лопасть гребного винта фиксированного шага показана на рисунке 34.

4.2.80.14 Данные type_of_propulsion

Данные type_of_propulsion указывают тип отдельной движительной системы.

Значение данных вида type_of_propulsion должно быть одним из следующих:

- ducted_propeller;

- paddle_wheel;

- screw_propeller;

- thruster;

- user_defined;

- vertical_axis_propeller;

- waterjet.

Примечание — Определение допустимых значений данных вида type_of_propulsion — см. 4.2.81.14.1—4.2.81.14.7.

4.2.80.14.1 ducted_propeller

Гребной винт работает в направляющей насадке с целью повышения его КПД.

63

ГОСТ Р ИСО 10303-216—2023

Рисунок 34 — Лопасть гребного винта фиксированного шага

Пример — Гребной винт в направляющей насадке показан на рисунке 35.

Рисунок 35 — Гребной винт в направляющей насадке

4.2.80.14.2 paddle_wheel

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

Примечание — Этот устаревший тип движителей не используется на современных судах.

4.2.80.14.3 screw_propeller

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

Пример — Винтовой движитель показан на рисунке 36.

64

ГОСТ Р ИСО 10303-216—2023

Рисунок 36 — Гребной винт регулируемого шага

4.2.80.14.4 thruster

Гребной винт работает в туннеле, расположенном внутри корпуса судна, и используется в основном для маневрирования.

Пример — Гребной винт подруливающего устройства показан на рисунке 25.

4.2.80.14.5 user defined

Тип движительной системы определяется пользователем.

4.2.80.14.6 vertical_axis_propeller

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

Пример — Крыльчатый движитель показан на рисунках 29 и 30.

4.2.80.14.7 waterjet

Гребной винт работает в туннеле внутри корпуса судна.

4.2.81 Прикладной объект Regulation

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

С объектом Regulation связаны следующие данные:

- international_regulations;

- national_regulations;

- standards.

4.2.81.1 Данные international_regulations

Данные international_regulations указывают все соответствующие международные нормативы, применяемые к судну. Прикладное утверждение — см. 4.3.81.

4.2.81.2 Данные national_regulations

Данные national_regulations указывают все соответствующие национальные нормативы, применяемые к судну. Прикладное утверждение — см. 4.3.81.

65

ГОСТ Р ИСО 10303-216—2023

4.2.81.3 Данные standards

Данные standards указывают все соответствующие спецификации, применяемые к судну. Прикладное утверждение — см. 4.3.81.

4.2.82 Прикладной объект Research_ship

Прикладной объект Research_ship является типом объекта Shiptype (см. 4.2.98), указывающим научно-исследовательскую функцию, выполняемую судном.

С объектом Research_ship связаны следующие данные:

- has type.

4.2.82.1 Данные has_type

Данные has_type определяют тип научно-исследовательского судна.

Значение данных вида has_type должно быть одним из следующих: - user defined.

4.2.82.1.1 user_defined

Тип судна, отсутствующий в перечне данных вида has_type.

Примечание — Подробная информация приведена в атрибуте описания объекта Shiptype (см. 4.2.99).

4.2.83 Прикладной объект Revision

Прикладной объект Revision является типом Versionable_object (см. 4.2.121), служащим связующим звеном между необходимым объектом и определениями его составляющих и связанных элементов. Объект Revision не воспроизведен автоматически, а должен создаваться четко каждый раз, когда он требуется. Значением каждого объекта Revision может быть Revision_with_context (см. 4.2.84).

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

С объектом Revision связаны следующие данные:

- members;

- name.

4.2.83.1 Данные members

Данные members определяют объекты Versionable_object (см. 4.2.121) прикладного объекта Revision. Прикладное утверждение — см. 4.3.82.

4.2.83.2 Данные name

Данные name задает подпись, которая идентифицирует конкретное изменение.

4.2.84 Прикладной объект Revision_with_context

Прикладной объект Revision_with_context является типом Revision (см. 4.2.83), служащим связующим звеном между необходимым объектом, контекстом и определениями его составляющих и связанных элементов. Значением каждого Revision_with_context может быть Ship_moulded_form_revision (см. 4.2.94).

С объектом Revision_with_context связаны следующие данные:

- context_of_revision.

4.2.84.1 Данные context_of_revision

Данные context_of_revision указывают связь с Definable_object (см. 4.2.22), который определяется изменением. Прикладное утверждение — см. 4.3.83.

4.2.85 Прикладной объект Rotational_symmetry

Прикладной объект Rotational_symmetry является типом Symmetry (см. 4.2.111), дающим информацию о вращательной симметрии для любой части судна. Ось вращательно симметрии детализирует ось вращения для данной части судна.

С объектом Rotational_symmetry связаны следующие данные:

- the_rotational_axis.

4.2.85.1 Данные the_rotational_axis

Данные the_rotational_axis указывают ось вращения и определяются в действующей системе координат данной части судна.

4.2.86 Прикладной объект Rudder_moulded_form_design_parameter

Прикладной объект Rudder_moulded_form_design_parameter является типом прикладного объекта Moulded_form_characteristics_definition (см. 4.2.63), который содержит размеры и отношения руля.

Пример — Размеры руля показаны на рисунке 37.

66

ГОСТ Р ИСО 10303-216—2023

Рисунок 37 — Размеры руля

С объектом Rudder_moulded_form_design_parameter связаны следующие данные:

- aspect_ratio;

- projected_rudder_area;

- rudder_height;

- rudderjength;

- rudderjocation;

- rudder_mean_height;

- rudder_mean_length;

- rudder_thickness;

- type_of_the_rudder.

4.2.86.1 Данные aspect_ratio

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

4.2.86.2 Данные projected_rudder_area

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

4.2.86.3 Данные rudder_height

Данные rudder_height указывают высоту руля, измеряемую от его наинизшей до его наивысшей точки в рабочем положении.

4.2.86.4 Данные rudderjength

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

4.2.86.5 Данные rudderjocation

Данные rudderjocation указывают положение осевой линии съемного рудерпоста в точке, где он крепится к верху руля. Координату X измеряют от кормового перпендикуляра, координату Y измеряют от ДП, а координату Z измеряют от ОП. Прикладное утверждение — см. 4.3.84.

4.2.86.6 Данные rudder_mean_height

Данные rudder_mean_height указывают среднюю высоту руля в его рабочем положении.

4.2.86.7 rudder_meanjength

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

67

ГОСТ Р ИСО 10303-216—2023

4.2.86.8 Данные rudderjhickness

Данные rudder_thickness указывают максимальную толщину руля.

4.2.86.9 Данные type_of_the_rudder

Данные type_of_the_rudder указывают, является ли руль балансирным или небалансирным.

Значение данных вида type_of_the_rudder должно быть одним из следующих:

- balanced;

- unbalanced.

Примечание — Определения всех допустимых значений данных вида type_ofjhe_rudder — см. 4.2.86.9.1,4.2.86.9.2.

4.2.86.9.1 balanced

Площадь руля равномерно распределена перед и за осью поворота руля для уменьшения рабочего момента на баллере руля.

4.2.86.9.2 unbalanced

Площадь руля находится за осью поворота руля.

4.2.87 Прикладной объект Section of offset point table

Прикладной объект Section_of_offset_point_table является упорядоченным списком объектов Ship_point (см. 4.2.96).

Примечание — Аналогично объекту Ship_curve (см. 4.2.89), представленному ломаной линией.

С объектом Section_of_offset_point_table связаны следующие данные:

- for_table;

- sectionjdentifier;

- section_points.

Примечание — Атрибут for_table является обратным атрибуту offset_point_table_sections для объекта Offset_point_table_model (см. 4.2.73).

4.2.87.1 Данные for_table

Данные forjable указывают связанные объекты Offset_point_table_model (см. 4.2.73) для Section_ of_offset_point_table. Прикладное утверждение — см. 4.3.75.

4.2.87.2 Данные sectionjdentifier

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

4.2.87.3 Данные section_points

Данные section_points указывают перечень объектов Ship_point (см. 4.2.96), представляющих ординаты формы для данной секции. Прикладное утверждение — см. 4.3.85.

4.2.88 Прикладной объект Ship

Прикладной объект Ship является типом объекта Item (см. 4.2.52), который является основным изделием, поддерживаемым набором прикладных протоколов для судостроения согласно ИСО 10303. Все данные, определяющие изделие, должны относиться к объекту Ship. Данные определения модели изделия, относящиеся к объекту Ship, поддерживаются для многих этапов жизненного цикла объекта Ship, включая новый проект, начальное и рабочее проектирование, организацию производства, эксплуатацию и утилизацию. Прикладной объект Ship может представлять собой один корпус или ряд корпусов в классе судов одного проекта, которые имеют идентичные данные об изделии.

С объектом Ship связаны следующие данные:

- single_hull_or_class;

- shipjtems;

- units.

4.2.88.1 Данные single_hull_or_class

Данные single_hull_or_class указывают, применяется ли обмен данными к одному корпусу или к нескольким корпусам в классе объектов Ships.

Значение данных вида single_hull_or_class должно быть одним из следующих:

- designjor_multiple_hulls;

- design Jor_single_hulls.

4.2.88.1.1 designjor_multiple_hulls

Диапазон корпусов судов, для которых применяется конкретный объект Item (см. 4.2.52) или Definition (см. 4.2.23), должен быть указан с помощью Hull_applicability (см. 4.2.43).

68

ГОСТ Р ИСО 10303-216—2023

4.2.88.1.2 design_for_single_hulls

Один корпус, для которого применяется конкретный Item (см. 4.2.52) или Definition (см. 4.2.23), должен быть указан с помощью Hull_applicability (см. 4.2.43).

4.2.88.2 shipJtems

Данные shipjtems задают составляющие объекты, применяемые к конкретному объекту Ship. Прикладное утверждение — см. 4.3.49.

4.2.88.3 units

Данные units указывают ссылку на набор предопределенных единиц для всех типов измерений, которые могут появляться в модели Ship. Значением данных вида units может быть Derived_unit (см. 4.2.24) или Named_unit (см. 4.2.70). Для конкретного Ship данные вида units могут быть не заданы. В одном объекте Ship может быть задано несколько данных вида units. Прикладные утверждения — см. 4.3.86 и 4.3.87.

4.2.89 Прикладной объект Ship_curve

Прикладной объект Ship_curve является типом объекта Moulded_form_representation_item (см. 4.2.67), представляющим кривую с соответствующей информацией по теории судостроения. Значением Ship_curve may может быть Ship_curve_with_spacing_position (см. 4.2.91).

Пример — Типом объекта Ship curve является ватерлиния с геометрией, определенной В-сплайновой кривой. Кривые судна показаны на рисунке 38.

Рисунок 38 — Кривые судна

С объектом Ship_curve связаны следующие данные:

- curve_class;

- curve_shape;

- side_condition.

4.2.89.1 Данные curve_class

Данные curve_class указывают категории теории судостроения для объекта Ship_curve, необходимые для проектного определения объектов Moulded_form (см. 4.2.61).

Значение данных вида curve_class должно быть одним из следующих:

- boundingjine;

- buttockjine;

- camber;

- centreline;

- flat_of_bottom;

- flat_of_side;

- intersectionjine;

- rise_of_floor;

- sheer;

- stationjine;

- tracejine;

69

ГОСТ Р ИСО 10303-216—2023

- unspecified;

- waterline.

4.2.89.1.1 bounding line

Кривая является ограничивающей кривой объекта Moulded form (см. 4.2.61) или Ship_surface (см. 4.2.97).

4.2.89.1.2 buttockjine

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

Пример — Батоксы показаны на рисунке 39.

Рисунок 39 — Батоксы

4.2.89.1.3 camber

Кривая лежит на теоретической поверхности палубы.

Примечание — Образуется пересечением поперечной плоскости с теоретическим обводом палубы.

4.2.89.1.4 centreline

Кривая лежит на теоретической поверхности корпуса.

Примечание — Образуется пересечением ДП с теоретическим обводом корпуса судна.

4.2.89.1.5 flat_of_bottom

Кривая, ограничивающая плоский участок днища.

4.2.89.1.6 flat_of_side

Кривая, ограничивающая плоский участок борта.

4.2.89.1.7 intersectionjine

Кривая, образуемая пересечением двух объектов или поверхностей Moulded_-form (см. 4.2.61).

4.2.89.1.8 rise_of_floor

Высота подъема днища, которая измеряется на полушироте от ОП.

4.2.89.1.9 sheer

Кривая лежит в теоретической поверхности палубы.

Примечание — Седловатость (подъем палубы от середины мидельшпангоута к носу и/или корме).

4.2.89.1.10 stationjine

Кривая лежит в теоретической поверхности корпуса.

Примечание — Линия шпангоута, полученная пересечением теоретического обвода корпуса с плоскостью, параллельной плоскости мидельшпангоута.

Пример — Теоретические шпангоуты показаны на рисунке 40.

4.2.89.1.11 tracejine

Кривая в теоретической поверхности конструктивной части, которая действует как граница или соединительная линия для крепления профиля или балки.

4.2.89.1.12 unspecified

Значение кривой в теории судостроения не задано.

4.2.89.1.13 waterline

Кривая лежит в теоретической поверхности корпуса.

Примечание — Образуется пересечением плоскости воды с теоретическим обводом корпуса.

Пример — Кривые ватерлиний показаны на рисунке 41.

4.2.89.2 Данные curve shape

Данные curve_shape указывают базовые геометрические определения объекта Ship_curve (см. 4.2.89).

Пример — Каркасные или однообразные В-сплайновые представления.

70

ГОСТ Р ИСО 10303-216—2023

Рисунок 40 — Линии теоретических шпангоутов

Масштаб 1:980.01

Рисунок 41 — Ватерлинии

4.2.89.3 Данные side_condition

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

Пример — Кривая сечения будет ломаться на ватерлинии, представляя пересечение скулового киля и прямостенной части борта.

Значение данных вида side_condition должно быть одним из следующих:

- knuckle;

- smooth;

- tangent;

- unspecified.

4.2.89.3.1 knuckle

Кривая пересечения имеет прерывистую касательную по обе стороны от точки перехода.

4.2.89.3.2 smooth

Кривая пересечения гладкая по обе стороны от точки перехода.

4.2.89.3.3 tangent

Кривая пересечения имеет заданную касательную в точке перехода.

4.2.89.3.4 unspecified

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

4.2.90 Прикладной объект Ship_curve_segment

Прикладной объект Ship_curve_segment определяет информацию о кривой для каркасного представления судна или части судна. Объект Ship_curve_segment является одной из ограничивающих кривых ячейки в каркасе с информацией о Ship curve (см. 4.2.89), к которой принадлежит Ship_curve_ segment.

Примечание — Информация о кривой будет поддерживать сущностный объект edge_curve, как определено в ИСО 10303-42.

С объектом Ship_curve_segment связаны следующие данные:

- part_of_ship_curve.

4.2.90.1 Данные part_of_ship_curve

Данные part_of_ship_curve определяют объект Ship_curve (см. 4.2.89), в состав которого входит Ship_curve_segment. Прикладное утверждение см. 4.3.88.

71

ГОСТ Р ИСО 10303-216—2023

4.2.91 Прикладной объект Ship_curve_with_spacing_position

Прикладной объект Ship_curve_with_spacing_position является типом объекта Ship_curve (см. 4.2.89), имеющим связанное с ним интервальное положение.

Пример — Ватерлиния, у которой есть геометрия, определенная В-сплайновой кривой и расположенная в вертикальном интервальном положении.

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

С объектом Ship_curve_with_spacing_position связаны следующие данные: - location.

4.2.91.1 Данные location

Данные location определяют объект Spacing_position (см. 4.2.100), где определена кривая судна. Прикладное утверждение — см. 4.3.89.

4.2.92 Прикладной объект Ship_designation

Прикладной объект Ship_designation является типом объекта General_characteristics_definition (см. 4.2.40), который определяет идентификацию, присвоенную судну с тем, чтобы его могла классифицировать любая организация, связанная с судостроением и судоходством.

С объектом Ship_designation связаны следующие данные:

- call_sign;

- flag_state;

- Iocal_units;

- port_of_registration;

- ship identification;

- ship_name;

- description.

4.2.92.1 Данные call_sign

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

4.2.92.2 Данные flag_state

Данные flag_state указывают национальный орган, в котором регистрируется судно.

4.2.92.3 Данные local_units

Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значением данных local_units может быть Derived_unit (см. 4.2.24) или Named_unit (см. 4.2.70). Для конкретного Ship_designation данные вида local_units могут быть не заданы. В одном объекте Ship_designation может быть задано несколько данных вида local_units. Прикладные утверждения — см. 4.3.91 и 4.3.90.

4.2.92.4 Данные port_of_registration

Данные port_of_registration указывают государственный порт приписки судна. Данные port_of_ registration находятся под юрисдикцией данных вида flag_state.

4.2.92.5 Данные ship identification

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

4.2.92.6 Данные ship_name

Данные ship_name указывают наименование судна, присвоенное владельцем.

4.2.92.7 Данные description

Данные description указывают дополнительные данные о функции судна, а также дополнительные сведения о перевозимых грузах. Если значением объекта Shiptype (см. 4.2.98) являются данные вида user_defined, то данные вида description предоставляют информацию по типу судна.

4.2.93 Прикладной объект Ship_moulded_form

Прикладной объект Ship_moulded_form является типом объекта ltem_structure (см. 4.2.54) и типом объекта Item (см. 4.2.52), который группирует вместе все объекты Moulded_form (см. 4.2.61).

Пример 1 — Значением объекта Shipmouldedform может быть группа отдельных объектов Moulded form для корпуса судна, гребного винта, руля и выступающих частей.

Пример 2 — Теоретические обводы судов показаны на рисунке 42.

Примечание — Прикладной объект Ship_moulded_form не должен ни в коем случае содержать ссылок на прикладной объект Local_co_ordinate_system (см. 4.2.56).

72

ГОСТ Р ИСО 10303-216—2023

Рисунок 42 — Корпус судна, руль и гребной винт

С объектом Ship_moulded_form связаны следующие данные:

- items;

- relationships.

4.2.93.1 Данные items

Данные items указывают все объекты Moulded_form (см. 4.2.61), которые определяют прикладной объект Ship_moulded_form. Прикладное утверждение — см. 4.3.92.

4.2.93.2 Данные relationships

Данные relationships указывают объекты Moulded_form_relationship (см. 4.2.66), которые формируют прикладной объект Ship_moulded_form. Прикладное утверждение — см. 4.3.93.

4.2.94 Прикладной объект Ship _moulded_form_revision

Прикладной объект Ship_moulded_form_revision является типом объекта Revision_with_context (см. 4.2.84), указывающим редакцию объекта Ship_moulded_form (см. 4.2.93). Собирает все используемые версии объектов Moulded_form_design_definition (см. 4.2.64), относящиеся к определению конкретного теоретического обвода судна.

С объектом Ship_moulded_form_revision связаны следующие данные:

- context_of_revision;

- members.

4.2.94.1 Данные context_of_revision

Данные context_of_revision указывают объект Ship_moulded_form (см. 4.2.93), для которого определяется прикладной объект Ship_moulded_form_revision. Прикладное утверждение — см. 4.3.95.

4.2.94.2 Данные members

Данные members указывают набор объектов Moulded_form_design_definition (см. 4.2.64), формирующих прикладной объект Ship_moulded_form_revision. Прикладное утверждение — см. 4.3.94.

4.2.95 Прикладной объект Ship_overall_dimensions

Прикладной объект Ship_overall_dimensions является типом объекта Definition (см. 4.2.23), который указывает максимальные пределы объекта Ship_moulded_form (см. 4.2.93).

Пример — Габаритные размеры судна показаны на рисунке 43.

С объектом Ship_overall_dimensions связаны следующие данные:

- defined_for;

- overall_breadth;

- overall_depth;

73

ГОСТ Р ИСО 10303-216—2023

- overalljength;

- stem overhang;

- stern_overhang.

4.2.95.1 Данные defined_for

Данные defined_for указывают судно для данного объекта Ship_overall_dimensions. Прикладное утверждение — см. 4.3.96.

4.2.95.2 Данные overall breadth

Данные overall_breadth указывают максимальную ширину объекта Ship_moulded_form (см. 4.2.93).

4.2.95.3 Данные overall_depth

Данные overall_depth указывают максимальное расстояние по вертикали от ОП до самой высокой палубы объекта Ship_moulded_form (см. 4.2.93).

4.2.95.4 Данные overalljength

Данные overalljength указывают длину от крайней носовой до крайней кормовой оконечности объекта Ship_moulded_form (см. 4.2.93).

4.2.95.5 Данные stem_overhang

Данные stem_overhang указывают длину от носового перпендикуляра до крайней носовой оконечности объекта Ship_moulded_form (см. 4.2.93).

4.2.95.6 Данные stern_overhang

Данные stern_overhang указывают длину от крайней кормовой оконечности объекта Ship_moulded_ form (см. 4.2.93) до кормового перпендикуляра.

4.2.96 Прикладной объект Ship_point

Прикладной объект Ship_point является типом объекта Moulded_form_representationjtem (см. 4.2.67), представляющим точку с соответствующей информацией по теории судостроения.

Пример — Точки судна показаны на рисунке 44.

Значением объекта Ship_point может быть точка перегиба с размещением в глобальной системе координат.

С объектом Ship_point связаны следующие данные:

- point_class;

- point_shape.

4.2.96.1 Данные point_class

Данные point_class указывают категории теории судостроения для объекта Ship_point исходя из поведения кривых, проходящих через объект Ship_point.

Значение данных вида point_class должно быть одним из следующих:

- knuckle;

- ordinary;

- tangent;

- unspecified.

4.2.96.1.1 knuckle

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

4.2.96.1.2 ordinary

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

4.2.96.1.3 tangent

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

4.2.96.1.4 unspecified

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

4.2.96.2 Данные point_shape

Данные point_shape указывают базовое геометрическое определение объекта Ship_point.

Пример — Данными вида point_type является представление таблицы ординат теоретического чертежа.

4.2.97 Прикладной объект Ship_surface

Прикладной объект Ship_surface является типом объекта Moulded_form_representationjtem (см. 4.2.67), представляющим поверхность с соответствующей информацией по теории судостроения.

С объектом Ship_surface связаны следующие данные:

- surface_class;

- surface_shape.

74

ГОСТ Р ИСО 10303-216—2023

Рисунок 44 — Точки судна

4.2.97.1 Данные surface_class

Данные surface_class указывают категории теории судостроения для объекта Ship_surface исходя из размещения поверхности.

Значение данных вида surface_class должно быть одним из следующих:

- accommodation_area;

- accomodation_deck;

- aft_ship;

- blending_surface;

- bottom;

- bracket;

- bulkhead;

- cargo_area;

75

ГОСТ Р ИСО 10303-216—2023

- collision_bulkhead;

- cross_tie;

- deck;

- deck_beam;

- deck house;

- deck_in_superstructure;

- double_bottom;

- double_shell;

- duct_keel;

- engine_area;

- engine_foundation;

- external_surface;

- floor;

- fore_ship;

- frame;

- girder;

- hatch_cover;

- hatchway_coaming;

- hatchway_endcoaming;

- hatchway_sidecoaming;

- hold_bulkhead;

- hopper;

- inner_bottom;

- inner_shell;

- internal_surface;

- keel;

- Iongitudinal_bulkhead;

- Iongitudinal_girder;

- Iower_boom;

- machinery_casing;

- main_deck;

- mid_ship;

- navigation_deck;

- outer_shell;

- platform_deck;

- plating;

- sheer_strake;

- ship_structure;

- stern_frame;

- stool;

- strength_bulkhead;

- strength_deck;

- stringer;

- superstructure;

- superstructure_aft_bulkhead;

- superstructure_front_bulkhead;

- superstructure_side_bulkhead;

- tank_bottom;

- tank_bulkhead;

- tank_side;

- tank_top;

- transom;

- transversal_bulkhead;

- transverse_floor;

- transverse_web_frame;

- upper_boom;

76

ГОСТ Р ИСО 10303-216—2023

- user_defined;

- vertical_web_frame;

- wall;

- wash_bulkhead;

- weather_deck;

- web_frame;

- wing_bulkhead.

4.2.97.1.1 accommodation_area

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

4.2.97.1.2 accommodation_deck

Палуба, расположенная в жилой зоне.

4.2.97.1.3 aft_ship

Часть судна в корму от мидель-шпангоута.

4.2.97.1.4 blending_surface

Поверхность, формирующая соединение между объектами Moulded_form (см. 4.2.61).

Пример — Типом данных вида blending surface являются корпус и выступающая часть корпуса (подруливающее устройство).

4.2.97.1.5 bottom

Днище корпуса.

4.2.97.1.6 bracket

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

4.2.97.1.7 bulkhead

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

Примечание — Переборка может быть «непропускающей» (водонепроницаемой), конструктивной (обеспечивающей прочность судна) или ненесущей (перегородка в жилой зоне).

4.2.97.1.8 cargo_area

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

4.2.97.1.9 collision_bulkhead

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

4.2.97.1.10 cross_tie

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

4.2.97.1.11 deck

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

4.2.97.1.12 deck_beam

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

4.2.97.1.13 deck_house

Закрытая конструкция на открытой палубе или над ней, не доходящая до борта судна.

4.2.97.1.14 deck_in_superstructure

Палуба в надстройке.

4.2.97.1.15 double_bottom

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

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

4.2.97.1.16 double_shell

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

77

ГОСТ Р ИСО 10303-216—2023

4.2.97.1.17 duct_keel

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

4.2.97.1.18 engine_area

Машинное отделение или машинное помещение судна, в котором расположена главная энергетическая установка.

4.2.97.1.19 engine_foundation

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

4.2.97.1.20 external_surface

Поверхность, являющаяся частью представления внешней поверхности судна.

4.2.97.1.21 floor

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

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

4.2.97.1.22 fore_ship

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

4.2.97.1.23 frame

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

4.2.97.1.24 girder

Основной несущий конструктивный элемент, который проходит вдоль палуб, обшивок и переборок.

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

4.2.97.1.25 hatch_cover

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

4.2.97.1.26 hatchway_coaming

Четыре части с вертикальными стенками в раме люка, которые вместе называются комингсом люка.

4.2.97.1.27 hatchway_endcoaming

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

4.2.97.1.28 hatchway_sidecoaming

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

4.2.97.1.29 hold_bulkhead

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

4.2.97.1.30 hopper

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

4.2.97.1.31 inner_bottom

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

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

4.2.97.1.32 inner_shell

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

4.2.97.1.33 internal_surface

Поверхность, являющаяся частью представления внутренней поверхности судна.

Пример — К типам данных вида internal_surface относятся продольные балки или переборки.

78

ГОСТ Р ИСО 10303-216—2023

4.2.97.1.34 keel

Основной продольный элемент набора судна, расположенный по ДП днища и соединенный с носовым или кормовым набором. К килю крепятся флоры или траверсы днища.

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

4.2.97.1.35 longitudinal_bulkhead

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

4.2.97.1.36 longitudinal_girder

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

4.2.97.1.37 lower_boom

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

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

4.2.97.1.38 machinery_casing

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

4.2.97.1.39 main_deck

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

4.2.97.1.40 mid ship

Точка, расположенная на равном расстоянии между носовым и кормовым перпендикулярами судна.

4.2.97.1.41 navigation_deck

Конструкция, обычно расположенная в рубке, представляющая собой палубу, на которой осуществляется управление судном/судовождение.

4.2.97.1.42 outer_shell

Конструкция внешнего корпуса двухкорпусного судна, соприкасающаяся с морем.

4.2.97.1.43 platform_deck

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

4.2.97.1.44 plating

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

4.2.97.1.45 sheer strake

Участок наружной обшивки корпуса на уровне прочной палубы, как правило, усиленной и без отверстий.

4.2.97.1.46 ship_structure

Конструкция всего судна целиком.

4.2.97.1.47 stern_frame

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

4.2.97.1.48 stool

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

4.2.97.1.49 strength_bulkhead

Переборка, участвующая в обеспечении прочности судна.

79

ГОСТ Р ИСО 10303-216—2023

4.2.97.1.50 strength_deck

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

4.2.97.1.51 stringer

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

4.2.97.1.52 superstructure

Конструкция с настилом над верхней палубой, внешние борта которой образованы внешней обшивкой корпуса. Эта конструкция отличается от рубки, которая не выходит за борт по бортам судна.

4.2.97.1.53 superstructure_aft_bulkhead

Основная поперечная переборка, образующая кормовую границу надстройки.

4.2.97.1.54 superstructure_front_bulkhead

Основная поперечная переборка, образующая носовую границу надстройки.

4.2.97.1.55 superstructure_side_bulkhead

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

4.2.97.1.56 tank_bottom

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

4.2.97.1.57 tank_bulkhead

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

4.2.97.1.58 tank_side

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

4.2.97.1.59 tank_top

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

4.2.97.1.60 transom

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

4.2.97.1.61 transversal_bulkhead

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

4.2.97.1.62 transverse_floor

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

4.2.97.1.63 transverse_web_frame

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

4.2.97.1.64 upper_boom

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

4.2.97.1.65 user_defined

Цель использования базовой конструкции определяется пользователем.

4.2.97.1.66 vertical_web_frame

Тип рамного шпангоута.

4.2.97.1.67 wall

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

4.2.97.1.68 wash_bulkhead

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

80

ГОСТ Р ИСО 10303-216—2023

Примечание — Также называется отбойной переборкой.

4.2.97.1.69 weather_deck

Самая верхняя непрерывная палуба без верхнего защитого перекрытия.

4.2.97.1.70 web_frame

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

4.2.97.1.71 wingbulkhead

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

4.2.97.2 Данные surface shape

Данные surface shape указывают базовое геометрическое определение объекта Ship surface.

4.2.98 Прикладной объект Shiptype

Прикладной объект Shiptype является типом объекта Functional_definition (см. 4.2.39) и описывает функцию, назначение или задачу, для которой проектируется объект Ship (см. 4.2.88). Значением каждого прикладного объекта Shiptype является либо Carrier (см. 4.2.9), Navy_ship (см. 4.2.71), Research_ ship (см. 4.2.82), либо Working_ship (см. 4.2.127).

Пример — Типы судов показаны на рисунках 45 и 46.

Рисунок 45 — Типы судов

Рисунок 46 — Типы судов

С объектом Shiptype связаны следующие данные: - defined_for;

- description.

81

ГОСТ Р ИСО 10303-216—2023

4.2.98.1 Данные defined_for

Данные defined_for указывают судно, для которого определен данный тип судна. Прикладное утверждение — см. 4.3.97.

4.2.98.2 Данные description

Данные description указывают дополнительную информацию о судне.

4.2.99 Прикладной объект Shipyard_designation

Прикладной объект Shipyard_designation является объектом типа General_characteristics_definition (см. 4.2.40), который указывает идентификацию, присвоенную судну судостроительной организацией.

С объектом Shipyard_designation связаны следующие данные:

- Iocal_units;

- role;

- shipyard;

- shipyard_new_building_id;

- shipyard_project_name.

4.2.99.1 Данные local_units

Данные local_units определяют единицы, используемые определением и отличающиеся от единиц, глобально определенных для судна. Значением данных вида local_units может быть Derived_unit (см. 4.2.24) или Named_unit (см. 4.2.70). Для конкретного Shipyard_designation данные вида local_units могут быть не заданы. В одном объекте Shipyard_designation может быть задано несколько данных вида local_units. Прикладные утверждения — см. 4.3.98 и 4.3.99.

4.2.99.2 Данные role

Данные role указывают контрактное обязательство судостроительной верфи в отношении судна.

Значение данных вида role должно быть одним из следующих:

- prime;

- prime_build;

- prime_design;

- prime_repair;

- subcontractor.

Примечание — Определение всех допустимых значений данных вида role дано в 4.2.100.2.1 — 4.2.100.2.5.

4.2.99.2.1 prime

Судостроительная верфь является генеральным подрядчиком на судно.

4.2.99.2.2 prime_build

Судостроительная верфь является генеральным подрядчиком на судно с договорной ответственностью за изготовление судна.

4.2.99.2.3 prime_design

Судостроительная верфь является генеральным подрядчиком на судно с договорной ответственностью за проектирование судна.

4.2.99.2.4 prime_repair

Судостроительная верфь является генеральным подрядчиком на судно с договорной ответственностью за ремонт судна.

4.2.99.2.5 subcontractor

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

4.2.99.3 Данные shipyard

Данные shipyard определяют наименование и детали организации судостроительной верфи.

4.2.99.4 Данные shipyard_new_building_id

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

4.2.99.5 Данные shipyard_project_name

Данные shipyard_project_name определяют идентификатор судна, присваиваемый верфью при получении заказа или тендера на новое судно.

4.2.100 Прикладной объект Spacing_position

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

ГОСТ Р ИСО 10303-216—2023

элемента, во время проектирования и изготовления судна. Значением каждого Each Spacing_position может быть Spacing position with offset (см. 4.2.101), Longitudinal_position (см. 4.2.58), Transversal_ position (см. 4.2.113) или Vertical_position (см. 4.2.122).

Пример — Интервальные положения обычно задаются элементом продольного набора 123 или поперечного набора 10, 100, 100.1, А. Кроме того, определяется расстояние до глобальной точки отсчета, например 154,5 м.

Примечание — Продольные, поперечные и вертикальные объекты Spacing_position показаны на рисунке 47.

С объектом Spacing_position связаны следующие данные:

- name;

- position;

- position_number.

4.2.100.1 Данные name

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

4.2.100.2 Данные position

Данные position указывают расстояние до точки отсчета глобальной системы координат объекта Ship (см. 4.2.88). Ось, по которой измеряется это расстояние, зависит от типа объекта Spacing_position.

4.2.100.3 Данные position_number

Данные position_number указывают численную идентификацию, заданную для объекта Spacing_ position.

4.2.101 Прикладной объект Spacing_position_with_offset

Прикладной объект Spacing position with offset является типом объекта Spacing position (см. 4.2.100), а именно указывает положение, определенное смещением относительно существующего интервального положения на одной из глобальных осей координат судна. Используется в качестве привязки для любого геометрического или конструктивного элемента во время проектирования и изготовления судна.

С объектом Spacing_position_with_offset связаны следующие данные:

- offset;

- position;

- relating_spacing_position.

4.2.101.1 Данные offset

Данные offset указывают расстояние до соответствующего интервального положения. Ось, по которой измеряется это расстояние, зависит от типа соответствующего объекта Spacing_position (см. 4.2.100).

4.2.101.2 Данные position

Данные position указывают расстояние до точки отсчета глобальной системы координат судна. Ось, по которой измеряется это расстояние, зависит от типа соответствующего объекта Spacing_position (см. 4.2.100).

4.2.101.3 Данные relating_spacing_position

Данные relating_spacing_position указывают интервальное положение, от которого берется смещение для идентификации Spacing_position_with_offset. Прикладное утверждение — см. 4.3.100.

4.2.102 Прикладной объект Spacing_table

Прикладной объект Spacing_table является типом объекта Definition (см. 4.2.23), представляющим набор объектов Spacing_position (см. 4.2.100), который определяет перечень нулеых точек по одной из осей координат судна. Значением каждого Spacing_table может быть Longitudinal_table (см. 4.2.59), Transversal_table (см. 4.2.114) или Buttock_table (см. 4.2.8).

С объектом Spacing_table связаны следующие данные:

- name;

- spacing_table_representations.

4.2.102.1 Данные name

Данные name указывают контекстно-зависимую идентификацию для объекта Spacing_table. Для конкретного Spacing_table данные вида name могут быть не заданы.

4.2.102.2 Данные spacing_table_representations

Данные spacing_table_representations указывают положения, из которых состоит таблица, на рассматриваемой оси координат. Прикладное утверждение — см. 4.3.101.

83

ГОСТ Р ИСО 10303-216—2023

Рисунок 47 — Интервальное положение

4.2.103 Прикладной объект Stability_definition

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

Примечание — Остойчивость поврежденного судна является отдельным случаем объекта Stability_definition.

С объектом Stability_definition связаны следующие данные:

- defined_for;

- representations.

4.2.103.1 Данные defined_for

Данные defined_for указывают объект Ship (см. 4.2.88), для которого определен объект Stability_ definition. Прикладное утверждение — см. 4.3.102.

4.2.103.2 Данные representations

Данные representations указывают объект Stability_table (см. 4.2.106), который представлен объектом Stability_definition. Прикладное утверждение — см. 4.3.103.

4.2.104 Прикладной объект Stability_properties_for_one_floating_position

Прикладной объект Stability_properties_for_one_floating_position является набором данных, относящихся к расчетам остойчивости для конкретного Floating_position (см. 4.2.37) для объекта Ship_ moulded_form (см. 4.2.93).

С объектом Stability_properties_for_one_floating_position связаны следующие данные:

- centre of gravity above keel;

- definition_of_starting_floating_position;

- related_stability_table;

- stability_properties_for_different_angles_of_heel.

4.2.104.1 Данные centre_of_gravity_above_keel

Данные centre_of_gravity_above_keel указывают размещение центра тяжести судна. Считается, что размещение центра тяжести судна не будет меняться в зависмости от угла крена. Координату X измеряют от кормового перпендикуляра, координату У — от ДП, а координату Z — от ОП. Прикладное утверждение — см. 4.3.104.

84

ГОСТ Р ИСО 10303-216—2023

4.2.104.2 Данные definition_of_starting_floating_position

Данные definition_of_starting_floating_position задают объект Floating_position (см. 4.2.37) судна для определенных условий нагружения, который используется в качестве начальной точки для расчетов характеристик остойчивости. К объекту Floating_position относятся осадка, крен, дифферент, а также соответствущий объем водоизмещения для объекта Ship (см. 4.2.88). Прикладное утверждение — см. 4.3.105.

4.2.104.3 Данные related_stability_table

Данные related_stability_table указывают объект Stability table (см. 4.2.106), с которым связаны объекты Stability_ properties_for_one_floating_position.

С объектом Stability_properties_for_one_floating_position может быть связано несколько данных вида related_stability_table. Прикладное утверждение — см. 4.3.108.

4.2.104.4 Данные stability_properties_for_different_angles_of_heel

Данные stability_properties_for_different_angles_of_heel указывают характеристику остойчивости, действительную для конкретного Stability_properties_for_one_floating_position. С объектом Stability_ properties_for_one_floating_position может быть связано несколько данных вида stability_properties_for_ different_angles_of_heel. Прикладное утверждение — см. 4.3.106.

4.2.105 Прикладной объект Stability property

Прикладной объект Stability_property представляет собой необходимые характеристики для расчетов остойчивости для Ship_moulded_form (см. 4.2.93) при определенных условиях нагружения.

С объектом Stability_property связаны следующие данные:

- angle_of_heel;

- centre_of_buoyancy;

- righting_arm.

4.2.105.1 Данные angle_of_heel

Данные angle_of_heel указывают угол вращения судна вокруг оси X. Значения данных вида angle_ of_heel будут положительными при движении правого борта судна вниз.

4.2.105.2 Данные centre_of_buoyancy

Данные centre_of_buoyancy указывают размещение центра объема погруженного объема объекта Ship_moulded_form (см. 4.2.93). Координату X измеряют от кормового перпендикуляра, координату У— от ДП, а коордиату Z — от ОП. Прикладное утверждение — см. 4.3.107.

4.2.105.3 Данные righting_arm

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

4.2.106 Прикладной объект Stability table

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

Пример — Диаграмма остойчивости показана на рисунке 50.

С объектом Stability_table связаны следующие данные:

- items;

- mean_shell_thickness;

- name.

4.2.106.1 Данные items

Данные items указывают характеристику остойчивости, а именно плечо восстанавливающего момента и центр величины для угла крена для одного начального объекта Floating_position (см. 4.2.37), для которого определен объект Stability_table. В одном объекте Stability_table может быть задано несколько данных вида items. Прикладное утверждение — см. 4.3.108.

4.2.106.2 Данные mean_shell_thickness

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

4.2.106.3 Данные name

Данные name указывают определенное пользователем или системой имя для Stability_table.

85

ГОСТ Р ИСО 10303-216—2023

4.2.107 Прикладной объект Station_table

Прикладной объект Station_table является типом Longitudinal_table (см. 4.2.59), у которого имеются положения, указывающие размещение теоретических шпангоутов, располагающихся на глобальной оси X.

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

4.2.108 Прикладной объект Subtraction_of_moulded_form

Прикладной объект Subtraction of moulded form является типом объекта Displacement_operation (см. 4.2.26), определяющим тип данных displacement_operation, где водоизмещение объекта Ship_ moulded_form (см. 4.2.93) будет уменьшено на водоизмещение нового объекта МоиIded form (см. 4.2.61).

4.2.109 Прикладной объект Surface_shape_representation

Прикладной объект Surface_shape_representation является типом объекта Moulded_form_shape_ representation (см. 4.2.69), объединяющим топологическую и геометрическую информацию для описания поверхностной модели в виде связанных участков поверхности.

Пример — Surface shape representation показан на рисунке 48.

Рисунок 48 — Представление поверхности

С объектом Surface_shape_representation связаны следующие данные: - items.

4.2.109.1 Данные items

Данные items указывают набор моделей поверхности на основе граней, составляющих объект Surface_shape_representation.

4.2.110 Прикладной объект Surface_with_identifier

Surface_with_identifier является геометрической поверхностью поверхностей любого типа, разрешенного в рамках представления Non_manifold_surface_shape_representation, как указано в ИСО 10303-508, дополнительно ограниченной включением постоянного глобального идентификатора, который обеспечивает уникальную идентификацию поверхности.

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

Данные, связанные с идентификатором Surface_withJdentifier, приведены ниже: - id.

4.2.110.1 Данные id

Данные id задают глобальный однозначный идентификатор поверхности. Прикладное условие — см. 4.3.109.

4.2.111 Прикладной объект Thruster_moulded_form_design_parameter

Прикладной объект Thruster_moulded_form_design_parameter является типом объекта Moulded_ form_characteristics_definition (см. 4.2.63), содержащим размеры и отношения трубы подруливающего устройства и гребного винта.

86

ГОСТ Р ИСО 10303-216—2023

С объектом Thruster_moulded_form_design_parameter связаны следующие данные:

- geometric_thruster_location;

- thrusterJocation;

- thruster_propeller_parameter;

- thruster_tunnel_diameter;

- thruster_tunnel_max_length;

- thruster_tunnel_min_length.

4.2.111.1 Данные geometric thruster location

Данные geometric_thruster_location указывают размещение осевой линии трубы подруливающего устройства. Координату X измеряют от кормового перпендикуляра, координату У— от ДП, а координату Z — от ОП. Прикладное утверждение — см. 4.3.110.

4.2.111.2 Данные thrusterjocation

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

- bow;

- stern.

Примечание — Определение каждого допустимого значения данных thrusterjocation — см. 4.2.111.2.1, 4.2.111.2.2.

4.2.111.2.1 bow

Размещение в носу корпуса судна.

4.2.111.2.2 stern

Размещение в корме корпуса судна.

4.2.111.3 Данные thruster_propeller_parameter

Данные thruster_propeller_parameter указывают размеры и отношения гребного винта в трубе подруливающего устройства. Прикладное утверждение — см. 4.3.111.

Пример — Гребной винт подруливающего устройства показан на рисунке 49.

Рисунок 49 — Гребной винт подруливающего устройства

4.2.111.4 Данные thrusterJunnel_diameter

Данные thrusterjunnel_diameter указывают диаметр трубы подруливающего устройства.

4.2.111.5 Данные thrusterjunnel_maxjength

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

4.2.111.6 Данные thrusterJunnel_minJength

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

87

ГОСТ Р ИСО 10303-216—2023

Момент положительной остойчивости

Момент отрицательной остойчивости

Восстанавлива- Восстанавлива- Восстанавлива- Восстанавлива- Восстанавлива-

В ч - центр величины в зависимости от угла крена

Рисунок 50 — Диаграмма остойчивости

4.2.112 Прикладной объект Transversal_position

Прикладной объект Transversal_position является типом объекта Spacing_position (см. 4.2.100), который располагается на глобальной оси Y.

4.2.113 Прикладной объект Transversal_table

Прикладной объект Transversal_table является типом объекта Spacing_table (см. 4.2.102), имеющим положения вдоль поперечной оси глобальной системы координат, т. е. глобальной оси У. Значением объекта Transversal_table может быть объект Buttock_table (см. 4.2.8).

С объектом Transversal_table связаны следующие даные:

- spacing_table_representations.

4.2.113.1 Данные spacing_table_representations

Данные spacing_table_representations указывают поперечное положение, для которого определяется объект Transversal_table. В одном объекте Transversal_table может быть задано несколько поперечных положений. Прикладное утверждение — см. 4.3.111.

4.2.114 Прикладной объект Universal resource locator

Прикладной объект Universal_resource_locator задает адрес электронного источника данных. Источником электронных данных является адрес в Интернете. Структура объекта Universal_resource_ locator может точно отвечать спецификации идентификатора единообразного ресурса (URI), как описано в RFC 2396.

Пример — К данным вида Universal_resource_locator относится: http://www.w3.org

С объектом Universal_resource_locator связаны следующие данные: - location.

4.2.114.1 Данные location

Данные вида location указывают место хранения, где в сети находится документ или другая информация.

Примечание — Такое местоположение, как правило, состоит из нескольких элементов, например тип протокола, машинный адрес (имя или номер интернетовского протокола), номер дополнительного порта и локальный путь. Возможны и другие элементы.

Пример 1 — Местоположением текстового документа является http://www.w3.org/Addressing/ rfc1738.txt

Пример 2 — Местоположением табличного документа является ftp://ttp.atlantec-es.com/pub/out/ AP218/post-ws/mapping status.xls

88

ГОСТ Р ИСО 10303-216—2023

4.2.115 Прикладной объект Version_creation

Прикладной объект Version_creation является типом объекта Versionable_object_change_event (см. 4.2.122), представляющим событие, ведущее к новому объекту Definition (см. 4.2.23), ltem_structure (см. 4.2.54) или ltem_relationship (см. 4.2.53).

С объектом Version_creation связаны следующие данные:

- base;

- subject.

4.2.115.1 Данные base

Данные base указывают объект Versionable_object (см. 4.2.121), из которого берется субъет. Основание должно существовать в том случае, если объект, на который указывает атрибут субъекта, каким-то образом получен из существующего объекта. Основание может не быть непосредственно предшествующей версией объекта Versionable_object, указанной в атрибуте субъекта, но может ссылаться на любую предыдущую версию в истории версий этого объекта Item (см. 4.2.52) или на любой объект Versionable_object другого объекта Item, участвующий в создании субъекта. Для одного объекта Version_creation может быть задано несколько данных вида base. Прикадное утверждение — см. 4.3.113.

4.2.115.2 Данные subject

Данные subject указывают Versionable_object (см. 4.2.121), созданный событием изменения created by the change event. Прикладное утверждение — см. 4.3.113.

4.2.116 Прикладной объект Version_deletion

Прикладной объект Version_deletion является типом объекта Versionable_object_change_event (см. 4.2.121), который представляет собой событие, ведущее к удалению объекта Definition (см. 4.2.23), ltem_structure (см. 4.2.54), или ltem_relationship (см. 4.2.53).

С объектом Version_deletion связаны следующие данные:

- subject.

4.2.116.1 Данные subject

Данные subject указывают объект, который был удален или должен быть удален событием изменения. Прикладное утверждение — см. 4.3.114.

4.2.117 Прикладной объект Version_history

Прикладной объект Version_history идентифицирует объекты Versionable_object (см. 4.2.121) и их объекты Version_relationship (см. 4.2.120) в части их роли в качестве предшественика, преемника и относительно друг друга. Объектом Version history должен быть направленный ациклический график.

Примечание — Следовательно, объект Version_history может содержать объекты Versionable_object, которые считаются альтернативными друг другу (Versionable_object с несколькими преемниками), а также объединенные объекты Versionable_object objects (объект Versionable_object с несколькими предшественниками).

С объектом Version_history связаны следующие данные:

- current_version;

- relationships;

- versions.

4.2.117.1 Данные current_version

Данные current_version задают объект Versionable_object (см. 4.2.121), играющий роль текущей версии в данном объекте Version_history. Прикладное утверждение — см. 4.3.116.

4.2.117.2 Данные relationships

Данные relationships указывают Version_relationship (см. 4.2.120), для которого определяется объект Version_history. В одном объекте Version_history может быть задано несколько объектов Version_ relationship. Прикладное утверждение — см. 4.3.115.

4.2.117.3 Данные versions

Данные versions указывают Versionable_object (см. 4.2.121), для которого определяется объект Version_history. В одном объекте Version_history может быть задано несколько объектов Versionable_ object. Прикладное утверждение — см. 4.3.116.

4.2.118 Прикладной объект Version modification

Прикладной объект Version_modification является типом объекта Versionable_object_change_event (см. 4.2.122), представляющим событие, ведущее к изменению объекта Versionable_object (см. 4.2.121). Объект Versionable_object основания может не быть непосредственно предшествующей версией объекта Versionable_object субъекта, но может ссылаться на любую предыдущую версию в объекте Version_ history (см. 4.2.118) или том же объекте Item (см. 4.2.52).

89

ГОСТ Р ИСО 10303-216—2023

Пример — Типом объекта Version modification может быть создание новой версии существующей сущности.

С объектом Version_modification связаны следующие данные:

- base;

- subject.

4.2.118.1 Данные base

Данные base указывают Versionable_object (см. 4.2.121), из которого берется субъект. В одном объекте Version_modification может быть несколько данных вида base. Прикладное утверждение — см. 4.3.117.

4.2.118.2 Данные subject

Данные subject задают объект Versionable_object (см. 4.2.121), который был изменен или должен быть изменен событием изменения. Прикладное утверждение — см. 4.3.117.

4.2.119 Прикладной объект Version_relationship

Прикладной объект Version_relationship определяет взаимосвязь двух объектов Versionable_object (см. 4.2.121) одного типа в части Version_history (см. 4.2.118).

С объектом Version_relationship связаны следующие данные:

- predecessor;

- reason;

- successor.

4.2.119.1 Данные predecessor

Данные predecessor указывают Versionable_object (см. 4.2.121), из которого берется преемник. Прикладное утверждение — см. 4.3.116.

4.2.119.2 Данные reason

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

4.2.119.3 Данные successor

Данные successor указывают Versionable_object (см. 4.2.120), чьим предшествеником является предшествующая версия. Прикладное утверждение — см. 4.3.116.

4.2.120 Прикладной объект Versionableobject

Прикладной объект Versionable_object является объектом, для которого могут существовать версии. Значением каждого объекта Versionable_object является либо Definition (см. 4.2.23), Document (см. 4.2.27), Revision (см. 4.2.83), ltem_relationship (см. 4.2.53), либо ltem_structure (см. 4.2.54).

С объектом Versionable_object свяаны следующие данные:

- description;

- version id.

4.2.120.1 Данные description (описание)

Данные description указывают дополнительную информацию, идентифицирующую или описывающую объект. Для конкретного Versionable_object данные вида description могут быть не заданы.

4.2.120.2 Данные versionjd

Данные versionjd указывают идентификатор версии для Versionable_object.

4.2.121 Прикладной объект Versionable_object_change_event

Прикладной объект Versionable_object_change_event является типом объекта Event (см. 4.2.33), представляющим собой обобщение объектов Event, фактически меняющим объект Definition (см. 4.2.23), ltem_structure (см. 4.2.54) или ltem_relationship (см. 4.2.53). Значением прикладного объекта Versionable_object_change_event может быть Envisaged_version_creation (см. 4.2.32), Version_creation (см. 4.2.115), Version_deletion (см. 4.2.116) или Version_modification (см. 4.2.118).

4.2.122 Прикладной объект Vertical_position

Прикладной объект Verticajposition является типом объекта Spacing_position (см. 4.2.100), расположенным на глобальной оси Z.

4.2.123 Прикладной объект Vertical_table

Прикладной объект Verticaljable является типом объекта SpacingJable (см. 4.2.102), у которого имеются положения вдоль вертикальной оси глобальной системы координат, а именно глобальной оси 2. Значением прикладного объекта Verticaljable может быть WaterlineJable (см. 4.2.124).

С объектом Verticaljable связаны следующе данные:

- spacingjable_representations.

90

ГОСТ Р ИСО 10303-216—2023

4.2.123.1 Данные spacing_table_representations

Данные spacing_table_representations указывают вертикальные положения, входящие в таблицу вертикальных элементов. Прикладное утверждение — см. 4.3.118.

4.2.124 Прикладной объект Waterline_table

Прикладной объект Waterline_table является типом объекта Vertical_table (см. 4.2.123), чьи положения являются привязкой для размещения ватерлиний и расположены на глобальной оси Z.

4.2.125 Прикладной объект Wireframe_shape_representation

Прикладной объект Wireframe_shape_representation является типом объекта Moulded_form_ shape_representation (см. 4.2.69), определяющим каркасное представление судна или части судна. Каркасное представление определяется перечнем объектов Ship_curve (см. 4.2.89). Большинство объектов Ship_curve проходит через весь каркас, от одного конца до другого.

Пример 1 — Типовой объект Wireframe_shape_representation можно сформировать с помощью перечня кривых теоретических шпангоутов и ватерлиний.

Пример 2 — Объект Wireframe_shape_representation показан на рисунке 51.

Рисунок 51 — Каркас

С объектом Wireframe_shape_representation связаны следующие данные: - items.

4.2.125.1 Данные items

Данные items указывают перечень объектов Ship_curve (см. 4.2.89), которые образуют объект Wireframe_shape_representation. Прикладное представление — см. 4.3.119.

4.2.126 Прикладной объект Working ship

Прикладной объект Working_ship является типом объекта Shiptype (см. 4.2.98), а именно судном, построенным для выполнения определенных задач.

С объектом Working_ship связаны следующие данные:

- has_type.

4.2.126.1 Данные has_type

Данные has_type указывают тип судна.

Значение данных вида has_type должно быть одним из следующих:

- crane_vessel;

- dredger;

- drilling_vessel;

- fire_fighter;

- fishing_vessel;

- floating_dock;

- floating_hotel;

- fpgo;

- fpso;

- ice_breaker;

- offshore_supply_vessel;

91

ГОСТ Р ИСО 10303-216—2023

- oil_production_and_storage_vessel;

- oil_production_vessel;

- oil_storage_vessel;

- pilot_boat;

- pipe_laying_vessel;

- pusher;

- reefer;

- sealer;

- shuttle_tanker;

- stern_trawler;

- supply_vessel;

-tug;

- user_defined;

- well_stimulation_vessel.

Примечание — Определение каждого допустимого значения данных вида has_type см. в 4.2.127.1.1—4.2.127.1.25.

4.2.126.1.1 crane_vessel

Объект Working_ship, построенный для грузоподъемных работ.

4.2.126.1.2 dredger

Объект Working_ship, построенный для углубления фарватеров или входов в гавань.

4.2.126.1.3 drilling vessel

Объект Working_ship, построенный для бурения.

4.2.126.1.4 firejighter

Объект Working_ship, построенный для пожаротушения.

4.2.126.1.5 fishing vessel

Объект Working_ship, построенный для рыболовства.

4.2.126.1.6 floating dock

Объект Working_ship, построенный для подъема судов для выполнения ремонтных работ.

4.2.126.1.7 floating hotel

Объект Working_ship, построенный для использования в качестве гостиницы.

4.2.126.1.8 fpgo

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

4.2.126.1.9 fpso

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

4.2.126.1.10 ice_breaker

Объект Working_ship, построенный для ледокольных целей.

4.2.126.1.11 offshore_supply_vessel

Объект Working_ship, построенный для снабжения морских платформ.

4.2.126.1.12 oil_production_and_storage_vessel

Объект Working_ship, используемый для добычи и хранения нефти.

4.2.126.1.13 oil_production_vessel

Объект Working_ship, построенный для добычи нефти.

4.2.126.1.14 oil_storage_vessel

Объект Working_ship, построенный для хранения нефти.

4.2.126.1.15 pilot_boat

Объект Working_ship, предназначенный для перевозки лоцмана, который заводит и выводит судно в/из порта.

4.2.126.1.16 pipe_laying_vessel

Объект Working_ship, предназначенный для укладки труб.

4.2.126.1.17 pusher

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

4.2.126.1.18 reefer

Объект Working_ship, разработанный для перевозки рефрижераторных грузов.

4.2.126.1.19 sealer

Объект Working_ship, построенный для промысла тюленей.

92

ГОСТ Р ИСО 10303-216—2023

4.2.126.1.20 shuttle_tanker

Объект Working ship, оборудованный для отгрузки нефти в море.

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

4.2.126.1.21 stern_trawler

Объект Working_ship, предназначенный для траалового лова в море с кормы судна.

4.2.126.1.22 supply_vessel

Объект Working_ship, построенный для транспортировки поставок.

Пример — К типу supply_vessel относится морское судно снабжения.

4.2.126.1.23 tug

Объект Working_ship, предназначенный для буксировки.

4.2.126.1.24 user_defined

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

Примечание — Детали приводятся в атрибуте описания объекта Shiptype (см. 4.2.99).

4.2.126.1.25 well_stimulation_vessel

Объект Working_ship, предназначенный для интенсификации притока к скважинам.

4.3 Прикладные утверждения

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

Примечание — Ниже приведены несколько утверждений, которые задают количество элементов, равное нулю, для отношения между подтипом объекта Definition и Derived_unit (или Named_unit). Это связано с тем, что атрибут local_units объекта Definition предопределен в подтипе как пустое множество.

4.3.1 Объекты Alternative version relationship и Versionable object

Для каждого объекта Alternative_version_relationship имеются данные вида alternative_1, определяемые только одним объектом Versionable_object. Каждый объект Versionable_object определяет данные вида alternative_1 для нулевого, единичного или нескольких объектов Alternative_version_relationship.

Для каждого объекта Alternative_version_relationship имеются данные вида alternative_2, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные alternative_2 для нулевого, единичного или нескольких объектов Alternative_version_relationship.

4.3.2 Объекты Approval_history и Approval_event

Для каждого объекта Approval_history имеются данные вида approvals, определяемые последовательным списком одного или нескольких объектов Approval_event. Каждый Approval_event определяет данные approvapreference только одного объекта Approval_history.

4.3.3 Объекты Approval_history и Definition

Для каждого объекта имеются данные вида subject, определяемые только одним объектом Definition. Каждый Definition определяет данные subject для нулевого, единичного или нескольких объектов Approval_history.

4.3.4 Объекты Change_definition и Change

Для каждого объекта Change_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Change objects. Каждый объект Change определяет данные вида defined_ for для нулевого, единичного или нескольких объектов Change_definition.

4.3.5 Объекты Change_definition и Derived_unit

Для каждого объекта Change_definition имеются данные вида units, определяемые только нулевым объектом Derived_unit. Каждый объект Derived_unit определяет данные units только для нулевого объекта Change_definition.

Примечание — Это утверждение вводится путем выбора unit.

4.3.6 Объекты Change_definition и Named_unit

Для каждого объекта Change_definition имеются данные вида units, определяемые только нулевым объектом Named_unit. Каждый объект Named_unit определяет данные вида units только для нулевого объекта Change_definition.

Примечание — Это утверждение вводится путем выбора unit.

93

ГОСТ Р ИСО 10303-216—2023

4.3.7 Объекты Change_impact и Versionable_object_change_event

Для каждого объекта Changejmpact имеются данные вида impact, определяемые одним или несколькими объектами Versionable_object_change_event. Каждый Versionable_object_change_event определяет данные вида impact для нулевого, единичного или нескольких объектов Changejmpact.

4.3.8 Объекты Change_plan и Changejmpact

Для каждого объекта Change_plan имеются данные вида plannedjmpact, определяемые только одним объектом Changejmpact. Каждый Changejmpact определяет данные вида plannedjmpact для нулевого, единичного или нескольких объектов Change_plan.

4.3.9 Объекты Change plan и Check

Для каждого объекта Change_plan имеются данные вида checks, определяемые нулевым, единичным или несколькими объектами Check objects. Каждый объект Check определяет данные checks для нулевого, единичного или нескольких объектов Change_plan.

4.3.10 Объекты Change_plan и Change_request

Для каждого объекта Change_plan имеются данные вида chosen_solutionjor, определяемые только одним объектом Change_request. Каждый объект Change_request определяет данные chosen_ solutionJor для нулевого, единичного или нескольких объектов Change_plan.

4.3.11 Объекты Change_realization и Changejmpact

Для каждого объекта Change_realization имеются данные вида impact, определяемые только одним объектом Changejmpact. Каждый объект Changejmpact определяет данные impact для нулевого, единичного или нескольких объектов Change_realization.

4.3.12 Объекты Change_realization и Check

Для каждого объекта Change_realization имеются данные вида checks, определяемые нулевым, единичным или несколькими объектами Check objects. Каждый объект Check определяет данные checks для нулевого, единичного или нескольких объектов Change_realization.

4.3.13 Объекты Change_realization и Change_plan

Для каждого объекта Change_realization имеются данные вида realization_of, определяемые только одним объектом Change_plan. Каждый объект Change_plan определяет данные realization_of для нулевого, единичного или нескольких объектов Change_realization.

4.3.14 Объекты Change_request и Changejmpact

Для каждого объекта Change_request имеются данные вида solution_altematives, определяемые нулевым, единичным или несколькими объектами Changejmpact. Каждый объект Changejmpact определяет данные solution_alternatives для нулевого, единичного или нескольких объектов Change_realization.

4.3.15 Объекты Class_and_statutory_designation и Class_notation

Для каждого Class_and_statutory_designation имеются данные вида the_class, определяемые только одним объектом Class_notation. Каждый объект Class_notation определяет данные the_class для нулевого, единичного или нескольких объектов Class_and_statutory_designation.

4.3.16 Объекты Class_and_statutory_designation и Namedunit

Для каждого объекта Change_definition имеются данные вида units, определяемые только нулевым объектом Named_unit. Каждый объект Named_unit определяет данные units только для нулевого объекта Class_and_statutory_designation.

Примечание — Это утверждение вводится путем выбора unit.

4.3.17 Объекты Class_and_statutory_designation и Derived_unit

Для каждого объекта Class_and_statutory_designation имеются данные вида units, определяемые только нулевым объектом Derived_unit. Каждый объект Derived_unit определяет данные units только для нулевого объекта Class_and_statutory_designation.

Примечание — Это утверждение вводится путем выбора unit.

4.3.18 Объекты Classandstatutorydesignation и Regulation

Для каждого объекта Class_and_statutory_designation имеются данные вида the_statutory, определяемые только одним объектом Regulation. Каждый объект Regulation определяет данные вида the_ statutory для нулевого, единичного или нескольких объектов Class_and_statutory_designation.

4.3.19 Объекты Deck_moulded_form_design_parameter и Mouldedform

Для каждого объекта Deck_mouldedjorm_design_parameter имеются данные вида definedjor defined, определяемые одним или несколькими объектами Moulded Jorm. Каждый объект Moulded Jorm определяет данные вида definedjor для нулевого, единичного или нескольких объектов Deck_moulded_ form_design_ parameter.

94

ГОСТ Р ИСО 10303-216—2023

4.3.20 Объекты Definable_object и Global_id

Для каждого объекта Definable_object имеются данные вида id, определяемые только одним объектом Globaljd. Каждый объект Globaljd определяет данные вида id для нулевого, единичного или нескольких объектов Definable_object.

4.3.21 Объекты Definition и Definable_object

Для каждого объекта Definition имеются данные вида defined_for, определяемые одним или несколькими объектами Definable_object. Каждый объект Definable_object указывает определения для нулевого, единичного или нескольких объектов Definition.

4.3.22 Объекты Definition и Derived_unit

Для каждого объекта Definition имеются даные вида units, определяемые нулевым, единичным или несколькими объектами Derived_unit. Каждый объект Derived_unit определяет данные вида units для нулевого, единичного или нескольких объектов Definition.

Примечание — Это утверждение вводится путем выбора unit.

4.3.23 Объекты Definition и Globaljd

Для каждого объекта Definition имеются данные вида id, определяемые только одним объектом Globaljd. Каждый объект Globaljd определяет данные вида id для нулевого, единичного или нескольких объектов Definition.

4.3.24 Объекты Definition и Named_unit

Для каждого объекта Definition имеются данные вида units, определяемые нулевым, единичным или несколькими объектами Named_unit. Каждый объект Named_unit определяет данные вида units для нулевого, единичного или нескольких Definition.

Примечание — Это утверждение вводится путем выбора unit.

4.3.25 Объекты Displacement_operation и Moulded_form

Для каждого объекта Displacement_operation имеются данные вида displacement_of_moulded Jorm_ to_add_or_subtract, определяемые только одним объектом Mouldedjorm. Каждый объект Mouldedjorm определяет данные вида displacement_of_mouldedjormjo_add_or_subtract для нулевого, единичного или нескольких объектов Displacement_operation.

4.3.26 Объекты Document portion и Document

Для каждого объекта Document_portion имеются данные вида source, определяемые только одним объектом Document. Каждый объект Document определяет источник для нулевого, единичного или нескольких объектов Document_portion.

4.3.27 Объекты Document_reference и Document

Для каждого объекта Document_reference имеются данные вида assigned_document, определяемые нулевым или единичным объектом Document. Каждый объект Document определяет данные вида assigned_document для нулевого, единичного или нескольких объектов Document_reference.

Примечание — Это утверждение вводится за счет выбора document_reference.

4.3.28 Объекты Document_reference и Document_portion

Для каждого объекта Document_reference имеются данные вида assigned_document, определяемые нулевым или единичным объектом Document_portion. Каждый объект Document_portion определяет данные вида assigned_document для нулевого, единичного или нескольких объектов Document_reference.

Примечание — Это утверждение вводится за счет выбора document_reference.

4.3.29 Объекты Envisaged_version_creation и Versionable_object

Для каждого объекта Envisaged_version_creation имеются данные вида base, определяемые нулевым, единичным или несколькими объектами Versionable_object. Каждый объект Versionable_object определяет данные вида base для нулевого, единичного или нескольких объектов Envisaged_version_creation.

4.3.30 Объекты Externaljnstance_reference и Globaljd

Для каждого объекта Externaljnstance_reference имеются данные вида target_guid, определяемые только одним объектом Globaljd. Каждый объект Globaljd определяет данные вида target_guid для нулевого, единичного или нескольких объектов Externaljnstance_reference.

4.3.31 Объекты External_reference и External_storage

Для каждого объекта Extern a preference имеются данные вида location, определяемые нулевым или единичным объектом External storage. Каждый объект External_storage определяет местоположение нулевого, единичного или нескольких объектов Externa preference.

Примечание — Это утверждение вводится за счет выбора any_address.

95

ГОСТ Р ИСО 10303-216—2023

4.3.32 Объекты External_reference и Universal_resource_locator

Для каждого объекта External_reference имеются данные вида location, определяемые нулевым или единичным объектом Universal_resource_locator. Каждый объект Universal_resource locator определяет местоположение нулевого, единичного или нескольких объектов External_reference.

Примечание — Это утверждение вводится за счет выбора any_address.

4.3.33 Объекты Functional_definition и Named_unit

Для каждого объекта Functional_definition имеются данные вида units, определяемые только нулевым объектом Named_unit. Каждый объект Named_unit определяет данные вида units только для нулевого объекта Functional_definition.

Примечание — Это утверждение вводится путем выбора значения unit.

4.3.34 Объекты Functional_definition и Derived_unit

Для каждого объекта Functional_definition имеются данные вида units, определяемые только нулевым объектом Derived_unit. Каждый объект Derived_unit определяет данные вида units только для нулевого объекта Functional_definition.

Примечание — Это утверждение вводится путем выбора значения unit.

4.3.35 Объекты General_characteristics_definition и Ship

Для каждого объекта General_characteristics_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Ship. Каждый объект Ship определяет данные вида defined_ for для нулевого, единичного или нескольких объектов General_characteristics_definition.

4.3.36 Объекты Hull_applicability и Definition

Для каждого объекта Hull_applicability имеются данные вида definitions_for_hulls, определяемые нулевым, единичным или несколькими объектами Definition. Каждый объект Definition определят данные вида definitions_for_hulls для нулевого, единичного или нескольких объектов Hull_applicability.

4.3.37 Объекты Hull_applicability и Item

Для каждого объекта Hull_applicability имеются данные вида items_for_hulls. Определяемые нулевым, единичным или несколькими объектами Item. Каждый объект Item определяет данные вида definitions_for_hulls для нулевого, единичного или нескольких объектов Hull_applicability.

4.3.38 Объекты Hull_moulded_form_design_parameter и Midship_tumble

Для каждого объекта Hull_moulded_form_design_parameter имеются данные вида midship_tumble_ data, определяемые нулевым или единичным объектом Midship tumble. Каждый объект Midship_tumble определяет данные вида midship_tumble_data для нулевого, единичного или нескольких объектов Hull_ moulded_form_design_parameter.

4.3.39 Объекты Hydrostatic_definition и Displacement_operation

Для каждого объекта Hydrostatic_definition имеется последовательный список данных вида displacement_changes, определяемых нулевым, единичным или несколькими объектами Displacement operation. Каждый объект Displacement_operation определяет данные вида displacement_changes для нулевого, единичного или нескольких объектов Hydrostatic_definition.

4.3.40 Объекты Hydrostatic_definition и Hydrostatic_table

Для каждого объекта Hydrostatic_definition имеются данные вида representations, определяемые одним или несколькими объектами Hydrostatic_table. Каждый объект Hydrostatic_table определяет данные вида representations для нулевого, единичного или нескольких объектов Hydrostatic_definition.

4.3.41 Объекты Hydrostatic_definition и Ship

Для каждого объекта Hydrostatic_definition имеются данные вида defined for, определяемые одним или несколькими объектами Ship. Каждый объект Ship определяет данные вида defined_for для нулевого, единичного или нескольких объектов Hydrostatic_definition.

4.3.42 Объекты Hydrostatic_position_value и Centre_location

Для каждого объекта Hydrostatic_position_value имеются данные вида position, определяемые только одним объектом Centrejocation. Каждый объект Centrejocation опредедляет данные вида position для нулевого, единичного или нескольких объектов Hydrostatic_position_value.

4.3.43 Объекты Hydrostatic_properties_for_constant_floating_position и Floating_position

Для каждого объекта Hydrostatic_properties_for_constant_floating_position имеются данные вида definition of floating position, определяемые только одним объектом Floating_position. Каждый объект Floating_position определяет данные вида definition_of_floating_position для нулевого, единичного или нескольких объектов Hydrostatic_properties_for_constant_floating_position.

96

ГОСТ Р ИСО 10303-216—2023

4.3.44 Объекты Hydrostatic_properties_for_constant_floating_position и Hydrostatic_property_ value

Для каждого объекта Hydrostatic_properties_for_constant_floating_position имеются данные вида hydrostatic_property_values, определяемые одним или несколькими объектами Hydrostatic_property_ value. Каждый объект Hydrostatic_property_value определяет данные вида hydrostatic_property_values для нулевого, единичного или нескольких объектов Hydrostatic_properties_for_constant_floating_position.

4.3.45 Объекты Hydrostatic_property и Centre_location

Для каждого объекта Hydrostatic_property имеются данные вида property_measure, определяемые только одним объектом Centrejocation. Каждый объект Centrejocation определяет данные вида property_measure для нулевого, единичного или нескольких объектов Hydrostatic_property.

4.3.46 Объекты Hydrostatic_table и Hydrostatic_properties_for_constant_floating_position

Для каждого объекта Hydrostatic_table имеются данные вида items, определяемые одним или несколькими объектами Hydrostatic_properties_for_constant_floating_position. Каждый объект Hydrostatic_ properties_for_constant_floating_position определяет данные вида related_hydrostatic_table для нулевого, единичного или нескольких объектов Hydrostatic table.

4.3.47 Объекты Hydrostatic_table и Hydrostatic_property

Для каждого объекта Hydrostatic table имеются данные вида properties in the hydrostatic table, определяемые одним или несколькими объектами Hydrostatic_property. Каждый объект Hydrostatic_ property определяет данные вида properties_in_the_hydrostatic_table для нулевого, единичного или нескольких объектов Hydrostatic_table.

4.3.48 Объекты Item и External_reference

Для каждого объекта Item имеются данные вида documentation, определяемые нулевым, единичным или несколькими объектами External_reference. Каждый объект External_reference определяет данные вида documentation для нулевого, единичного или нескольких объектов Item.

4.3.49 Объекты Item и Ship

Для каждого объекта Item имеются данные вида ship_context, определяемые нулевым или одним объектом Ship. Каждый объект Ship определяет данные вида ship_items для нулевого, единичного или множественных объектов Item.

4.3.50 Объекты ltem_relationship и External_instance_reference

Для каждого объекта ltem_relationship имеются данные вида external_item_1, определяемые для нулевого или единичного объектов External_instance_reference. Каждый объект External_instance_ reference определяет данные вида external_item_1 для нулевого, единичного или множественных объектов ltem_relationship.

Для каждого объекта ltem_relationship имеются данные вида external_item_2, определяемые для нулевого или единичного объекта External_instance_reference. Каждый объект External_instance_ reference определяет данные вида external_item_2 для нулевого, единичного или множественных объектов ltem_relationship.

4.3.51 Объекты ltem_relationship и Item

Для каждого объекта ltem_relationship имеются данные вида item_1, определяемые нулевым или единичным объектом Item. Каждый объект Item определяет данные вида item_1 для нулевого, единичного или множественных объектов ltem_relationship.

Для каждого объекта ltem_relationship имеются данные вида item_2, определяемые нулевым или единичным объектами Item. Каждый объект Item определяет данные вида item_2 для нулевого, единичного или множественных объектов ltem_relationship.

4.3.52 Объекты ltem_structure и External_instance_reference

Для каждого объекта ltem_structure имеются данные вида externaljtems, определяемые нулевым, единичным или множественными объектами External_instance_reference. Каждый объект External_ instance_reference определяет данные вида externaljtems для нулевого, единичного или множественных объектов ltem_structure.

Для каждого объекта ltem_structure имеются данные вида extemal_relationships, определяемые нулевым, единичным или множественными объектами ExternalJnstance_reference. Каждый объект External instance_reference определяет данные вида external_relationships для нулевого, единичного или множественных объектов ltem_structure.

4.3.53 Объекты ltem_structure и Item

Для каждого объекта ltem_structure имеются данные вида items, определяемые нулевыми, единичными или множественными объектами Item. Каждый объект Item определяет данные вида items для нулевого, единичного или множественных объектов ltem_structure.

97

ГОСТ Р ИСО 10303-216—2023

4.3.54 Объекты ltem_structure и ltem_relationship

Для каждого объекта ltem_structure имеются данные вида relationships, определяемые нулевым, единичным или множественными объектами ltem_relationship. Каждый объект ltem_relationship определяет данные вида relationships для нулевого, единичного или множественных объектов ltem_structure.

4.3.55 Объекты Knot и Ship_curve

Для каждого объекта Knot имеются данные вида intersecting_ship_curves, определяемые последовательным списком из двух или нескольких объектов Ship curve. Каждый объект Ship curve определяет данные вида intersecting_ship_curves для нулевого, единичного или множественных объектов Knot objects.

4.3.56 Объекты Local_co_ordinate_system и Global_axis_placement

Для каждого объекта Local_co_ordinate_system имеются данные вида parent, определяемые нулевыми и единичными объектами Global_axis_placement. Каждый объект Global_axis_placement определяет данные вида parent для нулевых, единичных или множественных объектов Local_co_ordinate_system.

Примечание — Это утверждение вводится путем выбора co_ordinate_system.

4.3.57 Объекты Local_co_ordinate_system и Local_co_ordinate_system

Для каждого объекта Local_co_ordinate_system имеются данные вида parent, определяемые нулевыми и единичными объектами Local_co_ordinate_system. Каждый объект Local_co_ordinate_system определяет данные вида parent для нулевых, единичных или множественных объектов Local_co_ordinate_system.

Примечание — Это утверждение вводится путем выбора co_ordinate_system.

4.3.58 Объекты Local_co_ordinate_system_with_position_reference и Spacing_position

Для каждого объекта Local_co_ordinate_system_with_position_reference имеются данные вида longitudinal_ref, определяемые только одним объектом Spacing_position. Каждый объект Spacing_ position определяет данные вида longitudinal_ref для нулевых, единичных или множественных объектов Local_co_ordinate_system_with_position_reference.

Для каждого объекта Local_co_ordinate_system_with_position_reference имеются данные вида transversal_ref, определяемые только одним объектом Spacing_position. Каждый объект Spacing_ position определяет данные вида transversal_ref для нулевых, единичных или множественных объектов Local_co_ordinate_system_with_position_reference.

Для каждого объекта Local_co_ordinate_system_with_position_reference имеются данные вида vertical_ref, определяемые только одним объектом Spacing_position. Каждый объект Spacing_position определяет данные вида transversal ref для нулевых, единичных или множественных объектов Local_ co_ordinate_system_with_position_reference.

Примечание — Это утверждение вводится путем выбора local_reference.

4.3.59 Объекты Longitudinal table и Longitudinal position

Для каждого объекта Longitudinal_table имеются данные вида spacing_table representations, определяемые нулевым, единичным или множественными объектами Longitudinal_position. Каждый объект Longitudinal_position определяет данные вида spacing_table_representations для нулевого, единичного или множественных объектов Longitudinal_table.

4.3.60 Объекты Moulded_form_boundary_relationship и Moulded_form

Для каждого объекта Moulded_form_boundary_relationship имеются данные вида item_1, определяемые только одним объектом Moulded_form. Каждый объект Moulded_form определяет данные вида item_1 для нулевого, единичного или множественных объектов Moulded_form_boundary_relationship.

4.3.61 Объекты Mouldedformboundaryrelationship и Moulded form

Для каждого объекта Moulded_form_boundary_relationship имеются данные вида item_2, определяемые только одним объектом Moulded form. Каждый объект Moulded_form определяет данные вида item_2 для нулевого, единичного или множественных объектов Moulded_form_boundary_relationship.

4.3.62 Объекты Moulded_form_characteristics_definition и Moulded_form

Для каждого объекта Moulded_form_characteristics_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Moulded_form. Каждый объект Moulded_form определяет данные вида defined_for для нулевого, единичного или множественных объектов Moulded_form_ characteristics_definition.

4.3.63 Объекты Moulded form design definition и Edge based wireframe shape

Для каждого объекта Moulded form design definition имеются данные вида moulded_surface, определяемые нулевыми или единичными объектами Edge_based_wireframe_shape. Каждый объект

98

ГОСТ Р ИСО 10303-216—2023

Edge_based_wireframe_shape определяет данные вида moulded_surface для нулевого, единичного или нескольких объектов Moulded_form_design_definition.

Примечание — Это утверждение вводится путем выбора surface_geometry и surface_representation.

Для каждого объекта Moulded_form_design_definition имеются данные вида representations, определяемые нулевым, единичным или множественными объектами Edge based wireframe shape. Каждый объект Edge_based_wireframe_shape определяет данные вида representations для нулевого, единичного или нескольких объектов Moulded_form_design_definition.

Примечание — Это утверждение вводится путем выбора surface_representation.

4.3.64 Объекты Moulded_form_design_definition и Non_manifold_surface_shape

Для каждого объекта Moulded_form_design_definition имеются данные вида moulded_surface, определяемые нулевыми или единичными объектами Non_manifold_surface_shape. Каждый объект Non_manifold_surface_shape определяет данные вида moulded_surface для нулевого, единичного или нескольких объектов Moulded_form_design_definition.

Примечание — Это утверждение вводится путем выбора surface_geometry и surface_representation.

Для каждого объекта Moulded_form_design_definition имеются данные вида representations, определяемые нулевым, единичным или множественными объектами Moulded_form_design_definition. Каждый объект Moulded_form_design_definition определяет данные вида representations для нулевого, единичного или нескольких объектов Moulded_form_design_definition.

Примечание — Это утверждение вводится путем выбора surface_representation.

4.3.65 Объекты Moulded_form_design_definition и Moulded_form

Для каждого объекта Moulded_form_design_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Moulded_form. Каждый объект Moulded_form определяет данные вида defined_for для нулевого, единичного или нескольких объектов Moulded_form_design_definition.

4.3.66 Объекты Moulded_form_design_definition и Moulded_form_boundary_ relationship

Для каждого объекта Moulded_form_design_definition имеются данные вида borders, определяемые нулевыми, единичными или множественными объектами Moulded_form_boundary_relationship. Каждый объект Moulded_form_boundary_relationship определяет данные вида border для нулевого, единичного или нескольких объектов Moulded_form_design_definition.

Примечание — Это утверждение вводится путем выбора moulded_form_border.

4.3.67 Объекты Moulded_form_design_definition и Moulded_form_shape_representation

Для каждого объекта Moulded_form_design_definition имеются данные по теоретической поверхности, определяемые нулевыми или единичными объектами Moulded_form_shape_representation. Каждый объект Moulded_form_shape_representation определяет данные теоретической поверхности для нулевого, единичного или нескольких объектов Moulded_form_design_definition.

Примечание — Это утверждение вводится путем выбора surface_geometry.

4.3.68 Объекты Moulded_form_design_definition и Ship_curve

Для каждого объекта Moulded_form_design_definition имеются данные вида borders, определяемые нулевым, единичным или множественными объектами Ship_curve. Каждый объект Ship_curve определяет данные вида border для нулевого, единичного или нескольких объектов Moulded_form_design_definition.

Примечание — Это утверждение вводится путем выбора moulded_form_border.

4.3.69 Объекты Moulded_form_design_definition и Ship_surface

Для каждого объекта Moulded_form_design_definition имеются данные по теоретической поверхности нулевого или единичного объекта Ship_surface. Каждый объект Ship_surface представляет собой теоретическую поверхность для нулевого, единичного или нескольких объектов Moulded_form_design_definition.

Примечание — Это утверждение вводится путем выбора surface_geometry.

4.3.70 Объекты Moulded_form_design_definition и Spacing position

Для каждого объекта Moulded_form_design_definition имеются данные вида borders, определяемые нулевым, единичным или множественными объектами Spacing_position. Каждый объект Spacing_position определяет данные вида border для нулевого, единичного или нескольких объектов Moulded_form_design_definition.

Примечание — Это утверждение вводится путем выбора moulded_form_border и planar_boundary.

99

ГОСТ Р ИСО 10303-216—2023

4.3.71 Объекты Moulded_form_functional_definition и Moulded_form

Для каждого объекта Mouldedjormjunctional_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Moulded_form. Каждый объект Moulded_form определяет данные вида defined_for для нулевого, единичного или нескольких объектов Moulded_form_functional_ definition.

4.3.72 Объекты Moulded_form_relationship и Mouldedform

Для каждого объекта Moulded_form_relationship имеются данные вида item_1, определяемые только одним объектом Moulded_form. Каждый объект Moulded_form определяет данные вида item_1 для нулевого, единичного или множественных объектов Moulded_form_relationship.

Для каждого объекта Moulded_form_relationship имеются данные вида item_2, определяемые только одним объектом Moulded_form. Каждый объект Moulded_form определяет данные вида item_2 для нулевого, единичного или множественных объектов Moulded form relationship.

4.3.73 Объекты Mouldedformrepresentationrelationship и Moulded_form_ shaperepresen-tation

Для каждого объекта Moulded_form_representation_relationship имеются данные вида гер_1, определяемые только одним объектом Moulded_form_shape_representation. Каждый объект Moulded_form_ shape_representation определяет данные вида гер_1 для нулевого, единичного или множественных объектов Moulded_form_representation_relationship.

Для каждого объекта Moulded_form_representation_relationship имеются данные вида гер_2, определяемые только одним объектом Moulded_form_shape_representation. Каждый объект Moulded_form_ shape_representation определяет данные вида гер_2 для нулевого, единичного или множественных объектов Moulded_form_representation_relationship.

4.3.74 Объекты Mouldedformshaperepresentation и Symmetry

Для каждого объекта Moulded_form_shape_representation имеются данные вида moulded_form_ symmetry, определяемые нулевыми или единичными объектами Symmetry objects. Каждый объект Symmetry определяет данные вида moulded_form_symmetry для нулевого, единичного или множественных объектов Moulded_form_shape_representation.

4.3.75 Объекты Offset point table model и Section of offset point table

Для каждого объекта Offset_point_table_model имеются данные вида offset_point_table_sections, определяемые одним или несколькими объектами Section_of_offset_point_table. Каждый объект Section_of_offset_point_table определяет данные вида for_table для одного или нескольких объектов Offset_point_table_model.

4.3.76 Объекты Offset table shape representation и Offset point table model

Для каждого объекта Offset_table_shape_representation имеются данные вида items, определяемые одним или несколькими объектами Offset_point_table_model. Каждый объект Offset_point_table_ model определяет данные вида items для нулевого, единичного или нескольких объектов Offset_table_ shape_representation.

4.3.77 Объекты Owner_designation и Derived_unit

Для каждого объекта Owner_designation имеются данные вида units, определяемые только нулевым объектом Derived_unit. Каждый объект Derived_unit определяет данные вида units только для нулевого объекта Owner_designation.

Примечание — Это утверждение вводится путем выбора unit.

4.3.78 Объекты Owner_designation и Named_unit

Для каждого объекта Change_definition имеются данные вида units, определяемые только нулевым объектом Named_unit. Каждый объект Named_unit определяет данные вида units только для нулевого объекта Owner_designation.

Примечание — Это утверждение вводится путем выбора unit.

4.3.79 Объекты Propeller location и Centre_location

Для каждого объекта Propellerjocation имеются данные вида propellerjocation, определяемые только одним объектом Centrejocation. Каждый объект Centrejocation определяет данные вида propellerjocation для нулевого, единичного или множественных объектов Propellerjocation.

Для каждого объекта Propellerjocation имеются данные вида shaftjinejocation, определяемые только одним объектом Centrejocation. Каждый объект Centrejocation определяет данные вида shaft_ linejocation для нулевого, единичного или множественных объектов Propellerjocation.

100

ГОСТ Р ИСО 10303-216—2023

4.3.80 Объекты Propeller_moulded_form_design_parameter и Propeller_ location

Для каждого объекта Propeller_moulded_form_design_parameter имеются данные вида location_ of_the_propeller_at_the_ship_hull, определяемые нулевым или единичным объектом Propellerjocation. Каждый объект Propellerjocation определяет данные вида location_ofjhe _propeller_atjhe_ship_hull для нулевого, единичного или множественных объектов Propeller_moulded_form_design_parameter.

4.3.81 Regulation to External_reference

Для каждого объекта Regulation имеются данные вида international_regulations, определяемые нулевым, единичным или множественными объектами External_reference. Каждый объект External_ reference определяет данные вида international_regulations для нулевого, единичного или множественных объектов Regulation.

Для каждого объекта Regulation имеются данные вида national_regulations, определяемые нулевым, единичным или множественными объектами External_reference. Каждый объект Externa preference определяет данные вида national_regulations для нулевого, единичного или множественных объектов Regulation.

Для каждого объекта Regulation имеются данные вида standards, определяемые нулевым, единичным или множественными объектами External_reference. Каждый объект External_reference определяет данные вида standards для нулевого, единичного или множественных объектов Regulation.

4.3.82 Объекты Revision и Versionable_object

Для каждого объекта Revision имеются данные вида members, определяемые одним или несколькими объектами Versionable_object. Каждый Versionable_object определяет данные вида Versionable_ object для нулевого, единичного или нескольких объектов Revision.

4.3.83 Объекты Revision_with_context и Definable_object

Для каждого объекта Revision_with_context имеются данные вида context_of_revision, определяемые только одним объектом Definable_object. Каждый Definable_object определяет данные вида impact для нулевого, единичного или нескольких объектов Revision_with_context.

4.3.84 Объекты Rudder moulded form design parameter и Centrejocation

Для каждого объекта Rudder_mouldedjorm_design_parameter имеются данные вида rudder_ location, определяемые только одним объектом Centrejocation. Каждый объект Centrejocation определяет данные вида rudderjocation для нулевого, единичного или нескольких объектов Rudder_moulded_ form_design_parameter.

4.3.85 Объекты Section of offset point table и Ship point

Для каждого объекта Section_of_offset_pointjable имеются данные вида section_points, определяемые последовательным списком одного или нескольких объектов Ship_point. Каждый объект Ship_point определяет данные вида section_points для нулевого, единичного или нескольких объектов Section_of_offset_pointjable.

4.3.86 Объекты Ship и Derived unit

Для каждого объекта Ship имеются данные вида units, определяемые нулевым, единичным или несколькими объектами Derived_unit. Каждый Derived_unit определяет данные вида units для нулевого, единичного или нескольких объектов Ship.

Примечание — Это утверждение вводится путем выбора unit.

4.3.87 Объекты Ship и Named_unit

Для каждого объекта Ship имеются данные вида units, определяемые нулевым, единичным или несколькими объектами Named_unit. Каждый Named_unit определяет данные вида units для нулевого, единичного или нескольких объектов Ship.

Примечание — Это утверждение вводится путем выбора unit.

4.3.88 Объекты Ship curve segment и Ship_curve

Для каждого объекта Ship_curve_segment имеются данные вида part_of_ship_curve, определяемые только одним объектом Ship_curve. Каждый объект Ship_curve определяет данные вида part_of_ ship_curve для нулевого, единичного или нескольких объектов Ship_curve_segment.

4.3.89 Объекты Ship_curve_with_spacing_position и Spacing_position

Для каждого объекта Ship_curve_with_spacing_position имеются данные вида location, определяемые только одним объектом Spacing_position. Каждый объект Spacing_position определяет данные вида location для нулевого, единичного или нескольких объектов Ship_curve_with_spacing_position.

101

ГОСТ Р ИСО 10303-216—2023

4.3.90 Объекты Ship_designation и Named_unit

Для каждого объекта Ship_designation имеются данные вида units, определяемые только нулевым объектом Named_unit. Каждый объект Named_unit определяет данные вида units только для нулевого объекта Ship_designation.

Примечание — Это утверждение вводится путем выбора unit.

4.3.91 Объекты Ship designation и Derived unit

Для каждого объекта Ship_designation имеются данные вида units, определяемые только нулевым объектом Derived_unit. Каждый объект Derived_unit определяет данные вида units только для нулевого объекта Ship_designation.

Примечание — Это утверждение вводится путем выбора unit.

4.3.92 Объекты Ship_moulded_form и Moulded_form

Для каждого объекта Ship_moulded_form есть данные вида items, определяемые одним или несколькими объектами Moulded_form. Каждый объект Moulded_form определяет данные вида items для нулевого, единичного или нескольких объектов Ship_moulded_form.

4.3.93 Объекты Ship_moulded_form и Moulded_form_relationship

Для каждого объекта Ship_moulded_form имеются данные вида relationships, определяемые нулевым, единичным или множественными объектами Moulded_form_relationship. Каждый объект Moulded_ form_relationship определяет данные вида relationships для нулевого, единичного или множественных объектов Ship_moulded_form.

4.3.94 Объекты Ship_moulded_form_revision и Moulded_form_design_definition

Для каждого объекта Ship_moulded_form_revision имеются данные вида members, определяемые одним или несколькими объектами Moulded_form_design_definition. Каждый объект Moulded_form_ design_definition представляет собой элемент для нулевого, единичного или нескольких объектов Ship_ moulded_form_revision.

4.3.95 Объекты Ship_moulded_form_revision и Ship_moulded_form

Для каждого объекта Ship_moulded_form_revision имеются данные вида context_of_revision, определяемые только одним объектом Ship_moulded_form. Каждый объект Ship_moulded_form определяет данные вида context_of_revision для нулевого, единичного или нескольких объектов Ship_moulded_ form_revision.

4.3.96 Объекты Ship_overall_dimensions и Ship

Для каждого объекта Ship_overall_dimensions имеются данные вида defined_for, определяемые одним или несколькими объектами Ship. Каждый объект Ship определяет данные вида defined_for для нулевого, единичного или нескольких объектов Ship_overall_dimensions.

4.3.97 Объекты Shiptype и Ship

Для каждого объекта Shiptype имеются данные вида defined_for, определяемые одним или несколькими объектами Ship. Каждый объект Ship определяет данные вида defined for для нулевого, единичного или нескольких объектов Shiptype.

4.3.98 Объекты Shipyard_designation и Named_unit

Дя каждого объекта Shipyard_designation имеются данные вида units, определяемые только нулевым объектом Named_unit. Каждый объект Named_unit определяет данные вида units только для нулевого объекта Shipyard_designation.

Примечание — Это утверждение вводится путем выбора unit.

4.3.99 Объекты Shipyard_designation и Derived_unit

Для каждого объекта Shipyard designation имеются данные вида units, определяемые только нулевым объектом Derived_unit. Каждый объект Derived_unit определяет данные вида units только для нулевого объекта Shipyard_designation.

Примечание — Это утверждение вводится путем выбора unit.

4.3.100 Объекты Spacing_position_with_offset и Spacing position

Для каждого объекта Spacing_position_with_offset имеются данные вида relating_spacing_position, определяемые только одним объектом Spacing_position. Каждый объект Spacing_position определяет данные вида relating_spacing_position для нулевого, единичного или нескольких объектов Spacing_ positionwithoffset.

102

ГОСТ Р ИСО 10303-216—2023

4.3.101 Объекты Spacing table и Spacing_position

Для каждого объекта Spacing_table имеются данные вида spacingjable_ representations, определяемые нулевым или множественными объектами Spacing_ position. Каждый объект Spacing_position определяет данные вида spacing_table_ representations нулевым, единичным или множественными объектами Spacing_table.

4.3.102 Объекты Stability_definition и Ship

Для каждого объекта Stability_definition имеются данные вида defined_for, определяемые одним или несколькими объектами Ship. Каждый объект Ship определяет данные вида defined_for для нулевого, единичного или нескольких объектов Stability_definition.

4.3.103 Объекты Stability_definition и Stabilityjable

Для каждого объекта Stability_definition имеются данные вида representations, определяемые одним или несколькими объектами Stability_table. Каждый объект Stability_table определяет данные вида representations для нулевого, единичного или нескольких объектов Stability_definition.

4.3.104 Объекты Stability_properties_for_one_floating_position и Centrejocation

Для каждого объекта Stability_properties_for_one_floating_position имеются данные вида centre_ of_gravity_above_keel, определяемые только одним объектом Centrejocation. Каждый объект Centre_ location определяет данные вида centre_of_gravity_above_keel для нулевого, единичного или множественных объектов Stability_propertiesjor_onejloating_position.

4.3.105 Объекты Stability_properties_for_one_floating_position и Floating_position

Для каждого объекта Stability_properties_for_one_floating_position имеются данные вида definition_ of starting floating position, определяемые только одним объектом Floating_position. Каждый объект Floating_position определяет данные вида definition_of_starting_floating_position для нулевого, единичного или множественных объектов Stability_properties_for_one_floating_position.

4.3.106 Объекты Stability_properties_for_one_floating_position и Stability_property

Для каждого объекта Stability_propertiesjor_onejloating_position имеются данные вида stability_ properties for different angles of heel, определяемые одним или несколькими объектами Stability_prop-erty. Каждый объект Stability_property определяет данные вида stability_propertiesjor_different_angles_of_ heel для нулевого, единичного или множественных объектов Stability_properties_for_one_floating_position.

4.3.107 Объекты Stability_property и Centrejocation

Для каждого объекта Stability_property имеются данные вида centre_of_buoyancy, определяемые только одним объектом Centrejocation. Каждый объект Centrejocation определяет данные вида centre_of_buoyancy для нулевого, единичного или множественных объектов Stability_property.

4.3.108 Объекты Stability_table и Stability_properties_for_one_floating_position

Для каждого объекта Stabilityjable имеются данные вида items, определяемые одним или несколькими объектами Stability_properties_for_onejloating_position. Каждый объект Stability_properties_ for_onejloating_position определяет последовательный список данных related_stabilityjable для одного или нескольких объектов Stabilityjable.

4.3.109 Объект Surface_with_identifier в Globaljd

Для каждого идентификатора Surface_withjdentifier есть id, определяемый точно одним глобальным идентификатором Globaljd. Каждый Globaljd определяет id для нулевого, одного или нескольких объектов Surface_withjdentifier.

4.3.110 Объекты Thruster_moulded_form_design_parameter и Centrejocation

Для каждого объекта Thruster_mouldedjorm_design_parameter имеются данные вида geometric_ thrusterJocation, определяемые только одним объектом Centrejocation. Каждый объект Centrejocation определяет данные вида geometricjhrusterjocation для нулевого, единичного или множественных объектов Thruster_moulded_form_design_parameter.

4.3.111 Объекты Thruster_moulded_form_design_parameter и Propeller_ moulded_form_ designparameter

Для каждого объекта Thruster_mouldedjorm_design_parameter имеются данные вида thruster_ propeller_parameter, определяемые только одним объектом Propeller_moulded Jorm_design_parameter. Каждый объект Propeller moulded form design parameter определяет данные вида thruster_propeller_parameter для нулевого, единичного или множественных объектов Thruster_moulded_form_design_parameter.

4.3.112 Объекты Transversal table и Transversal position

Для каждого объекта TransversalJable имеются данные вида spacingJable_representations, определяемые нулевым, единичным или множественными объектами Transversal_position. Каждый объект Transversal_position определяет данные вида spacingJable_representations для нулевого, единичного или множественного объектов TransversalJable.

103

ГОСТ Р ИСО 10303-216—2023

4.3.113 Объекты Version_creation и Versionable_object

Для каждого объекта Version_creation имеются данные вида base, определяемые нулевым, единичным или несколькими объектами Versionable_object. Каждый Versionable_object определяет данные вида base для нулевого, единичного или нескольких объектов Version_creation.

Для каждого объекта Version_creation имеются данные вида subject, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные вида base для нулевого, единичного или нескольких объектов Version_creation.

4.3.114 Объекты Version_deletion и Versionable_object

Для каждого объекта Version_deletion имеются данные вида subject, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные вида subject для нулевого, единичного или нескольких объектов Version_deletion.

4.3.115 Объекты Version history и Version_relationship

Для каждого объекта Version_history имеются данные вида relationships, определяемые нулевым, единичным или несколькими объектами Versionable_relationship. Каждый Versionable_relationship определяет данные вида relationships для нулевого, единичного или нескольких объектов Version_history.

4.3.116 Объекты Version_history и Versionable_object

Для каждого объекта Version_history имеются данные вида versions, определяемые одним или несколькими объектами Versionable_object. Каждый Versionable_object определяет данные вида versions для нулевого, единичного или нескольких объектов Version_history.

Для каждого объекта Version_history имеются данные вида current_version, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные вида current_version для нулевого, единичного или нескольких объектов Version_history.

4.3.117 Объекты Version_modification и Versionable_object

Для каждого объекта Version_modification имеются данные вида base, определяемые одним или несколькими объектами Versionable_object. Каждый Versionable_object определяет данные вида base для нулевого, единичного или нескольких объектов Version_modification.

Для каждого объекта Version_modification имеются данные вида subject, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные вида subject для нулевого, единичного или нескольких объектов Version_modification.

4.3.118 Объекты Version relationship и Versionable_object

Для каждого объекта Version_relationship имеются данные вида predecessor, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные вида predecessor для нулевого, единичного или нескольких объектов Version_relationship.

Для каждого объекта Version_relationship имеются данные вида successor, определяемые только одним объектом Versionable_object. Каждый Versionable_object определяет данные вида successor для нулевого, единичного или нескольких объектов Version_relationship.

4.3.119 Объекты Vertical_table и Vertical_position

Для каждого объекта Vertical_table имеются данные вида spacing_table_representations, определяемые нулевым, единичным или множественными объектами Vertical_position. Каждый объект Vertical_ position определяет данные вида spacing_table_representations нулевым, единичным или множественными объектами Vertical_table.

4.3.120 Объекты Wireframe_shape_representation и Ship_curve

Для каждого объекта Wireframe_shape_representation имеются данные вида items, определяемые одним или несколькими объектами Ship_curve. Каждый объект Ship_curve определяет данные вида items для нулевого, единичного или множественных объектов Wireframe_shape_representation.

5 Прикладная интерпретированная модель

5.1 Спецификация отображения

Данный раздел содержит спецификацию отображения, показывающую, как каждая функциональная единица и прикладной объект настоящего стандарта (см. раздел 4) отображается в одну или несколько структур ПИМ (см. приложение А). В каждом отображении указано до пяти элементов.

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

104

ГОСТ Р ИСО 10303-216—2023

Элемент ПИМ: Наименование одного или нескольких типов данных объектов ПИМ, приведенных в приложении А, термин «IDENTICAL MAPPING» (ИДЕНТИЧНОЕ ОТОБРАЖЕНИЕ) или термин «PATH» (ПУТЬ). Наименования типов данных объектов ПИМ приведены строчным буквами. Атрибуты типов данных объектов ПИМ указывают как <entity name>.<attribute name>. Отображение прикладного элемента может быть выражено несколькими элементами ПИМ. Каждый из этих элементов ПИМ представлен в спецификации отображения отдельной строкой. Термин «IDENTICAL MAPPING» указывает, что оба прикладных элемента, участвующие в прикладном утверждении, отображаются в тот же самый экземпляр типа данных объекта ПИМ. Термин «PATH» указывает, что прикладное утверждение отображается в набор соответствующих элементов объекта ПИМ, заданный полным ссылочным путем.

Источник: Для элементов ПИМ, интерпретируемых из любого общего ресурса, в этой графе указывается обозначение стандарта ИСО и части, в которой оределен этот ресурс. Для элементов ПИМ, введенных в настоящий стандарт, это обозначение будет «ИСО 10303», после которого указывается обозначение настоящей части.

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

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

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

□ заключенная в скобки секция ограничивает разнородные элементы ПИМ или секции ссылочного пути с целью выполнения информационного требования;

( ) заключенная в скобки секция ограничивает разнородные элементы ПИМ или секции ссылочного пути, обозначаемые как альтернативные в пределах данного отображения, с целью выполнения информационного требования;

{ } заключенная в фигурные скобки секция ограничивает ссылочный путь с целью выполнения информационного требования;

< > заключенная в скобки секция ограничивает один или несколько ссылочных путей;

| | заключенная в скобки секция ограничивает объект супертипа;

-> атрибут ссылается на объект или выбранный тип данных, указанный в следующей строке;

<- ссылка атрибута на объект или выбранный тип данных приведена в следующей строке;

[I] атрибут представлен агрегированным типом, единственный член которого указан в следующей строке;

[п] атрибут представлен агрегированным типом, член п которого указан в следующей строке;

=> объект является супертипом объекта, указанного в следующей строке;

<= объект является подтипом объекта, указанного в следующей строке;

= для ограничения выбора или значения используют данные следующих типов:строкового (string), выбранного (select) или перечисления (enumeration);

\ запись ссылочного пути продолжается на следующей строке;

* используется совместно со скобками, чтобы указать, что любое количество типов отношений данных объектов может быть собрано в структуру древа отношений;

// заключенная в скобки секция является приложением одного из шаблонов отображения, определенных в 5.1.1 ниже;

-- следующий текст является комментарием (обычно ссылка на пункт).

Ключевые отображения для данной части настоящего стандарта представлены в таблице 1.

Таблица 1 — Ключевые отображения для АР216

Ключевые объекты ПЭМ АР216

Отображение в объектах части 40

Shiptype

р rod u ct_rel ated_prod u ct_categ о ry

Ship

product

105

ГОСТ Р ИСО 10303-216—2023

Окончание таблицы 1

Ключевые объекты ПЭМ АР216

Отображение в объектах части 40

Ship_moulded_form

Moulded_form

Principal_characteristics

Class_and_statutory_designation

Class_parameters

Ship_designation

Shipyard_designation

Owner_designation

Global_axis_placement

product_definition

Moulded_form_relationship

product_definition_relationship

Moulded_form_functional_definition

Class_notation

Regulation

Displacement_operation

Hydrostatic_definition

Stability_definition

Moulded_form_characteristics

Definition (and Subtypes)

Local_co_ordinate_system

Local_co_ordinate_system_with_position_reference

Spacing_table

property_definition

Moulded_form_design_definition

product_definition_shape

Wireframe_shape_representation

shape_representation

Surface_shape_representation

non_manifold_surface_shape_representation

Hydrostatic_table Stability_table Midship_tumble Propellerjocation

representation

Offsetjable_shape_representation

shape_representation

Hydrostatic_property

Hydrostatic_property_for_constantjloating_position

Floating_position

Stability_properties_for_one_floating_position

Stability_property

Offset_pointjable_model

Section_of_offset_point_table

Ship_point

Ship_curve

Ship_surface

Spacing_position

compound_representationjtem

106

ГОСТ Р ИСО 10303-216—2023

Для определения шаблонов отображения используются следующие сокращения:

ACT — action;

ASSGN — assignment;

CART — cartesian;

CAT — category;

CD — context-dependent;

DEF — definition;

DESC — description;

DO — definable_object;

DOC — document;

EXT — external;

FUNC — function;

GEO — geometry;

INST — instance;

ORG — organization;

RD — productdefinition;

PDCD — product_definition to characterized_definition;

PDR — product_definition_representation;

PERS — person;

PROD — product;

PROP — property;

REF — reference;

REL — relationship;

REP — representation;

SA— shape_aspect;

SAR — shape_aspect_relationship;

SDR — shape_definition_representation;

SRC — source;

VAL — value;

VO — versionable_object.

5.1.1 Шаблоны отображения

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

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

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

- описания формальных параметров шаблона, если есть;

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

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

Непустые символы, следующие за первым знаком «/», определяют имя шаблона отображения. Имя шаблона отображения указывается заглавными буквами. За именем шаблона следует список параметров, передаваемых по значению, отделенных запятыми и заключенных в круглые скобки. Значения параметров задаются строчными буквами, за исключением случая, когда параметр, передаваемый по значению, является строковым литералом, включающим символы верхнего регистра.

107

ГОСТ Р ИСО 10303-216—2023

В определениях и приложениях шаблонов применяются следующие условные обозначения:

/ отмечает начало и конец сигнатуры шаблона или приложения шаблона;

& присоединяет имя формального параметра в определении тела шаблона;

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

, отделяет формальные параметры в сигнатуре шаблона или параметры, передаваемые по значению, в приложении шаблона;

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

Параметры, передаваемые по значению, не заключенные в кавычки, являются идентификаторами вида данных языка EXPRESS.

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

5.1.1.1 Шаблон APPROVES

Шаблон отображения APPROVES указывает ограничение ссылочного пути, в котором экземплярами вида ENTITY являются approvaljtems в экземплярах вида applied_approval_assignment с заданным для присвоения именем роли ARM_ROLE.

Пример — Пример использования шаблона APPROVES для присвоения значения approval данным вида product_definition_shape в роли 'subject':

approval <-

/APPROVES (product_definition_shape, 'subject') /

Сигнатура:

/APPROVESfENTITY, ARM_ROLE)/

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

ENTITY: идентификатор вида данных экземпляра ПИМ, которому присваивается значение

ARM_ROLE: значение атрибута имени для object_role

Тело шаблона:

approval_assignment.assigned_approval

approval_assignment =>

{/ROLE_ASSGN(approval_assignment) /

[object_role. name = &ARM_ROLE] }

applied_approval_assignment

applied_approval_assignment.iterns[i] ->

approval_itern

approval_item = &ENTITY

5.1.1.2 Шаблон CLASS

Шаблон отображения CLASS задает ограничение ссылочного пути, в котором экземплярами типа Т являются classification_items в экземплярах applied_classification_assignment, где имя роли, указанное для присвоения, имеет значение 'class membership', а назначенная классификация имеет значение group, атрибуту имени которого присвоено значение ID. Экземпляр group также связан с родительским экземпляром group (через экземпляр group_relationship), атрибуту имени которого присвоено значение SJD.

Пример — Иллюстрация использования шаблона CLASS для присвоения группы с именем 'plate' данным вида product_definition:

/CLASS(product_definition, 'plate', 'structural part')/

Сигнатура:

/CLASS(T, ID, SJD)/

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

T: тип классифицируемого экземпляра

ID: имя группы, тип классифицируемого экземпляра

SJD: имя группы прямого предка

Тело шаблона: &т

classi fication_itern = &Т

class!fication_item <-

applied_classification_assignment. items [i]

applied_classification_assignment <=

classification_assignment

108

ГОСТ Р ИСО 10303-216—2023

{classification_assignment.role ->

classification_role

classification_role.name = 'class membership'}

classi fication_assignment

classification_assignment.assigned_classification ~> group

{[group.name = &ID] [group <-

group_relationship.related_group

group_relationship

{group_relationship.name = 'specialisation'}

group_relationship

group_relationship.relating_group -> group

{group.name = &S_ID} ]}

group -> class

5.1.1.3 Шаблон CLASS_HELP

Шаблон отображения CLASS_HELP задает ограничение ссылочного пути, в котором экземплярами типа Т являются classificationjtems в экземплярах applied_classification_assignment, где имя роли, указанное для присвоения, имеет значение 'class membership', а назначенной классификацией является супертип экземпляра group.

Сигнатура:

CLASS_HELP(T)

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

Т: тип классифицируемого экземпляра

Тело шаблона:

{&т

classification_item = &Т

classification_item <-

applied_classification_assignment.items[i]

applied_classification_assignment <=

classification_assignment

{classification_assignment.role ->

classification_role

classification_role.name = 'class membership'}

classification_assignment.assigned_classification -> group =>

5.1.1.4 Шаблон CLASS_ID

Шаблон отображения CLASS_ID задает ограничение ссылочного пути, в котором экземплярами типа Т являются classificationjtems в экземплярах applied_classification_assignment, где имя роли, указанное для присвоения, имеет значение 'class membership', а назначенная классификация имеет значение group, атрибуту имени которого присвоено значение ID.

Примечание — Семантика шаблона заключается в выборе экземпляра с именем группы ID.

Пример — Иллюстрация использования шаблона CLASS_ID, подтверждающего, что у экземпляра изделия есть имя класса 'ship':

action item = product product

{/CLASS_ID(product, 'ship')/}

Сигнатура:

/CLASS_ID(T, ID)/

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

T: тип классифицируемого экземпляра

ID: имя группы

Тело шаблона: &т classification_item = &Т classification_item <-applied_classification_assignment.items[i]

109

ГОСТ Р ИСО 10303-216—2023

applied_classification_assignment <= classification_assignment

{classification_assignment.role -> classi fication_role

classification_role.name = 'class membership'}

classification_assignment.assigned_classification -> group =>

{group.name = &ID} class

5.1.1.5 Шаблон COMPOUND

Шаблон отображения COMPOUND указывает ограничение ссылочного пути, в котором путь от compound representation item до representationjtem присваивает значение атрибуту representationjtem.name.

Сигнатура:

/COMPOUND(NAME)/

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

NAME: значение атрибута имени для representationjtem

Тело шаблона:

compound_representation_item

compound_representation_item.item_element ->

compound_item_definition = list_representation_item list_representation_item[i] ->

representation_item =>

{representation_item.name = &NAME}

5.1.1.6 Шаблон DATE_TIME_ASSGN

Шаблон отображения DATE_TIME_ASSGN задает ограничение ссылочного пути, в котором экземпляру типа Т присвоено значение date_and_time, и у этого присваивания имеется роль ROLE.

Сигнатура:

/DATE_TIME_ASSGN(T, ROLE)/

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

Т: тип экземпляра, у которого есть присваивание date_and_time ROLE: значение атрибута имени для datejime_role

Тело шаблона:

{date_and_time_item = &Т} date_and_time_item <-applied_date_and_time_assignment.items[i] applied_date_and_time_assignment <= date_and_time_assignment

{date_and_time_assignment.role ->

date_time_role

[date_time_role.name = &ROLE]}

date_and_time_assignment.assigned_date_and_time -> date_and_time

5.1.1.7 Шаблон DESCRIPTION_ASSGN

Шаблон отображения The DESCRIPTION_ASSGN задает ограничение ссылочного пути, в котором description_attribute присваивается экземпляру ENTITY, содержащему полученный атрибут описания. Создание атрибута описания основывается на объекте Basic_attribute_schema согласно ИСО 10303-41.

Примечание — Шаблон DESCRIPTION_ASSGN используется следующими видами данных объекта для совокупности их атрибута описания:

- action_request_solution;

- application_context;

- approval_role;

- configuration_design;

- date_role;

- datejime_role;

- context_dependent_shape_representation;

- effectivity;

110

ГОСТ Р ИСО 10303-216—2023

- external_source;

- organization_role;

- person_and_organization_role;

- person_and_organization;

- person_role;

- property_definition_representation;

- representation;

- time_role.

Сигнатура:

/DESCRIPTION_ASSGN(ENTITY)/

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

ENTITY: тип объекта, которому присваивается description_attribute

Тело шаблона: &ENTITY description_attribute_select = &ENTITY description_attribute_select <-description_attribute.described_item description_attribute description_attribute.attribute_value 5.1.1.8 Шаблон DESCRIPTION_ASSGN_WITH_VAL Шаблон отображения DESCRIPTION_ASSGN_WITH_VAL задает ограничение ссылочного пути, в котором экземпляру ENTITY присваивается атрибут description_attribute, содержащий созданный атрибут описания, а значение этого атрибута описания присвоено шаблоном DESC_VALUE.

Примечание — Шаблон DESCRIPTION_ASSGN_WITH_VAL используется следующими видами данных сущности для совокупности их атрибута описания:

- action_request_solution;

- application_context;

- approval_role;

- configuration_design;

- date_role;

- date_time_role;

- context_dependent_shape_representation;

- effectivity;

- external_source;

- organization_role;

- person_and_organization_role;

- person_and_organization;

- person_role;

- property_definition_representation;

- representation;

- time_role.

Сигнатура:

/DESCRIPTION_ASSGN_WITH_VAL(ENTITY, DESC_VALUE)/

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

ENTITY: тип объекта, которому присваивается description_attribute

DESC_VALUE: значение, присваиваемое объекту description_attribute.attribute_ value Тело шаблона:

&ENTITY

description_attribute_select = &ENTITY description_attribute_select <— description_attribute.described_item description_attribute description_attribute.attribute_value {description_attribute.attribute_value = &DESC_VALUE} 5.1.1.9 Шаблон DOC_REF

Шаблон отображения DOC_REF задает ограничение ссылочного пути, в котором экземпляр типа Т ссылается на document или document_usage_constraint, который играет роль ID.

111

ГОСТ Р ИСО 10303-216—2023

Сигнатура:

/DOC_REF(T, ID)/

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

Т: тип объекта, который указывет document ID: значение атрибута name для object_role Тело шаблона: &т

document_reference_item = &Т document_reference_item <-applied_document_reference. items [i] applied_document_reference <= document_reference

{/ROLE_ASSGN(document_reference) / [object_role.name = &ID] } document_reference document_reference. assigned_document -> (document) (document <-

document_usage_constraint.source document_usage_constraint)

5.1.1.10 Шаблон EXT_INST_REF

Шаблон отображения EXT_INST_REF задает ограничение ссылочного пути, в котором объекту типа LT присваивается объект external_identification_assignment в роли 'external instance reference'. Объект external_identification_assignment ссылается на объект external_source, атрибуту source id которого присваивается значение SN. Этот объект external_source будет отнесен к другому объекту external_source, атрибуту source id которого присваивается значение ЕТ.

Сигнатура:

/EXT_INST_REF(LT, SN, ЕТ)/

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

LT: тип, экземпляр которого представляет внешний экземпляр в локальной модели экземпляра SN: имя внешней схемы

ЕТ: тип внешнего объекта

Тело шаблона:

[&LT.description = 'external instance reference target'] [&LT = external_identification_item external_identification_item <-

applied_external_identification_assignment.items[i] applied_external_identification_assignment <= external_identification_assignment <= ID_ROLE('external instance reference') external_identification_assignment.source -> external_source [external_source. source_id-> source_item = identifier {identifier = &SN}]

[{DESCRIPTION_ASSGN_WITH_VAL(external_source, 'schema name')}] [EXT_SRC_REL('entity type') {identifier = &ET}]]

5.1.1.11 Шаблон EXT_SRC_REL

Шаблон отображения EXT_SRC_REL задает ограничение ссылочного пути, в котором объект external_source связан с другим объектом external_source, при этом у последнего объекта будет иметься определение DESCR. Эта концепция может использоваться в основном в двух местах:

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

- для отображения External_instance_reference.

Сигнатура:

/EXT_SRC_REL(DESCR)/

112

ГОСТ Р ИСО 10303-216—2023

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

DESCR: значение атрибута description для external_source

Тело шаблона:

external_source <-

external_source_relationship. relating_source external_source_relationship

{external_source_relationship.name = 'composition'} external_source_relationship. related_source external_source {DESCRIPTION_ASSGN_WITH_VAL(external_source, &DESCR)} external_source

external_source.source_id -> source_item

source_item = identifier

5.1.1.12 Шаблон GROUPS

Шаблон GROUPS задает ограничение ссылочного пути, в котором экземплярами типа ENTITY являются group_items в applied_group_assignment, при этом роль присваивания имеет значение ARM_ROLE.

Пример — Иллюстрация использования шаблона GROUPS для добавления product_definition к группе с ролью 'item structure':

group <-

/GROUPS(product_definition, 'item structure')/

Сигнатура:

/GROUPS(ENTITY, ARM_ROLE)/

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

ENTITY: группируемые объекты, играющие роль ARM_ROLE

ARM_ROLE: значение атрибута name для object_role

Тело шаблона:

group_assignment.assigned_group group_assignment =>

{/ROLE_ASSGN(group_assignment)/

[object_role.name = &ARM_ROLE]} applied_group_assignment

applied_group_assignment.items[i] -> group_item

group_item = &ENTITY

5.1.1.13 Шаблон HAS_ID_1_ROLE

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

Сигнатура:

/HAS_ID_1_ROLE(T, ROLE)/

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

Т: тип объекта, которому присваивается identification assignment

ROLE: значение атрибута name для identification_role

Тело шаблона:

IDENTIFICATION(&Т)

[identification_role.name = &ROLE]} identification_assignment

identification_assignment.assigned_id

5.1.1.14 Шаблон HAS_ID_2_ROLES

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

Сигнатура:

/HAS_ID_2_ROLES(T, ROLE1, ROLE2)/

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

Т: тип объекта, которому присваивается identification assignment

113

ГОСТ Р ИСО 10303-216—2023

ROLE1: значение атрибута name для identification_role

ROLE2: значение атрибута name для identification_role

Тело шаблона:

IDENTIFICATION(&Т)

[(identification_role.name = &ROLE1)

(identification_role.name = &ROLE2)]}

identification_assignment

identification_assignment.assigned_id

5.1.1.15 Шаблон ID_ASSGN

Шаблон отображения ID_ASSGN задает ограничение ссылочного пути, в котором id_attribute присваивается экземпляру ENTITY, содержащему полученный атрибут id. Создание атрибута id основывается на объекте Basic_attribute_schema согласно ИСО 10303-41.

Примечание — Шаблон ID_ASSGN используется следующими видами данных объекта для совокупности их атрибута id:

- action;

- address;

- product_category;

- property_definition;

- shape_aspect;

- shape_aspect_relationship;

- application_context;

- group;

- organizational_project;

- representation.

Сигнатура:

/ID_ASSGN(ENTITY)/

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

ENTITY: тип объекта, которому присваивается атрибут id_attribute

Тело шаблона:

&ENTITY

id_attribute_select = &ENTITY

id_attribute_select <-

id_attribute.identified_item

id_attributeid_attribute.attribute_value

5.1.1.16 Шаблон ID_ROLE

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

Сигнатура:

/ID_ROLE(ROLE)/

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

ROLE: значение атрибута name для identification role

Тело шаблона:

identification_assignment

{identification_assignment.role ->

identificaton_roie

[identification_role.name = &ROLE]}

5.1.1.17 Шаблон IDENTIFICATION

Шаблон отображения IDENTIFICATION задает ограничение ссылочного пути, в котором объекту типа Т присваивается identification_assignment. Этот шаблон отображения используется главным образом в других макросах.

Сигнатура:

/IDENTIFICATION(T)/

Т: тип объекта, которому присваивается identification assignment

Тело шаблона:

identification_item = &Т

114

ГОСТ Р ИСО 10303-216—2023

identification_item <-

applied_identification_assignment.items[i] applied_identification_assignment <= identification_assignment {identification_assignment.role -> identification_role 5.1.1.18 Шаблон LINK_TO_GROUP Шаблон отображения LINK_TO_GROUP задает ограничение ссылочного пути, в котором экземпляр типа Т привязан к объекту group через applied_group_assignment.

Примечание — Используется для всех типов прикладных объектов, представляющих собой подтипы объекта Item (см. 4.2.52) и объекта ltem_structure (см. 4.2.54).

Сигнатура:

/LINK_TO_GROUP(T)/

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

Т: группируемый объект

Тело шаблона:

group_item = &Т <-

applied_group_assignment.items[i] applied_group_assignment <= group_assignment

{ROLE_ASSGN(group_assignment) object_role.name = 'equivalence'} group_assignment group_assignment.assigned_group -> group group.name = 'item and item_structure' 5.1.1.19 Шаблон NAME_ASSGN Шаблон отображения NAME_ASSGN задает ограничение ссылочного пути, в котором name_ attribute присваивается экземпляру ENTITY, содержащему полученный атрибут name. Создание атрибута name основывается на объекте Basic_attribute_schema согласно ИСО 10303-41.

Примечание — Шаблон NAME_ASSGN используется следующими видами данных объекта для совокупности их атрибута name:

- action_request_solution;

- address;

- configuration_design;

- context_dependent_shape_representation;

- derived_unit;

- effectivity;

- person_and_organization;

- product_definition;

- product_definition_substitute;

- property_definition_representation.

Сигнатура:

/NAME_ASSGN(ENTITY)/

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

ENTITY: тип объкта, которому присваивается атрибут name_attribute Тело шаблона: &ENTITY name_attribute_select = &ENTITY name_attribute_select <-name_attribute.named_item name_attribute name_attribute.attribute_value 5.1.1.20 Шаблон NAME_ASSGN_WITH_VAL

Шаблон отображения NAME_ASSGN_WITH_VAL задает ограничение ссылочного пути, в котором экземпляру ENTITY присваивается атрибут name_attribute, содержащий созданный атрибут name, а значение этого атрибута name присвоено шаблоном NAME_VALUE.

115

ГОСТ Р ИСО 10303-216—2023

Примечание — Шаблон NAME_ASSGN используется следующими видами данных объекта для совокупности их атрибута name:

- action_request_solution;

- address;

- configuration_design;

- context_dependent_shape_representation;

- derived_unit;

- effectivity;

- person_and_organization;

- product_definition;

- product_definition_substitute;

- property_definition_representation.

Сигнатура:

/NAME_ASSGN_WITH_VAL(ENTITY,NAME_VALUE)/

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

ENTITY: тип объекта, которому присваивается атрибут name_attribute NAME_VALUE: значение, присваиваемое для name_attribute.attribute_value Тело шаблона: &ENTITY name_attribute_select = &ENTITY name_attribute_select <-name_attribute.named_item name_attribute {name_attribute.attribute_value = '&NAME_VALUE'}

5.1.1.21 Шаблон ORG_ASSGN_PART

Шаблон отображения ORG_ASSGN_PART задает ограничение ссылочного пути, в котором экземпляру типа Т присваивается identification_assignment.

Сигнатура:

/ORG_ASSGN_PART(T)/ Определения параметров:

Т: тип объекта, которому присваивается organization_assignment Тело шаблона: &т organization_item = &T organization_item <-applied_organization_assignment.items [i] applied_organization_assignment <= organization_assignment 5.1.1.22 Шаблон ORG_ASSGN

Шаблон отображения ORG_ASSGN задает ограничение ссылочного пути, в котором экземпляру типа Т присваивается объект organization, где роль этого присваивания имеет значение ROLE.

Сигнатура:

/ORG_ASSGN(T, ROLE)/ Определения параметров:

Т: объект, присваиваемый для organization ROLE: значение атрибута name для organization_role Тело шаблона: &т organization_item = &Т organization_item <-applied_organization_assignment.items[i] applied_organization_assignment <= organization_assignment {organization_assignment.role -> organization_role [organization_role.name = &ROLE]} organization_assignment

116

ГОСТ Р ИСО 10303-216—2023

organization_assignment.assigned_organization ->

organization

5.1.1.23 Шаблон PDR_NAME

Шаблон отображения PDR_NAME задает ограничение ссылочного пути, в котором для property_ definition_representation.name присваивается значение NAME.

Сигнатура:

/PDR_NAME(NAME)/

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

NAME: значение атрибута name для property definition representation

Тело шаблона:

prope гt y_de finit ion_representat ion.definition

property_def inition_representation

{ [NAME_ASSGN_WITH_VAL(property_de f ini t ion_representat ion, '&NAME')]}

property_definition_representation.used_representation

5.1.1.24 Шаблон PERS_ASSGN

Шаблон отображения PERS_ASSGN задает ограничение ссылочного пути, в котором объекту типа Т присваивается лицо с ролью ROLE.

Сигнатура:

/PERS_ASSGN(T, ROLE)/

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

Т: объект, которому приваивается person

ROLE: значение атрибута name для organization_role

Тело шаблона:

person_item = &Т

person_item <-

applied_peгson_assignment.items[i]

applied_person_assignment <=

person_assignment

{person_assignment.role ->

person_role

person_role.name = &ROLE}

person_assignment

person_assignment.assigned_person ->

person

5.1.1.25 Шаблон PERS_ORG_ASSGN

Шаблон отображения PERS_ORG_ASSGN задает ограничение ссылочного пути, в котором объекту типа Т присваивается лицо и организация с ролью ROLE.

Сигнатура:

/PERS_ORG_ASSGN(T, ROLE)/

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

Т: объект, которому присваивается person_and_organization

ROLE: значение атрибута name для person_and_organization_role

Тело шаблона:

person_and_organization_item = &Т

person_and_organisation_item <—

applied_person_and_organization_assignment.items[i]

applied_person_and_organization_assignment <=

person_and_organization_assignment

{person_and_organization_assignment.role ->

person_and_organization_role

person_and_organization_role.name = &ROLE}

person_and_organization_assignment

person_and_organization_assignment.assigned_person_and_organization

person_and_organization

117

ГОСТ Р ИСО 10303-216—2023

5.1.1.26 Шаблон PROD_CAT_NAME

Шаблон отображения PROD_CAT_NAME задает ограничение ссылочного пути, в котором для property_category.name присваивается значение NAME.

Сигнатура:

/PROD_CAT_NAME(NAME)/

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

NAME: значение, задаваемое для атрибута name для product_category

Тело шаблона:

product_related_product_category <=

product_category

{product_categorу.name = &NAME}

5.1.1.27 Шаблон PROD_DEF_PRODUCT

Шаблон отображения PROD_DEF_PRODUCT задает ограничение ссылочного пути, в котором product_definition связан с product.

Сигнатура:

/PROD_DEF_PRODUCT/

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

Тело шаблона:

product_definition

product_definition.formation ->

product_de f in i t ion_f ormat i on

product_definition_formation.of_product ->

product

5.1.1.28 Шаблон PROD_DEF_PROP_DEF

Шаблон отображения PROD_DEF_PROP_DEF задает ограничение ссылочного пути, в котором productdefinition связан с property_definition.

Сигнатура:

/PROD_DEF_PROP_DEF/

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

Тело шаблона:

PRO D_DE F_PRO P_DE F_HE L P

propert y_de fini tion

5.1.1.29 Шаблон PROD_DEF_PROP_DEF_HELP

Шаблон отображения PROD_DEF_PROP_DEF_HELP задает ограничение ссылочного пути, в котором product_definition связан с property_definition.definition. Шаблон PROD_DEF_PROP_DEF_ HELP предназначен для использования другими шаблонами отображения.

Сигнатура:

/PROD_DEF_PROP_DEF_HELP/

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

Тело шаблона:

product_definition

characterized_product_definition = product_definition characterized_product_definition

characterized_definition = characterized_product_definition characterized_definition <-

property_definition.definition

5.1.1.30 Шаблон PROD_DEF_TO_DESC_REP_ITEM

Шаблон отображения PROD_DEF_TO_DESC_REP_ITEM задает ограничение ссылочного пути, в котором product_definition связан с descriptive_representation_item. Для descriptive_representation_ item.name будет присвоено значение ID2. Связь реализуется через property_definition_representaion, у которого имеется атрибут name, которому присвоено значение ID1. Шаблон PROD_DEF_TO_DESC_ REP_ITEM предназначен для использования другими шаблонами отображения.

Сигнатура:

/PROD_DEF_TO_DESC_REP_ITEM(ID1, ID2)/

118

ГОСТ Р ИСО 10303-216—2023

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

ID1: значение атрибута name для property_definition_representation

ID2: значение атрибута name для descriptive_representation_item

Тело шаблона:

PROD_DEF_PROP_DEF_HELP

PROP_DEF_TO_DESC_REP_ITEM(&ID1, &ID2)

5.1.1.31 Шаблон PROD_DEF_TO_REP

Шаблон отображения PROD_DEF_TO_REP задает ограничение ссылочного пути, в котором рroduct_definition связан с property_definition_representation с атрибутом name со значением ID. Шаблон PROD_DEF_TO_REP предназначен для использования другими шаблонами отображения.

Сигнатура:

/PROD_DEF_TO_REP(ID)/

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

ID: значение атрибута name для property_definition_representation

Тело шаблона:

PROD_DEF_PROP_DEF_HELP

PROP_DEF_REP_HELP(&ID)

5.1.1.32 Шаблон PROD_DEF_TO_SPECIAL_VAL_REP_ITEM

Шаблон отображения PROD_DEF_TO_SPECIAL_VAL_REP_ITEM задает ограничение ссылочного пути, в котором productdefinition связан с value_representation_item, который ссылается на measure_value, представляющий собой context_dependent_measure. Эта связь выполняется через property_definition_representation, атрибуту name которого будет присвоено значение ID1. Атрибуту name параметра value_representation_item будет присвоено значение ID2. Единицы для context_ dependent_measure будут определены данными вида derived_unit с атрибутом name со значением DER_UNIT_NAME. Шаблон PROD_DEF_TO_SPECIAL_VAL_REP_ITEM предназначен для использования другими шаблонами отображения.

Сигнатура:

/PROD_DEF_TO_SPECIAL_VAL_REP_ITEM(ID1, ID2, DER_UNIT_NAME)/

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

ID1: значение атрибута name для propertydefinitionrepresentation

ID2: значение атрибута name для value_representation_item

DER_UNIT_NAME: значение атрибута name для derivedunit

Тело шаблона:

PROD_DEF_PROP_DEF_HELP

PROP_DEF_TO_SPECIAL_VAL_REP_ITEM(&ID1, &ID2, &DER_UNIT_NAME)

5.1.1.33 Шаблон PROD_DEF_TO_UNITS

Шаблон отображения PROD_DEF_TO_UNITS задает ограничение ссылочного пути, в котором productdefinition связан с globalunitassignedcontext. Эта связь выполняется через property_ definition_representation с атрибутом name со значением ID. Шаблон ROD_DEF_TO_UNITS преднана-чен для использования другими шаблонами отображения.

Сигнатура:

/PROD_DEF_TO_UNITS(ID)/

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

ID: значение атрибута name для property_definition_representation

Тело шаблона:

PROD_DEF_PROP_DEF_HELP

PROP_DEF_TO_UNITS(&ID)

5.1.1.34 Шаблон PROD_DEF_TO_VAL_REP_ITEM

Шаблон отображения PROD_DEF_TO_VAL_REP_ITEM задает ограничение ссылочного пути, в котором product_definition связан с valuerepresentationitem, который ссылается на measure_value, тип которого задан параметром MEAS. Эта связь осуществляется через property_definition_representation с атрибутом name со значением ID1. Атрибуту name параметра value_representation_item будет присвоено значение ID2. Шаблон PROD_DEF_TO_VAL_REP_ITEM предназначен для использования другими шаблонами отображения.

Сигнатура:

/PROD_DEF_TO_VAL_REP_ITEM(ID1, ID2, MEAS)/

119

ГОСТ Р ИСО 10303-216—2023

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

ID1: значение атрибута name для property_definition_representation

ID2: значение атрибута name для value_representation_item

MEAS: заданный тип для measure_value

Тело шаблона:

PROD_DEF_PROP_DEF_HELP

PROP_DEF_TO_VAL_REP_ITEM(&ID1, &ID2, &MEAS)

5.1.1.35 Шаблон PROP_DEF_REP_HELP

Шаблон отображения PROP_DEF_REP_HELP задает ограничение ссылочного пути, в котором product_definition связан с property_definition_representation. Атрибуту name для property_ definition_representation дано значение ID. Шаблон PROP_DEF_REP_HELP предназначен для использования другими шаблонами отображения.

Сигнатура:

/PROP_DEF_REP_HELP(ID)/

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

ID: значение атрибута name для property_definition_representation

Тело шаблона:

property_definition

represented_definition = property_definition represented_definition <-

{[PDR_NAME('&ID')]}

5.1.1.36 Шаблон PROP_DEF_TO_DESC_REP_ITEM

Шаблон отображения PROP_DEF_TO_DESC_REP_ITEM задает ограничение ссылочного пути, в котором property definition связан с descriptive_representation_item, у которого имеется атрибут name с конкретным значением ID2. Эта связь осуществляется через property_definition_representation с атрибутом name с конкретным значением ID1.

Сигнатура:

/PROP_DEF_TO_DESC_REP_ITEM(ID1, ID2)/

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

ID1: значение атрибута name для property_definition_representation

ID2: значение атрибута name для descriptive_representation_item

Тело шаблона:

PROP_DEF_REP_HELP(&ID1)

REP_ITEM(&ID2)

descriptive_representation_item

descriptive_representation_item.description

5.1.1.37 Шаблон PROP_DEF_TO_REP

Шаблон отображения PROP_DEF_TO_REP задает ограничение ссылочного пути, в котором product_definition связан с representation через property_definition_representation.

Сигнатура:

/PROP_DEF_TO_REP/

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

Тело шаблона:

propeгty_definition

represented_definition = property_definition represented_definition <-

property_definition_representation.definition

property_definition_representation

property_definition_representation.used_representation -> representation

5.1.1.38 Шаблон PROP_DEF_TO_SPECIAL_VAL_REP_ITEM

Шаблон отображения PROP_DEF_TO_SPECIAL_VAL_REP_ITEM задает ограничение ссылочного пути, в котором property_definition связан с value_representation_item, который ссылается на measure_ value, представляющий собой context_dependent_measure. Эта связь выполняется через property_ definition_representation, атрибуту name которого будет присвоено значение ID1. Атрибуту name объекта value_representation_item будет присвоено значение ID2. Единицы для context_dependent_measure будут определены данными вида derived_unit с атрибутом name со значением DER_UNIT_NAME.

120

ГОСТ Р ИСО 10303-216—2023

Сигнатура:

ZPROP_DEF_TO_SPECIAL_VAL_REPJTEM(ID1, ID2, DER_UNIT_NAME)/

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

ID1: значение атрибута name для property definition representation

ID2: значение атрибута name для value_representation_item

DER_UNIT_NAME: значение атрибута name для derived_unit

Тело шаблона:

PROP_DEF_REP_HELP(&ID 1)

REP_TO_SPECIAL_VAL_REP_ITEM(&ID2, &DER_UNIT_NAME)

5.1.1.39 Шаблон PROP_DEF_TO_UNITS

Шаблон отображения PROP_DEF_TO_UNITS задает ограничение ссылочного пути, в котором property_definition связан с global_unit_assigned_context через property_definition_representation, атрибут name которого имеет значение ID. Параметр property_definition_representation ссылается на global_unit_assigned_context через экземпляр representation.

Сигнатура:

/PROP_DEF_TO_UNITS(ID)/

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

ID: значение атрибута name для property_definition_representation

Тело шаблона:

PROP_DEF_REP_HELP(&ID)

representation

representation.context_of_items ->

representation_context =>

global_unit_assigned_context

global_unit_assigned_context.units

5.1.1.40 Шаблон PROP_DEF_TO_VAL_REP_ITEM

Шаблон отображения PROP_DEF_TO_VAL_REP_ITEM задает ограничение ссылочного пути, в котором property_definition связан с value_representation_item, который ссылается на measure_ value, тип которого задан параметром MEAS. Эта связь осуществляется через property_definition_ representation с атрибутом name со значением ID1. Атрибуту name параметра value_representation_ item будет присвоено значение ID2.

Сигнатура:

/PROP_DEF_TO_VAL_REP_ITEM(ID1, ID2, MEAS)/

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

ID1: значение атрибута name для property_definition_representation

ID2: значение атрибута name для value_representation_item

MEAS: заданный тип для measure_value

Тело шаблона:

PROP_DEF_REP_HELP(&ID1)

REP_ITEM(&ID2)

value_representation_item

value_representation_item.value_component -> measure_value

{measure_value = &MEAS}

5.1.1.41 Шаблон PROP_TO_PROD_DEF

Шаблон отображения PROP_TO_PROD_DEF задает ограничение ссылочного пути, в котором property_definition связан с product_definition.

Сигнатура:

/PROP_TO_PROD_DEF/

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

Тело шаблона:

property_definition

property_defintion.definition -> characterized_definition characterized_definition = characterized_product_definition characterized_product_definition = product_definition

5.1.1.42 Шаблон RELATE_ACT_2_VO

Шаблон отображения RELATE_ACT_2_VO задает ограничение ссылочного пути, в котором у объекта типа Т, которому присваивается action, должна быть присвоенная классификация типа 'versionable object'.

121

ГОСТ Р ИСО 10303-216—2023

Сигнатура:

/RELATE_ACT_2_VO(T)/

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

Т: тип объекта, которому присваивается action

Тело шаблона:

applied_action_assignment

applied_action_assignment.items[i] ->

(action_item = &T

{CLASS_ID(&T, 'versionable object')})

5.1.1.43 Шаблон RELATE_GROUP_2_VO

Шаблон отображения RELATE_GROUP_2_VO задает ограничение ссылочного пути, в котором объекту типа Т присваивается group с ролью ROLE, при этом у объекта типа Т должна быть присвоенная классификация типа 'versionable object'.

Сигнатура:

/RELATE_GROUP_2_VO(T, ROLE)/

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

Т: тип объекта, присваиваемого объекту group

ROLE: имя, даваемое роли присваивания

Тело шаблона:

GROUPS(&Т, &ROLE)

{CLASS_ID(&Т,'versionable object')}

5.1.1.44 Шаблон RELATE_GROUP_2_DO

Шаблон отображения RELATE_GROUP_2_DO задает ограничение ссылочного пути, в котором объекту типа Т присваивается group с ролью ROLE, при этом у объекта типа Т должна быть присвоенная классификация типа 'definable object'.

Сигнатура:

/RELATE_GROUP_2_DO(T, ROLE)/

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

Т: тип объекта, присваиваемого объекту group

ROLE: имя, даваемое роли присваивания

Тело шаблона:

GROUPS(&Т, &ROLE)

{CLASS_ID(&Т,'definable object')}

5.1.1.45 Шаблон RELATE_ID_2_VO

Шаблон отображения RELATE_ID_2_VO задает ограничение ссылочного пути, в котором объекту типа Т присваивается identification_assignment с именем роли 'version identifier', при этом у объекта типа Т должна быть присвоенная классификация типа 'versionable object'. Этот шаблон отображения может пониматься как «обратный» шаблон отображения для шаблона VERSION_ID(T).

Сигнатура:

/RELATE_ID_2_VO(T)/

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

Т: тип объекта, у которого есть identification_assignment

Тело шаблона:

identification_assignment

{identification_assignment.role ->

identi fication_role

[identification_role.name = 'version identifier']} =>

applied_identification_assignment

applied_identification_assignment.items[i] ->

identification_item = &T

{CLASS_ID(&T, 'versionable object')}

5.1.1.46 Шаблон REPJTEM

Шаблон отображения REP_ITEM задает ограничение ссылочного пути, в котором representation связан с representation item. Для representation item.name присваивается значение ID. Шаблон REP_ITEM предназначен для использоания другими шаблонами отображения.

Сигнатура:

/REPJTEM(ID)/

122

ГОСТ Р ИСО 10303-216—2023

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

ID: значение атрибута name для representationjtem

Тело шаблона:

representation

representation.items [i] ->

representation_item =>

{representation_item.name = &ID}

5.1.1.47 Шаблон REP_TO_SPECIAL_VAL_REP_ITEM

Шаблон отображения REP_TO_SPECIAL_VAL_REP_ITEM задает ограничение ссылочного пути, в котором representation связан с value_representation_item, который ссылается на measure_value, представляющий собой context_dependent_measure. Атрибуту name для value_representation_item будет присвоено значение ID. Единицы для context_dependent_measure будут определяться данными вида derived_unit с атрибутом name со значением DER_UNIT_NAME.

Сигнатура:

/REP_TO_SPECIAL_VAL_REP_ITEM(ID, DER_UNIT_NAME)/

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

ID: значение атрибута name для value_representation_item

DER_UNIT_NAME: значение атрибута name для derived_unit

Тело шаблона:

representation

{representation.context_of_iterns ->

representation_context =>

global_unit_assigned_context

global_unit_assigned_context.units[i] -> unit =

derived_unit

[NAME_ASSGN_WITH_VAL(derived_unit, ' &DER_UNIT_NAME')]}

representation.items [i] ->

representation_item =>

{representation_item.name = &ID}

value_representation_item

value_representation_item.value_component -> measure_value

{measure_value = context_dependent_measure}

5.1.1.48 Шаблон REP_TO_VAL_REP_ITEM

Шаблон отображения REP_TO_VAL_REP_ITEM задает ограничение ссылочного пути, в котором representation связан с value_representation_item. Атрибуту name объекта value_representation_ item присвоено значение ID, при этом value_component представляет собой measure value, заданное с помощью MEAS.

Сигнатура:

/REP_TO_VAL_REP_ITEM(ID, MEAS)/

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

ID: значение, данное атрибуту name для value_representation_item

MEAS: заданный тип для measure_value

Тело шаблона:

REP_ITEM(&ID)

value_representation_item

value_representation_item.value_component -> measure_value

{measure_value = &MEAS}

5.1.1.49 Шаблон ROLE_ASSGN

Шаблон отображения ROLE_ASSGN задает ограничение ссылочного пути, в котором role_ association присваивается экземпляру ENTITY, содержащему полученный атрибут роли. Создание атрибута роли основывается на объекте Basic_attribute_schema согласно ИСО 10303-41.

Примечание — Шаблон ROLE_ASSGN используется следующими видами данных экземпляра Entity для совокупности их атрибута name:

- action_assignment;

- action_request_assignment;

- approval_assignment;

123

ГОСТ Р ИСО 10303-216—2023

- approval_date_time;

- certification_assignment;

- contract_assignment;

- document_reference;

- effectivity_assignment;

- external_referent_assignment;

- group_assignment;

- name_assignment;

- security_classification_assignment.

Сигнатура:

/ROLE_ASSGN(ENTITY)/

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

ENTITY: тип объекта, которому присваивается role_association

Тело шаблона:

&ENTITY

role_select = &ENTITY

role_select <-

гоle_as s ос iat ion.item_with_role

role_as s ос iation

role_association.role ->

obj ect_role

5.1.1.50 Шаблон ROOT_CLASS

Шаблон отображения ROOT_CLASS задает ограничение ссылочного пути, в котором экземплярами типа Т являются classification items в экземплярах applied_classification_assignment, где имя роли, указанное для присваивания, имеет значение 'class membership', а присваиваемая классификация имеет значение group, атрибуту name которого присвоено значение ID.

Примечание — Семантика шаблона заключается в присвоении имени класса экземпляру.

Сигнатура:

/ROOT_CLASS(T, ID)/

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

Т: тип классифицируемого экземпляра

ID: имя класса

Тело шаблона:

classification_item = &Т

classification_item <-

applied_classification_assignment.items[i]

applied_classification_assignment <=

classification_assignment

{classification_assignment.role ->

classification_role

classification_role.name = 'class membership'}

classification_assignment.assigned_classification ->

group =>

{group.name = &ID}

class

5.1.1.51 Шаблон SDR_NAME

Шаблон отображения SDR_NAME задает ограничения ссылочного пути, в котором для shape_ definition representation.name присваивается значение NAME.

Сигнатура:

/SDR_NAME(NAME)/

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

NAME: значение атрибута name для shape_definition_representation

Тело шаблона:

property_definition_representation.definition

property_definition_representation

124

ГОСТ Р ИСО 10303-216—2023

{property_definition_representation=>

shape_definition_representation}

{NAME_ASSGN_WITH_VAL(property_definition_representation, '&NAME')} property_definition_representation.used_representation

5.1.1.52 Шаблон SUBTYPE

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

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

Сигнатура шаблона:

/SUBTYPE(application_object)/

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

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

5.1.1.53 Шаблон SUPERTYPE

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

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

Сигнатура шаблона:

/SUPERTYPE(application_object)/

Определение параметров:

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

5.1.1.54 Шаблон VERSIONJD

Шаблон отображения VERSIONJD задает ограничение ссылочного пути, в котором объекту типа Т присваивается идентификатор версии.

Сигнатура:

/VERSIONJD(T)/

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

Т: тип объекта, которому присвоен идентификатор версии.

Тело шаблона:

IDENTIFICATION(&Т)

[identification_role.name = 'version identifier']}

identification_assignment

identification_assignment.assigned_id

5.1.2 Функциональная единица basic_geometry

5.1.2.1 SHIP_CURVE

Элемент ПИМ: compound_representationjtem

Источник: ИСО 10303-43

Ссылочный путь: {/ROOT_CLASS(compound_representationJtem, 'ship curve')/}

5.1.2.1.1 curveclass

Элемент ПИМ: representationjtem.name

Источник: ИСО 10303-43

Ссылочный путь: compound_representationjtem <=

representationJtem

{(representationjtem.name = 'buttock line')

(representationjtem.name = 'centreline')

(representationjtem.name = 'camber')

(representationjtem.name = 'sheer')

(representationjtem.name = 'flat of bottom')

(representationjtem.name = 'flat of side')

125

ГОСТ Р ИСО 10303-216—2023

(representationjtem.name = 'intersection line') (representationJtem.name = 'station line') (representationjtem.name = 'bounding line') (representationjtem.name = 'rise of floor') (representationjtem.name = 'trace line') (representationjtem.name = 'waterline') (representationjtem.name = 'unspecified')}

5.1.2.1.2 side. Элемент ПИМ:

condition

descriptive_representationjtem.description

Источник:

ИСО 10303-45

Правила:

5.2.4.135

Ссылочный путь:

/COMPOUND('side condition')/ descriptive_representationjtem {(descriptive_representationjtem.description = 'knuckle') (descriptive_representationjtem.description = 'smooth') (descriptive_representationjtem.description = 'tangent') (descriptive_representationjtem.description = 'unspecified')}

5.1.2.1.3 ship_curve для curve (как curve_shape)

Элемент ПИМ:

PATH

Правила:

5.2.4.114, 5.2.4.135

Ссылочный путь:

/COMPOUND('curve shape')/ geometric_representationjtem => edge =>

(edge_curve)

(oriented_edge)

5.1.2.2 SHIP_CURVE_WITH_SPACING_POSITION

Элемент ПИМ:

compound_representationjtem

Источник:

ИСО 10303-43

Ссылочный путь:

{/ROOT_CLASS(compound_representation item, 'ship curve with spacing position')/}

5.1.2.2.1 curve_class

Примечание —Атрибут унаследован из супертипа Ship_curve (см. 5.1.2.1).

Элемент ПИМ: PATH

Ссылочный путь: /SUPERTYPE(Ship_curve)/ (см. 5.1.2.1.1)

5.1.2.2.2 side_condition

Примечание — Атрибут унаследован из супертипа Ship_curve (см. 5.1.2.1).

Элемент ПИМ:

PATH

Ссылочный путь:

/SUPERTYPE(Ship_curve)/ (см. 5.1.2.1.2)

5.1.2.2.3 ship_curve_with_spacing_position для curve (как curve_shape) Примечание —Атрибут унаследован из супертипа Ship_curve (см. 5.1.2.1).

Элемент ПИМ:

PATH

Ссылочный путь:

/SUPERTYPE(Ship_curve)/ (см. 5.1.2.1.3)

5.1.2.2.4 ship curve with spacing position для spacing_position (как location)

Элемент ПИМ:

PATH

Правила:

5.2.4.137

Ссылочный путь:

/COMPOUND('location')/

126

ГОСТ Р ИСО 10303-216—2023

compound_representation_item

{/CLASSJD(compound_representation item, 'spacing position')/}

5.1.2.3 SHIP_

Элемент ПИМ:

_POINT

compound_representation_item

Источник:

ИСО 10303-43

Ссылочный путь:

{/ROOT_CLASS(compound_representation_item, 'ship point')/}

5.1.2.3.1 point_class

Элемент ПИМ:

representationjtem.name

Источник:

ИСО 10303-43

Ссылочный путь:

compound_representationjtem <= representationjtem

{(representationjtem.name = 'ordinary') (representationjtem.name = 'tangent') (representationjtem.name = 'knuckle') (representationjtem.name = 'unspecified')}

5.1.2.3.2 ship_point для point (как point_shape)

Элемент ПИМ:

PATH

Правила:

5.2.4.114, 5.2.4.141

Ссылочный путь:

/COMPOUND('point shape')/ geometric_representationjtem => vertex_point

5.1.2.4 SHIP_

Элемент ПИМ:

SURFACE

compound_representationjtem

Источник:

ИСО 10303-43

Ссылочный путь:

{/ROOT_CLASS(compound_representationJtem, 'ship surface')/}

5.1.2.4.1 surface_class

Элемент ПИМ:

representationjtem.name

Источник:

ИСО 10303-43

Ссылочный путь:

compound_representationjtem <= representationjtem

{(representationjtem.name = 'accomodation area') (representationjtem.name = 'accomodation deck') (representationjtem.name = 'aft ship') (representationjtem.name = 'blending surface') (representationjtem.name = 'bottom') (representationjtem.name = 'bracket') (representationjtem.name = 'bulkhead') (representationjtem.name = 'cargo area') (representationjtem.name = 'collision bulkhead') (representationjtem.name = 'cross tie') (representationjtem.name = 'deck') (representationjtem.name = 'deck beam') (representationjtem.name = 'deck house') (representationjtem.name = 'deck in superstructure') (representationjtem.name = 'double bottom') (representationjtem.name = 'double shell') (representationjtem.name = 'duct keel')

127

ГОСТ Р ИСО 10303-216—2023

(representationjtem.name = (representationJtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name = (representationjtem.name =

'engine area')

'engine foundation')

'external surface')

'floor')

'fore ship')

'frame')

'girder')

'hatch cover')

'hatchway coaming')

'hatchway endcoaming')

'hatchway sidecoaming')

'hold bulkhead')

'hopper')

'inner bottom')

'inner shell')

'internal surface')

'keel')

'longitudinal bulkhead')

'longitudinal girder')

'lower boom')

'machinery casing')

'main deck')

'mid ship')

'navigation deck')

'outer shell')

'platform deck')

'plating')

'sheer strake')

'ship structure')

'stern frame')

'stool')

'strength bulkhead')

'strength deck')

'stringer')

'superstructure')

'superstructure aft bulkhead')

'superstructure front bulkhead') 'superstructure side bulkhead') 'tank bottom')

'tank bulkhead')

'tank side')

'tank top')

'transom')

'transversal bulkhead')

'transverse floor')

'transverse web frame')

'upper boom')

'user defined')

128

ГОСТ Р ИСО 10303-216—2023

(representationjtem.name = 'vertical web frame')

(representationjtem.name = 'wall')

(representationjtem.name = 'wash bulkhead')

(representationjtem.name = 'weather deck')

(representationjtem.name = 'web frame')

(representationjtem.name = 'wing bulkhead')}

5.1.2.4.2 ship_surface для surface (как surface_shape)

Элемент ПИМ:

PATH

Правила:

5.2.4.114, 5.2.4.142

Ссылочный путь:

/COMPOUND('surface shape')/ topological_representationjtem => face=>

(face_surface)

(subface)

(orientedjace)

5.1.3 Отображение функциональной единицы configuration_management

5.1.3.1 Прикладной элемент ALTERNATIVE_VERSION_RELATIONSHIP

Элемент ПИМ:

identification_assignment_relationship

Источник:

ИСО 10303-41

Правила:

5.2.4.5, 5.2.4.6

Ссылочный путь:

/ROOT_CLASS(identification_assignment_relationship, 'alternative version relationship')/

5.1.3.1.1 reason

Элемент ПИМ:

identification_assignment_relationship.description

Источник:

ИСО 10303-41

Правила:

5.2.4.4

5.1.3.1.2 alternative_version_relationship для versionable_object (как alternative 1

Элемент ПИМ:

PATH

Ссылочный путь:

identification_assignment_relationship

identification_assignment_relationship.related_assignment -> (/RELATE_ID_2_VO(document)/)

(/RELATE_ID_2_VO(group)/)

(/RELATE_ID_2_VO(product_definition)/)

(/RELATE_ID_2_VO(product_definition_relationship)/)

(/RELATE_ID_2_VO(product_definition_shape)/)

(/RELATE_ID_2_VO(product_related_product_category)/)

(/RELATE_ID_2_VO(property_definition)/)

5.1.3.1.3 alternative_version_relationship для versionable_object (как alternative 2)

Элемент ПИМ:

PATH

Ссылочный путь:

identification_assignment_relationship

identification_assignment_relationship.relating_assignment ->

(/RELATE_ID_2_VO(document)/)

(/RELATE_ID_2_VO(group)/)

(/RELATE_ID_2_VO(product_definition)/)

(/RELATE_ID_2_VO(product_definition_relationship)/)

(/RELATE_ID_2_VO(product_definition_shape)/)

(/RELATE_ID_2_VO(product_related_product_category)/)

(/RELATE_ID_2_VO(property_definition)/)

129

ГОСТ Р ИСО 10303-216—2023

5.1.3.2 Прикладной элемент APPROVAL_EVENT

Элемент ПИМ:

approval

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(approval, 'approval event', 'event')/] [/ROOT_CLASS(approval, 'event')/]}

5.1.3.2.1 caused_by

Примечание —Атрибут унаследован из супертипа Event (см. 5.1.3.12).

Элемент ПИМ:

person_and_organization

Источник:

ИСО 10303-41

Правила:

5.2.47

Ссылочный путь:

approval <-

approval_person_organization.authorized_approval approval_person_organization

approval_person_organization.person_organization -> person_organization_select = person_and_organization person_and_organization

5.1.3.2.2 caused_when

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12).

Элемент ПИМ:

approval_date_time.date_time

Источник:

ИСО 10303-41

Правила:

5.2.4.8

Ссылочный путь:

approval <-

approval_date_time.dated_approval approval_date_time

approval_date_time.date_time -> {(date_time_select = date_and_time date_and_time)

(date_time_select = calendar_date calendar_date)}

5.1.3.2.3 description

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12).

Элемент ПИМ:

approval.level

Источник:

ИСО 10303-41

5.1.3.2.4 result

Элемент ПИМ:

approval_status.name

Источник:

ИСО 10303-41

Ссылочный путь:

approval

approval.status ->

approval_status approval_status.name {(approval_status.name = 'unapproved') (approval_status.name = 'approved') (approval_status.name = 'rejected')}

5.1.3.2.5 user_defined_result

Элемент ПИМ:

approval_status.name

130

ГОСТ Р ИСО 10303-216—2023

Источник:

ИСО 10303-41

Ссылочный путь:

approval approval.status -> approval_status approval_status.name

5.1.3.2.6 approval_event для approval_history (как approvapreference)

Примечание — Атрибут является обратным отношением для атрибута approvals для Approval_history (см. 5.1.3.3.2).

Элемент ПИМ:

PATH

Правила:

5.2.4.53

Ссылочный путь:

approval

groupjtem = approval groupjtem <-

applied_group_assignment.items[i] applied_group_assignment <= group_assignment

/ROLE_ASSGN(group_assignment)/ {[object_role.name = 'approvals']} group_assignment.assigned_group -> group

{/CLASS_ID(group, 'approval history')/}

5.1.3.3 Прикладной элемент APPROVAL_HISTORY

Элемент ПИМ:

group

Источник:

Ссылочный путь:

ИСО 10303-41

/ROOT_CLASS(group, 'approval history')/

5.1.3.3.1 status

Элемент ПИМ:

PATH

Ссылочный путь:

group <-

/GROUPS(approval, 'approvals')/

approval

approval.status ->

approval_status

approval_status.name

{(approval_status.name = 'unapproved')

(approval_status.name = 'approved')

(approval_status.name = 'rejected')}

5.1.3.3.2 approval_history для approval_event (как approvals)

Элемент ПИМ:

PATH

Правила:

5.2.4.10, 5.2.4.150, 5.2.4.11

Ссылочный путь:

group <-

/GROUPS(approval, 'approvals')/ approval

5.1.3.3.3 approval_history для definition (как subject)

Элемент ПИМ:

PATH

Правила:

5.2.4.9

Ссылочный путь:

group <-

/GROUPS(approval, 'approvals')/

131

ГОСТ Р ИСО 10303-216—2023

approval <-

(/APPROVES(product definition, 'subject')/ product_definition

{/CLASS_ID(product_definition, 'definition')/}) (/APPROVES(property_definition, 'subject')/ property_definition

{/CLASS ID(property_definition, 'definition')}) (/APPROVES(product_definition_shape, 'subject')/ product_definition_shape

{/CLASS_ID(product_definition_shape, 'definition')/}) (/APPROVES(product_related_product_category, 'subject')/ product_related_product_category

{/CLASS_ID(product_related_product_category, 'definition')/})

5.1.3.4 Прикладной элемент CHANGE

Элемент ПИМ:

action

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(action,'change', 'item')/] [/CLASS(action,'item', 'definable object')/] [/ROOT_CLASS(action, 'definable object')/]}

5.1.3.4.1 description

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ:

action.description

Источник:

ИСО 10303-41

5.1.3.4.2 name

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ:

action.name

Источник:

ИСО 10303-41

5.1.3.4.3 the_

Элемент ПИМ:

class

group.name

Источник:

ИСО 10303-41

Ссылочный путь:

action

classificationJtem = action classification Jtem <-

applied_classification_assignment.items[i] applied_classification_assignment applied_classification_assignment <= classification_assignment {classification_assignment.role -> classification_role

classification_role.name = 'change class'} classification_assignment.assigned_classification -> group

5.1.3.4.4 change для external_reference (как documentation) Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

#1: Если «как documentation» относится к Extern a preference

132

ГОСТ Р ИСО 10303-216—2023

Элемент ПИМ:

PATH

Ссылочный путь:

action

action = externalidentificationjtem

external identification item <-

applied_external_identification_assignment.items[i] applied_external_identification_assignment

#2: Если «как documentation» относится к Document_reference_with_address

Элемент ПИМ:

PATH

Ссылочный путь:

action

/DOC_REF(action,'documentation')/ document

{/CLASS_ID(document, 'document reference with address')/}

5.1.3.4.5 change для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3), который наследуется из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.3

Ссылочный путь:

action

identificationjtem = action identificationjtem <-

applied_identification_assignment.items[i] applied_identification_assignment

5.1.3.4.6 change для ship (as ship_context)

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Ссылочный путь:

action <-

applied_action_assignment.assigned_action applied_action_assignment applied_action_assignment.items [i] -> action item

action item = product

product

{/CLASS_ID(product, 'ship')/}

5.1.3.5 Прикладной элемент CHANGE_DEFINITION

#1: Значением элемента Change_definition является change_request

#2: Значением элемента Change_definition является change_plan

#3: Значением элемента Change_definition является change_realization

Элемент ПИМ:

#1: (version_action_request)

#2: (action_request_solution)

#3: (executed_action)

Источник:

ИСО 10303-41

5.1.3.5.1 author

Элемент ПИМ:

#1: /SUBTYPE(Change_request)/ (см. 5.1.3.9.2)

133

ГОСТ Р ИСО 10303-216—2023

#2: /SUBTYPE(Change_plan)/ (см. 5.1.3.7.1)

#3: /SUBTYPE(Change_realization)/ (см. 5.1.3.8.1)

5.1.3.5.2 date_time

Элемент ПИМ:

#1: /SUBTYPE(Change_request)/ (см. 5.1.3.9.3)

#2: /SUBTYPE(Change_plan)/ (см. 5.1.3.7.2)

#3: /SUBTYPE(Change_realization)/ (см. 5.1.3.8.2)

5.1.3.5.3 description

Элемент ПИМ:

#1: /SUBTYPE(Change_request)/ (см. 5.1.3.9.4)

#2: /SUBTYPE(Change_plan)/ (см. 5.1.3.7.3)

#3: /SUBTYPE(Change_realization)/ (см. 5.1.3.8.3)

5.1.3.5.4 versionjd

Элемент ПИМ:

#1: /SUBTYPE(Change_request)/ (см. 5.1.3.9.8)

#2: /SUBTYPE(Change_plan)/ (см. 5.1.3.7.4)

#3: /SUBTYPE(Change_realization)/ (см. 5.1.3.8.4)

5.1.3.5.5 change_definition для change (как defined_for)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

#1: /SUBTYPE(Change_request)/ (см. 5.1.3.9.9)

#2: /SUBTYPE(Change_plan)/ (см. 5.1.3.7.7)

#3: /SUBTYPE(Change_realization)/ (см. 5.1.3.8.6)

5.1.3.5.6 change_definition для globaljd (as id)

Элемент ПИМ:

#1: /SUBTYPE(Change_request)/ (см. 5.1.3.9.10)

#2: /SUBTYPE(Change_plan)/ (см. 5.1.3.7.8)

#3: /SUBTYPE(Change_realization)/ (см. 5.1.3.8.7)

5.1.3.6 Прикладной элемент CHANGE_IMPACT

Элемент ПИМ: applied_action_request_assignment

Источник: ИСО 10303-216

Ссылочный путь: {/ROOT_CLASS(applied_action_request_assignment, 'change impact')/} 5.1.3.6.1 changejmpact для versionable_object_change_event (как impact)

Элемент ПИМ: PATH

Правила: 5.2.4.26

Ссылочный путь: applied_action_request_assignment applied_action_request_assignment.items [i] -> action_requestjtem action_requestjtem = action {/CLASS ID(action, 'versionable object change event')/}

5.1.3.7 Прикладной элемент CHANGE_PLAN

Элемент ПИМ: action_request_solution

Источник: ИСО 10303-41

Ссылочный путь: {[/CLASS(action_request_solution, 'change plan', 'change definition')/] [/CLASS(action_request_solution,'change definition','definition')/] [/CLASS(action_request_solution,'definition','versionable object')/] [/ROOT_CLASS(action_request_solution, 'versionable object')/]}

134

ГОСТ Р ИСО 10303-216—2023

5.1.3.7.1 author

Примечание — Атрибут унаследован из супертипа Change_definition (см. 5.1.3.5).

Элемент ПИМ: applied_person_and_organization_assignment.assigned_person_and_organization

Источник: ИСО 10303-216

Правила: 5.2.4.12

Ссылочный путь: /PERS_ORG_ASSGN(action_request_solution, 'author')/

5.1.3.7.2 date_time

Примечание — Атрибут унаследован из супертипа Change_definition (см. 5.1.3.5).

Элемент ПИМ: applied_date_and_time_assignment.assigned_date_and_time

Источник: ИСО 10303-216

Правила: 5.2.4.1

Ссылочный путь: /DAT_TIME_ASSGN(action_request_solution,'date time')/

5.1.3.7.3 description

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ: action_request_solution.description

Источник: ИСО 10303-41

Ссылочный путь: /DESCRIPTION_ASSGN(action_request_solution)/

5.1.3.7.4 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17) через супертип Change_definition (см. 5.1.3.5), который наследуется от супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: applied_identification_assignment.assigned_id

Источник: ИСО 10303-216

Правила: 5.2.4.164

Ссылочный путь: /VERSION_ID(action_request_solution)/

5.1.3.7.5 change_plan для check (как checks)

Элемент ПИМ: PATH

Ссылочный путь: action_request_solution

actionJtem = action_request_solution

actionjtem <-

applied_action_assignment.items [i]

applied_action_assignment <=

action_assignment

action_assignment.assigned_action -> action

{/CLASS_ID(action, 'check')}

5.1.3.7.6 change_plan для change_request (как chosen_solution_for)

Элемент ПИМ: PATH

Ссылочный путь: action_request_solution

action_request_solution.request ->

versioned_action_request {/CLASS_ID(versioned_action_request, 'change request')/} 5.1.3.7.7 change_plan для change (как defined_for)

Примечание — Атрибут унаследован из супертипа Change_definition (см. 5.1.3.5).

Элемент ПИМ: PATH

Правила: 5.2.4.1

135

ГОСТ Р ИСО 10303-216—2023

Ссылочный путь:

action_request_solution action_request_solution.method -> action_method <-

action.chosen_method action {/CLASS_ID(action, 'change')/}

5.1.3.7.8 change_plan для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Change_ definition (см. 5.1.3.5).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.2

Ссылочный путь:

action_request_solution

identificationjtem = action_request_solution

identificationjtem <-

applied_identification_assignment.items[i] applied_identification_assignment

5.1.3.7.9 change_plan для changejmpact (как planned impact)

Элемент ПИМ:

PATH

Правила:

5.2.4.27

Ссылочный путь:

action_request_solution

action_request_solution.request ->

versioned_action_request <-

action_request_assignment.assigned_action_request

action_request_assignment => applied_action_request_assignment {/CLASS_ID(applied_action_request_assignment, 'change impact')/}

5.1.3.8 Прикладной элемент CHANGE REALIZATION

Элемент ПИМ:

executed_action

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(executed_action, 'change realization', 'change definition')/] [/CLASS(executed_action,'change definition','definition')/] [/CLASS(executed_action,'definition','versionable object')/] [/ROOT_CLASS(executed_action, 'versionable object')/]}

5.1.3.8.1 author

Примечание — Атрибут унаследован из супертипа Change_definition (см. 5.1.3.5).

Элемент ПИМ: applied_person_and_organization_assignment.assigned_person_and_organization

Источник: ИСО 10303-216

Правила: 5.2.4.13

Ссылочный путь: /PERS_ORG_ASSGN(executed_action, 'author')/

5.1.3.8.2 date_time

Примечание — Атрибут унаследован из супертипа Change_definition (см. 5.1.3.5).

Элемент ПИМ:

applied_date_and_time_assignment.assigned_date_and_time

Источник:

ИСО 10303-216

Правила:

5.2.4.36

Ссылочный путь:

/DAT_TIME_ASSGN(executed_action,'date time')/

5.1.3.8.3 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.8.3).

136

ГОСТ Р ИСО 10303-216—2023

Элемент ПИМ:

executed_action.description

Источник:

ИСО 10303-41

5.1.3.8.4 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17) через супертип Change_definition (см. 5.1.3.5), который наследуется от супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

applied Jdentification_assignment.assignedJd

Источник:

ИСО 10303-216

Правила:

5.2.4.164

Ссылочный путь:

/VERSION JD(executed_action)/

5.1.3.8.5 change_realization для check (как checks)

Элемент ПИМ:

PATH

Ссылочный путь:

executed_action

actionjtem = executed_action

actionjtem <-

applied_action_assignment.items[i] applied_action_assignment <= action_assignment

action_assignment.assigned_action -> action

{/CLASS_ID(action, 'check')/}

5.1.3.8.6 change_realization для change (как defined_for)

Примечание — Атрибут унаследован из супертипа Change_definition (см. 5.1.3.5).

Элемент ПИМ:

PATH

Ссылочный путь:

executed_action <=

action <-

action_relationship.related_action

action_relationship

action_relationship.relating_action -> action

{/CLASS_ID(action, 'change')/}

5.1.3.8.7 change_realization для global id (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Change definition (см. 5.1.3.5).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.41

Ссылочный путь:

executed_action

identificationjtem = executed_action

identificationjtem <-

applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.3.8.8 change_realization для changejmpact (как impact)

Элемент ПИМ:

PATH

Ссылочный путь:

executed_action

action_requestjtem = executed_action

action_requestjtem <-

applied_action_request_assignment.items[i]

137

ГОСТ Р ИСО 10303-216—2023

applied_action_request_assignment

{/CLASS_ID(applied_action request assignment, 'change impact')/}

5.1.3.8.9 change_realization для change_plan (как realization_of)

Элемент ПИМ:

PATH

Ссылочный путь:

executed_action <=

action

action.chosen_method ->

action_method <-

action request solution.method action_request_solution

{/CLASS_ID(action_request_solution, 'change plan')/}

5.1.3.9 Прикладной объект CHANGE_REQUEST

Элемент ПИМ:

versioned_action_request

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(versioned_action_request, 'change request', 'change definition')/] [/CLASS(versioned_action_request,'change definition','definition')/] [/CLASS(versioned_action_request,'definition',versionable obj ect')/] [/ROOT_CLASS(versioned_action_request, 'versionable object')/]}

5.1.3.9.1 addressee

Элемент ПИМ:

applied_person_and_organization_assignment.assigned_person_and_organization

Источник:

ИСО 10303-216

Ссылочный путь:

/PERS_ORG_ASSGN(versioned_action_request, 'addressee')/

5.1.3.9.2 author

Примечан

и е — Атрибут унаследован из супертипа Change_definition (см. 5.1.3.5).

Элемент ПИМ:

applied_person_and_organization_assignment.assigned_person_and_organization

Источник:

ИСО 10303-216

Правила:

5.2.4.14

Ссылочный путь:

/PERS_ORG_ASSGN(versioned_action_request, 'author')/

5.1.3.9.3 date_time

Примечание — Атрибут унаследован из супертипа Change_definition (см. 5.1.3.5).

Элемент ПИМ:

applied_date_and_time_assignment.assigned_date_and_time

Источник:

ИСО 10303-216

Правила:

5.2.4.35

Ссылочный путь:

/DAT_TIME_ASSGN(versioned_action_request,'date time')/

5.1.3.9.4 description

Примечание —Атрибут унаследован из супертипа Versionable_object (см. 5.1.8.3).

Элемент ПИМ:

versioned_action_request.description

Источник:

ИСО 10303-41

5.1.3.9.5 initiator

Элемент ПИМ:

applied_person_and_organization_assignment.assigned_person_and_organization

Источник:

ИСО 10303-216

Правила:

5.2.4.50

Ссылочный путь:

/PERS_ORG_ASSGN(versioned_action_request, 'initiator')/

5.1.3.9.6 problem

Элемент ПИМ:

versioned_action_request.purpose

Источник:

ИСО 10303-41

138

ГОСТ Р ИСО 10303-216—2023

5.1.3.9.7 solution_description

Элемент ПИМ:

action_request_solution.description

Источник:

ИСО 10303-41

Ссылочный путь:

versioned_action_request <-action_request_solution.request action_request_solution

/DESCRIPTION_ASSGN(action_request_solution)/

5.1.3.9.8 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17) через супертип Change_definition (см. 5.1.3.5), который наследуется от супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

applied Jdentification_assignment. assignedJd

Источник:

ИСО 10303-216

Правила:

5.2.4.164

Ссылочный путь:

/VERSION_ID(versioned_action_request)/

5.1.3.9.9 change request для change (как defined for)

Примечание — Атрибут унаследован из супертипа Change_definition (см. 5.1.3.5).

Элемент ПИМ:

PATH

Ссылочный путь:

versioned_action_request <-action_request_solution.request action_request_solution

action_request_solution.method -> action_method <-

action.chosen_method action

{/CLASS_ID(action, 'change')/}

5.1.3.9.10 change_request для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Change definition (см. 5.1.3.5).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.165

Ссылочный путь:

versioned_action_request

identificationjtem = versioned_action_request identificationjtem <-

applied Jdentification_assignment.items[i]

applied Jdentification_assignment

5.1.3.9.11 change_request для changeJmpact (как solution_alternatives)

Элемент ПИМ:

PATH

Ссылочный путь:

versioned_action_request <-

action_request_assignment.assigned_action_request action_request_assignment =>

applied_action_request_assignment

{/CLASS_ID(applied_action_request_assignment, 'change impact')/}

5.1.3.10 Прикладной объект CHECK

Элемент ПИМ:

action

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(action, 'check', 'event')/] [/ROOT_CLASS(action, 'event')/]}

139

ГОСТ Р ИСО 10303-216—2023

5.1.3.10.1 caused_by

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12).

Элемент ПИМ:

applied_person_and_organization_assignment.assigned_person_and_organization

Источник:

ИСО 10303-216

Правила:

5.2.4.15

Ссылочный путь:

/PERS_ORG_ASSGN(action, 'caused by')/ action.chosen_method

action

{/CLASS_ID(action, 'change')/}

5.1.3.10.2 caused when

Примечание —Атрибут унаследован из супертипа Event (см. 5.1.3.12).

Элемент ПИМ:

applied_date_and_time_assignment.assigned_date_and_time

Источник:

ИСО 10303-216

Правила:

5.2.4.20

Ссылочный путь:

/DAT_TIME_ASSGN(action, 'caused when')/

5.1.3.10.3 description

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12).

Элемент ПИМ:

action.description

Источник:

ИСО 10303-41

5.1.3.11 Прикладной объект ENVISAGED_VERSION_CREATION

Элемент ПИМ:

action

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(action, 'envisaged version creation', 'versionable object change event')/] [/CLASS(action, 'versionable object change event', 'event')/] [/ROOT_CLASS(action, 'event')/]}

5.1.3.11.1 category

Элемент ПИМ:

action.name

Источник:

ИСО 10303-41

5.1.3.11.2 caused_by

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12), через супертип Versionable_ object_change_event (см. 5.1.3.20).

Элемент ПИМ:

applied_person_and_organization_assignment.assigned_person_and_organization

Источник:

ИСО 10303-41

Правила:

5.2.4.16

Ссылочный путь:

/PERS_ORG_ASSGN(action, 'caused by')/

5.1.3.11.3 caused_when

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12), через супертип Versionable object_change_event (см. 5.1.3.20).

Элемент ПИМ:

applied_date_and_time_assignment.assigned_date_and_time

Источник:

ИСО 10303-216

Правила:

5.2.4.21

Ссылочный путь:

/DAT_TIME_ASSGN(action,'causedwhen')/

5.1.3.11.4 description

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12), через супертип Versionable_ object_change_event (см. 5.1.3.20).

140

ГОСТ Р ИСО 10303-216—2023

Элемент ПИМ:

action.description

Источник:

ИСО 10303-41

Правила:

5.2.4.40

5.1.3.11.5 envisaged_version_creation для versionable_object (как base)

Элемент ПИМ:

PATH

Ссылочный путь:

action <-

action_assignment.assigned_action action_assignment

/ROLE_ASSGN(action_assignment)/ {object_role.name = 'base'} action_assignment =>

(/RELATE_ACT_2_VO(product_definition)/) (/RELATE_ACT_2_VO(property_definition)/) (/RELATE_ACT_2_VO(product_definition_relationship)/) (/RELATE_ACT_2_VO(product_definition_shape)/)

(/RELATE_ACT_2_VO(product_related_product_category)/) (/RELATE_ACT_2_V O(document)/)

5.1.3.12 Прикладной элемент EVENT

#1: Если значением элемента Event является Versionable_object_change_event

#2: Если значением элемента Event является Approval_event

#3: Если значением элемента Event является Check

Элемент ПИМ:

#1: (action)

#2: (approval)

#3: (action)

Источник:

ИСО 10303-41

5.1.3.12.1 caused_by

Элемент ПИМ:

/SUBTYPE(Versionable_object_change_event)/ (см. 5.1.3.20)

/SUBTYPE(Approval_event)/ (см. 5.1.3.2)

/SUBTYPE(Check)/ (см. 5.1.3.10)

5.1.3.12.2 caused_when

Элемент ПИМ:

/SUBTYPE(Versionable_object_change_event)/ (см. 5.1.3.20)

/SUBTYPE(Approval_event)/ (см. 5.1.3.2)

/SUBTYPE(Check)/ (см. 5.1.3.10)

5.1.3.12.3 description

Элемент ПИМ:

/SUBTYPE(Versionable_object_change_event)/ (см. 5.1.3.20)

/SUBTYPE(Approval_event)/ (см. 5.1.3.2)

/SUBTYPE(Check)/ (см. 5.1.3.10)

5.1.3.13 Прикладной элемент REVISION

Элемент ПИМ:

group

Источник:

ИСО 10303-41

Правила:

5.2.4.52

Ссылочный путь:

{[/CLASS(group, 'revision', 'versionable object')/] [/ROOT_CLASS(group, 'versionable object')/]}

5.1.3.13.1 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

group.description

141

ГОСТ Р ИСО 10303-216—2023

Источник:

ИСО 10303-41

Правила:

5.2.4.133

5.1.3.13.2 name

Элемент ПИМ:

group.name

Источник:

ИСО 10303-41

5.1.3.13.3 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

applied Jdentification_assignment.assignedJd

Источник:

ИСО 10303-216

Правила:

5.2.4.164

Ссылочный путь:

/VERSIONJD(group)/

5.1.3.13.4 revision для versionable_object (как members)

Элемент ПИМ:

PATH

Правила:

5.2.4.52

Ссылочный путь:

group <-

(/RELATE_GROUP_2_VO(product_definition, 'members')/)

(/RELATE_GROUP_2_VO(property_definition, 'members')/)

(/RELATE_GROUP_2_VO(product_definition_relationship, 'members')/) (/RELATE GROUP 2 VO(product_definition_shape, 'members')/)

(/RELATE_GROUP_2_VO(product_related_product_category, 'members')/) (/RELATE_GROUP_2_VO(document, 'members')/)

5.1.3.14 Прикладной элемент REVISION_WITH_CONTEXT

Элемент ПИМ:

group

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(group, 'revision with context', 'revision')/] [/CLASS(group, 'revision', 'versionable object')/] [/ROOT_CLASS(group, 'versionable object')/]}

5.1.3.14.1 description

Примечание —Атрибут унаследован из супертипа Revision (см. 5.1.3.13).

Элемент ПИМ:

group.description

Источник:

ИСО 10303-41

Правила:

5.2.4.133

5.1.3.14.2 name

Примечание — Атрибут унаследован из супертипа Revision (см. 5.1.3.13).

Элемент ПИМ:

group.name

Источник:

ИСО 10303-41

5.1.3.14.3 versionjd

Примечание — Атрибут унаследован из супертипа Revision (см. 5.1.3.13), который наследуется из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

applied Jdentification_assignment. assigned Jd

Источник:

ИСО 10303-216

Правила:

5.2.4.164

Ссылочный путь:

/VERSIONJD(group)/

5.1.3.14.4 revision_with_context для definable_object (как context_of_revision

Элемент ПИМ:

PATH

142

ГОСТ Р ИСО 10303-216—2023

Правила:

5.2.4.134

Ссылочный путь:

group <-

(/RELATE_GROUP_2_DO(product, 'context of revision')/)

(/RELATE_GROUP_2_DO(product_definition, 'context of revision')/)

(/RELATE_GROUP_2_DO(product_definition_relationship, 'context of revision') /)

5.1.3.14.5 revision_with_context для versionable object (как members)

Примечание — Атрибут унаследован из супертипа Revision (см. 5.1.3.13).

Элемент ПИМ: /SUPERTYPE(revision)/ (см. 5.1.3.13)

5.1.3.15 Прикладной элемент VERSION_CREATION

Элемент ПИМ:

action

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(action, 'version creation', 'versionable object change event')/] [/CLASS(action, 'versionable object change event', 'event')/] [/ROOT_CLASS(action, 'event')/]}

5.1.3.15.1 caused_by

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12), через супертип Versionable object_change_event (см. 5.1.3.20).

Элемент ПИМ:

applied_person_and_organization_assignment.assigned_person_and_organization

Источник:

ИСО 10303-216

Правила:

5.2.4.17

Ссылочный путь:

/PERS_ORG_ASSGN(action, 'caused by')/

5.1.3.15.2 caused_when

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12), через супертип Versionable. object_change_event (см. 5.1.3.20).

Элемент ПИМ:

applied_date_and_time_assignment.assigned_date_and_time

Источник:

ИСО 10303-216

Правила:

5.2.4.22

Ссылочный путь:

/DAT_TIME_ASSGN(action, 'caused when')/

5.1.3.15.3 description

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12), через супертип Versionable object_change_event (см. 1.3.20).

Элемент ПИМ:

action.description

Источник:

ИСО 10303-41

Правила:

5.2.4.154

5.1.3.15.4 version_creation для versionable_object (как base)

Элемент ПИМ:

PATH

Ссылочный путь:

action <-

action_assignment.assigned_action action_assignment

/ROLE_ASSGN(action_assignment)/ {object_role.name = 'base'} action_assignment =>

(/RELATE_ACT_2_VO(product_definition)/) (/RELATE_ACT_2_VO(property_definition)/)

(/RELATE_ACT_2_VO(product_definition_relationship)/)

143

ГОСТ Р ИСО 10303-216—2023

(/RELATE_ACT_2_VO(product_definition_shape)/) (/RELATE_ACT_2_VO(product_related_product_category)/) (/RELATE_ACT_2_VO(document)/)

5.1.3.15.5 version_creation для versionable_object (как subject)

Элемент ПИМ: PATH

Ссылочный путь: action <-

action_assignment.assigned_action action_assignment

/ROLE_ASSGN(action_assignment)/ {object_role.name = 'subject'} action_assignment =>

(/RELATE_ACT_2_VO(product_definition)/) (/RELATE_ACT_2_VO(property_definition)/) (/RELATE_ACT_2_VO(product_definition_relationship)/) (/RELATE_ACT_2_VO(product_definition_shape)/)

(/RELATE_ACT_2_VO(product_related_product_category)/) (/RELATE_ACT_2_VO(document)/)

5.1.3.16 Прикладной элемент VERSION_DELETION

Элемент ПИМ: action

Источник: ИСО 10303-41

Ссылочный путь: {[/CLASS(action, 'version deletion', 'versionable object change event')/] [/CLASS(action, 'versionable object change event', 'event')/] [/ROOT_CLASS(action, 'event')/]}

5.1.3.16.1 caused_by

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12), через супертип Versionable object_change_event (см. 5.1.3.20).

Элемент ПИМ:

applied_person_and_organization_assignment.assigned_person_and_organization

Источник:

ИСО 10303-216

Правила:

5.2.4.18

Ссылочный путь:

/PERS_ORG_ASSGN(action, 'caused by')/

5.1.3.16.2 caused_when

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12), через супертип Versionable object_change_event (см. 5.1.3.20).

Элемент ПИМ:

applied_date_and_time_assignment.assigned_date_and_time

Источник:

ИСО 10303-216

Правила:

5.2.4.24

Ссылочный путь:

/DAT_TIME_ASSGN(action, 'caused when')/

5.1.3.16.3 description

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12), через супертип Versionable object_change_event (см. 5.1.3.20).

Элемент ПИМ:

action.description

Источник:

ИСО 10303-41

Правила:

5.2.4.155

5.1.3.16.4 version_deletion для versionable_object (как subject)

Элемент ПИМ:

PATH

Ссылочный путь:

action <-

144

ГОСТ Р ИСО 10303-216—2023

action_assignment.assigned_action action_assignment

/ROLE_ASSGN(action_assignment)/

{object_role.name = 'subject'}

action_assignment =>

(/RELATE_ACT_2_VO(product_definition)/)

(/RELATE_ACT_2_VO(property_definition)/)

(/RELATE_ACT_2_VO(product_definition_relationship)/)

(/RELATE_ACT_2_VO(product_definition_shape)/)

(/RELATE_ACT_2_VO(product_related_product_category)/) (/RELATE_ACT_2_VO(document)/)

5.1.3.17 Прикладной элемент VERSION_HISTORY

Элемент ПИМ:

group

Источник:

ИСО 10303-41

Правила:

5.2.4.159

Ссылочный путь:

/ROOT_CLASS(group, 'version history')/

5.1.3.17.1 version_history для versionable_object (как current_version)

Элемент ПИМ:

PATH

Правила:

5.2.4.158, 5.2.4.156

Ссылочный путь:

group <-

(/RELATE_GROUP_2_VO(product_definition, 'versions')/)

(/RELATE_GROUP_2_VO(property_definition, 'versions')/)

(/RELATE_GROUP_2_VO(product_definition_relationship, 'versions')/) (/RELATE_GROUP_2_VO(product_definition_shape, 'versions')/) (/RELATE_GROUP_2_VO(product_related_product_category, 'versions')/) (/RELATE_GROUP_2_VO(document, 'versions')/)

5.1.3.17.2 version history для version_relationship (как relationships)

Элемент ПИМ:

PATH

Ссылочный путь:

group <-

/GROUPS(identification_assignment_relationship, 'relationships')/ identification_assignment_relationship

{/CLASS_ID(identification_assignment_relationship, 'version relationship')/}

5.1.3.17.3 version_history для versionable_object (как versions)

Элемент ПИМ:

PATH

Правила:

5.2.4.166

Ссылочный путь:

group <-

(/RELATE_GROUP_2_VO(product_definition, 'versions')/)

(/RELATE_GROUP_2_VO(property_definition, 'versions')/)

(/RELATE_GROUP_2_VO(product_definition_relationship, 'versions')/) (/RELATE_GROUP_2_VO(product_definition_shape, 'versions')/) (/RELATE_GROUP_2_VO(product_related_product_category, 'versions')/) (/RELATE_GROUP_2_VO(document, 'versions')/)

5.1.3.18 Прикладной элемент VERSION_MODIFICATION

Элемент ПИМ:

action

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(action, 'version modification', 'versionable object change event')/] [/CLASS(action, 'versionable object change event', 'event')/] [/ROOT_CLASS(action, 'event')/]}

145

ГОСТ Р ИСО 10303-216—2023

5.1.3.18.1 caused_by

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12), через супертип Versionable object_change_event (см. 5.1.3.20).

Элемент ПИМ:

applied_person_and_organization_assignment.assigned_person_and_organization

Источник:

ИСО 10303-216

Правила:

5.2.4.19

Ссылочный путь:

/PERS_ORG_ASSGN(action, 'caused by')/

5.1.3.18.2 caused_when

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12), через супертип Versionable object_change_event (см. 5.1.3.20).

Элемент ПИМ:

applied_date_and_time_assignment.assigned_date_and_time

Источник:

ИСО 10303-216

Правила:

5.2.4.23

Ссылочный путь:

ZDAT_TIME_ASSGN(action,'caused when')/

5.1.3.18.3 description

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12), через супертип Versionable object_change_event (см. 5.1.3.20).

Элемент ПИМ:

action.description

Источник:

ИСО 10303-41

Правила:

5.2.4.160

5.1.3.18.4 version_modification для versionable_object (как base)

Элемент ПИМ:

PATH

Ссылочный путь:

action <-

action_assignment.assigned_action action_assignment

/ROLE_ASSGN(action_assignment)/ {object_role.name = 'base'} action_assignment => (/RELATE_ACT_2_VO(product_definition)/) (/RELATE_ACT_2_VO(property_definition)/)

(/RELATE_ACT_2_VO(product_definition_relationship)/) (/RELATE_ACT_2_VO(product_definition_shape)/)

(/RELATE_ACT_2_VO(product_related_product_category)/) (/RELATE_ACT_2_VO(document)/)

5.1.3.18.5 version_modification для versionable_object (как subject)

Элемент ПИМ:

PATH

Ссылочный путь:

action <-

action_assignment.assigned_action

action_assignment

/ROLE_ASSGN(action_assignment)/

{object_role.name = 'subject'}

action_assignment =>

(/RELATE_ACT_2_VO(product_definition)/)

(/RELATE_ACT_2_VO(property_definition)/)

(/RELATE_ACT_2_VO(product_definition_relationship)/) (/RELATE_ACT_2_VO(product_definition_shape)/)

146

ГОСТ Р ИСО 10303-216—2023

(/RELATE_ACT_2_VO(product_related_product_category)/) (/RELATE_ACT_2_VO(document)/)

5.1.3.19 Прикладной объект VERSION_RELATIONSHIP

Элемент ПИМ: identification_assignment_relationship

Источник: ИСО 10303-41

Правила: 5.2.4.161,5.2.4.163

Ссылочный путь: /ROOT_CLASS(identification_assignment_relationship, 'version relationship')/

5.1.3.19.1 reason

Элемент ПИМ:

identification_assignment_relationship.description

Источник:

ИСО 10303-41

Правила:

5.2.4.162

5.1.3.19.2 version_relationship для versionable_object (как predecessor)

Элемент ПИМ:

PATH

Ссылочный путь:

identification_assignment_relationship identification_assignment_relationship.related_assignment -> (/RELATE_ID_2_VO(product_definition)/) (/RELATE_ID_2_VO(property_definition)/)

(/RELATE_ID_2_VO(product_definition_relationship)/) (/RELATE_ID_2_VO(product_definition_shape)/)

(/RELATE_ID_2_VO(product_related_product_category)/) (/RELATE_ID_2_VO(document)/)

(/RELATE_ID_2_VO(group)/)

5.1.3.19.3 version_relationship для versionable_object (как successor)

Элемент ПИМ:

PATH

Ссылочный путь:

identification_assignment_relationship

identification_assignment_relationship.relating_assignment -> (/RELATE_ID_2_VO(product_definition)/)

(/RELATE_ID_2_VO(property_definition)/)

(/RELATE_ID_2_VO(product_definition_relationship)/)

(/RELATE_ID_2_VO(product_definition_shape)/)

(/RELATE_ID_2_VO(product_related_product_category)/)

(/RELATE_ID_2_VO(document)/)

(/RELATE_ID_2_VO(group)/)

5.1.3.20 Прикладной элемент VERSIONABLE_OBJECT_CHANGE_EVENT

Источник:

#1: Значением элемента Versionable_object_change_event является envisaged_ version_creation

#2: Значением элемента Versionable_object_change_event является version_creation

#3: Значением элемента Versionable_object_change_event является version_modifi-cation

#4: Значением элемента Versionable_object_change_event является version_deletion Элемент ПИМ:

#1: (action)

#2: (action)

#3: (action)

#4: (action)

ИСО 10303-41

147

ГОСТ Р ИСО 10303-216—2023

5.1.3.20.1 caused_by

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12).

Элемент ПИМ:

#1: /SUBTYPE(Envisaged_version_creation)/ (см. 5.1.3.11.2)

#2: /SUBTYPE(Version_creation)/ (см. 5.1.3.15.1)

#3: /SUBTYPE(Version_modification)/ (см. 5.1.3.18.1)

#4: /SUBTYPE(Version_deletion)/ (см. 5.1.3.16.1)

5.1.3.20.2 caused_when

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12).

Элемент ПИМ:

#1: /SUBTYPE(Envisaged_version_creation)/ (см. 5.1.3.11.3)

#2: /SUBTYPE(Version_creation)/ (см. 5.1.3.15.2)

#3: /SUBTYPE(Version_modification)/ (см. 5.1.3.18.2)

#4: /SUBTYPE(Version_deletion)/ (см. 5.1.3.16.2)

5.1.3.20.3 description

Примечание — Атрибут унаследован из супертипа Event (см. 5.1.3.12).

Элемент ПИМ:

#1: /SUBTYPE(Envisaged_version_creation)/ (см. 5.1.3.11.4)

#2: /SUBTYPE(Version_creation)/ (см. 5.1.3.15.3)

#3: /SUBTYPE(Version_modification)/ (см. 5.1.3.18.3)

#4: /SUBTYPE(Version_deletion)/ (см. 5.1.3.16.3)

5.1.4 Функциональная единица definitions

5.1.4.1 Прикладной элемент DEFINITION

#1: Значением элемента definition является change_definition

#2: Значением элемента definition является design_definition

#3: Значением элемента definition является functional_definition

#4: Значением элемента definition является general_characteristics_definition

#5: Значением элемента definition является local_coordinate_system

#6: Значением элемента definition является moulded_form_characteristics_definition

#7: Значением элемента definition является spacing_table

Элемент ПИМ:

#1: /SUBTYPE(change_definition)/ (см. 5.1.3.5)

#2: /SUBTYPE(design_definition)/ (см. 5.1.4.2)

#3: /SUBTYPE(functional_definition)/ (см. 5.1.4.3)

#4: /SUBTYPE(general_characteristics_definition)/ (см. 5.1.4.4)

#5: /SUBTYPE(local_co_ordinate_system)/ (см. 5.1.9.4)

#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. 5.1.11.7)

#7: /SUBTYPE(spacingJable)/ (см. 5.1.9.10)

5.1.4.1.1 description

Примечание —Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

#1: /SUBTYPE(change_definition)/ (см. 5.1.3.5.3)

#2: ZSUBTYPE(design_definition)/ (см. 5.1.4.2.1)

#3: /SUBTYPE(functional_definition)/ (см. 5.1.4.3.1)

148

ГОСТ Р ИСО 10303-216—2023

#4: /SUBTYPE(general_characteristics_definition)/ (см. 5.1.4.4.1)

#5: /SUBTYPE(local co ordinate system)/ (см. 5.1.9.4.1)

#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. 5.1.11.7.1)

#7: /SUBTYPE(spacingJable)/ (см. 5.1.9.10.1)

5.1.4.1.2 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

#1: /SUBTYPE(change_definition)/ (см. 5.1.3.5.4)

#2: /SUBTYPE(design_definition)/ (см. 5.1.4.2.3)

#3: /SUBTYPE(functional_definition)/ (см. 5.1.4.3.2)

#4: /SUBTYPE(general_characteristics_definition)/ (см. 5.1.4.4.2)

#5: /SUBTYPE(local_co_ordinate_system)/ (см. 5.1.9.4.2)

#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. 5.1.11.7.4)

#7: /SUBTYPE(spacingJable)/ (см. 5.1.9.10.3)

5.1.4.1.3 definition для definable_object (как defined for) Элемент ПИМ:

#1: /SUBTYPE(change_definition)/ (см. 5.1.3.5.5)

#2: /SUBTYPE(design_definition)/ (см. 5.1.4.2.4)

#3: /SUBTYPE(functional_definition)/ (см. 5.1.4.3.4)

#4: /SUBTYPE(general_characteristics_definition)/ (см. 5.1.4.4.3)

#5: /SUBTYPE(local_co_ordinate_system)/ (см. 5.1.9.4.3)

#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. 5.1.11.7.5)

#7: /SUBTYPE(spacingJable)/ (см. 5.1.9.10.4)

5.1.4.1.4 definition для globaljd (как id) Элемент ПИМ:

#1: /SUBTYPE(change_definition)/ (см. 5.1.3.5.6)

#2: /SUBTYPE(design_definition)/ (см. 5.1.4.2.5)

#3: /SUBTYPE(functional_definition)/ (см. 5.1.4.3.5)

#4: /SUBTYPE(general_characteristics_definition)/ (см. 5.1.4.4.4)

#5: /SUBTYPE(local_co_ordinate_system)/ (см. 5.1.9.4.4)

#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. 5.1.11.7.6)

#7: /SUBTYPE(spacingJable)/ (см. 5.1.9.10.5)

5.1.4.1.5 definition для derived_unit (как local_units) Элемент ПИМ:

#2: /SUBTYPE(design_definition)/ (см. 5.1.4.2.6)

#4: /SUBTYPE(general_characteristics_definition)/ (см. 5.1.4.4.5)

#5: /SUBTYPE(local_co_ordinate_system)/ (см. 5.1.9.4.5)

#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. 5.1.11.7.7)

#7: /SUBTYPE(spacingJable)/ (см. 5.1.9.10.6)

5.1.4.1.6 definition для named_unit (как local_units) Элемент ПИМ:

#2: /SUBTYPE(design_definition)/ (см. 5.1.4.2.7)

#4: /SUBTYPE(general_characteristics_definition)/ (см. 5.1.4.4.6)

#5: /SUBTYPE(local_co_ordinate_system)/ (см. 5.1.9.4.6)

#6: /SUBTYPE(moulded_form_characteristics_definition)/ (см. 5.1.11.7.8)

#7: /SUBTYPE(spacingJable)/ (см. 5.1.9.10.7)

149

ГОСТ Р ИСО 10303-216—2023

5.1.4.2 Прикладной элемент DESIGN_DEFINITION

#1: если значением design_definition является hydrostatic_definition

#2: если значением design_definition является moulded_form_design_definition

#3: если значением design_definition является stability_definition

Элемент ПИМ: #1: /SUBTYPE(hydrostatic definition)/ (см. 5.1.7.4)

#2: /SUBTYPE(moulded_form_design_definition)/ (см. 5.1.14.3)

#3: /SUBTYPE(stability_definition)/ (см. 5.1.7.11)

5.1.4.2.1 description Элемент ПИМ:

#1: /SUBTYPE(hydrostatic_definition)/ (см. 5.1.7.4.1)

#2: /SUBTYPE(moulded_form_design_definition)/ (см. 5.1.14.3.1)

#3: /SUBTYPE(stability_definition)/ (см. 5.1.7.11.1)

5.1.4.2.2 representations Элемент ПИМ:

#1: /SUBTYPE(hydrostatic_definition)/ (см. 5.1.7.4.8)

#2: /SUBTYPE(moulded_form_design_definition)/ (см. 5.1.14.3.15, 5.1.14.3.16)

#3: /SUBTYPE(stability_definition)/ (см. 5.1.7.11.7)

5.1.4.2.3 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17) через Definition

(см. 5.1.4.1).

Элемент ПИМ:

#1: /SUBTYPE(hydrostatic_definition)/ (см. 5.1.7.4.2)

#2: /SUBTYPE(moulded_form_design_definition)/ (см. 5.1.14.3.2)

#3: /SUBTYPE(stability_definition)/ (см. 5.1.7.11.2)

5.1.4.2.4 design_definition для definable_object (как definedjor)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

#1: /SUBTYPE(hydrostatic_definition)/ (см. 5.1.7.4.3)

#2: /SUBTYPE(moulded_form_design_definition)/ (см. 5.1.14.3.7)

#3: /SUBTYPE(stability_definition)/ (см. 5.1.7.11.3)

5.1.4.2.5 design_definition для globaljd (как id)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

#1: /SUBTYPE(hydrostatic_definition)/ (см. 5.1.7.4.5)

#2: /SUBTYPE(moulded_form_design_definition)/ (см. 5.1.14.3.8)

#3: /SUBTYPE(stability_definition)/ (см. 5.1.7.11.4)

5.1.4.2.6 design_definition для derived_unit (как local_units)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

#1: /SUBTYPE(hydrostatic_definition)/ (см. 5.1.7.4.6)

#2: /SUBTYPE(mouldedJorm_design_definition)/ (см. 5.1.14.3.9)

#3: /SUBTYPE(stability_definition)/ (см. 5.1.7.11.5)

5.1.4.2.7 design_definition для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

150

ГОСТ Р ИСО 10303-216—2023

Элемент ПИМ:

#1: /SUBTYPE(hydrostatic_definition)/ (см. 5.1.7.4.7)

#2: /SUBTYPE(moulded_form_design_definition)/ (см. 5.1.14.3.10)

#3: /SUBTYPE(stability_definition)/ (см. 5.1.7.11.6)

5.1.4.3 Прикладной элемент FUNCTIONAL_DEFINITION

#1: значением functional definition является moulded_form_functional_definition

#2: значением functional definition является Shiptype

Элемент ПИМ:

#1: /SUBTYPE(moulded_form_functional_definition)/ (см. 5.1.14.4)

#2: /SUBTYPE(Shiptype)/ (см. 5.1.12.11)

5.1.4.3.1 description

Элемент ПИМ:

#1: /SUBTYPE(moulded_form_functional_definition)/ (см. 5.1.14.4.1)

#2:/SUBTYPE(Shiptype)/ (см. 5.1.12.11.1)

5.1.4.3.2 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17) через Definition (см. 5.1.4.1).

Элемент ПИМ:

#1: /SUBTYPE(moulded_form_functional_definition)/ (см. 5.1.14.4.4)

#2:/SUBTYPE(Shiptype)/ (см. 5.1.12.11.3)

5.1.4.3.3 user_def_function

Элемент ПИМ:

#1: /SUBTYPE(moulded form functional definition)/ (см. 5.1.14.4.3)

#2: /SUBTYPE(Shiptype)/ (см. 5.1.12.11.2)

5.1.4.3.4 functional_definition для definable_object (как defined_for)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

#1: /SUBTYPE(moulded_form_functional_definition)/ (см. 5.1.14.4.5)

#2: /SUBTYPE(Shiptype)/ (см. 5.1.12.11.4)

5.1.4.3.5 functional_definition для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

#1: /SUBTYPE(moulded_form_functional_definition)/ (см. 5.1.14.4.6)

#2:/SUBTYPE(Shiptype)/ (см. 5.1.12.11.5)

5.1.4.4 Прикладной элемент GENERAL_CHARACTERISTICS_DEFINITION

#1: если значением элемента general_characteristics_definition является class and_ statutory_designation

#2: если значением элемента general_characteristics_definition является class_ parameters

#3: если значением элемента general_characteristics_definition является global_ axis_placement

#4: если значением элемента general_characteristics_definition является owner_ designation

#5: если значением элемента general_characteristics_definition является principal_ characteristics

151

ГОСТ Р ИСО 10303-216—2023

#6: если значением элемента general_characteristics_definition является ship_desig-nation

#7: если значением элемента general_characteristics_definition является shipyard_ designation

#8: если значением элемента general_characteristics_definition является ship_over-all_dimensions

Элемент ПИМ:

#1: /SUBTYPE(class_and_statutory_designation)/ (см. 5.1.12.2)

#2: /SUBTYPE(class_parameters)/ (см. 5.1.12.4)

#3: /SUBTYPE(global_axis_placement)/ (см. 5.1.9.3)

#4: /SUBTYPE(owner_designation)/ (см. 5.1.12.6)

#5: /SUBTYPE(principal_characteristics)/ (см. 5.1.12.7)

#6: /SUBTYPE(ship_designation)/ (см. 5.1.12.10)

#7: /SUBTYPE(shipyard_designation)/ (см. 5.1.12.12)

#8: /SUBTYPE(ship_overall_dimensions)/ (см. 5.1.11.11)

5.1.4.4.1 description

Элемент ПИМ:

#1: /SUBTYPE(class_and_statutory_designation)/ (см. 5.1.12.2.2)

#2: /SUBTYPE(class_parameters)/ (см. 5.1.12.4.2)

#3: /SUBTYPE(global_axis_placement)/ (см. 5.1.9.3.2)

#4: /SUBTYPE(owner_designation)/ (см. 5.1.12.6.1)

#5: /SUBTYPE(principal_characteristics)/ (см. 5.1.12.7.2)

#6: /SUBTYPE(ship_designation)/ (см. 5.1.12.10.2)

#7: /SUBTYPE(shipyard designation)/ (см. 5.1.12.12.1)

#8: /SUBTYPE(ship_overall_dimensions)/ (см. 5.1.11.11.1)

5.1.4.4.2 version id

Примечание —Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17) через Definition (см.

5.1.4.1).

Элемент ПИМ:

#1: /SUBTYPE(class_and_statutory_designation)/ (см. 5.1.12.2.3)

#2: /SUBTYPE(class_parameters)/ (см. 5.1.12.4.8)

#3: /SUBTYPE(global axis placement)/ (см. 5.1.9.3.4)

#4: /SUBTYPE(owner_designation)/ (см. 5.1.12.6.6)

#5: /SUBTYPE(principal_characteristics)/ (см. 5.1.12.7.12)

#6: /SUBTYPE(ship_designation)/ (см. 5.1.12.10.7)

#7: /SUBTYPE(shipyard_designation)/ (см. 5.1.12.12.6)

#8: /SUBTYPE(ship_overall_dimensions)/ (см. 5.1.11.11.7)

5.1.4.4.3 general characteristics definition для ship (как defined_for)

Элемент ПИМ:

#1: /SUBTYPE(class_and_statutory_designation)/ (см. 5.1.12.2.4)

#2: /SUBTYPE(class_parameters)/ (см. 5.1.12.4.9)

#3: /SUBTYPE(global_axis_placement)/ (см. 5.1.9.3.5)

#4: /SUBTYPE(owner_designation)/ (см. 5.1.12.6.7)

#5: /SUBTYPE(principal_characteristics)/ (см. 5.1.12.7.13)

#6: /SUBTYPE(ship_designation)/ (см. 5.1.12.10.8)

#7: /SUBTYPE(shipyard_designation)/ (см. 5.1.12.12.7)

#8: /SUBTYPE(ship_overall_dimensions)/ (см. 5.1.11.11.8)

152

ГОСТ Р ИСО 10303-216—2023

5.1.4.4.4 general_characteristics_definition для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

#1: /SUBTYPE(class_and_statutory_designation)/ (см. 5.1.12.2.5)

#2: /SUBTYPE(class_parameters)/ (см. 5.1.12.4.10)

#3: /SUBTYPE(global_axis_placement)/ (см. 5.1.9.3.6)

#4: /SUBTYPE(owner_designation)/ (см. 5.1.12.6.8)

#5: /SUBTYPE(principal characteristics)/ (см. 5.1.12.7.14)

#6: /SUBTYPE(ship_designation)/ (см. 5.1.12.10.9)

#7: /SUBTYPE(shipyard_designation)/ (см. 5.1.12.12.8)

#8: /SUBTYPE(ship_overall_dimensions)/ (см. 5.1.11.11.9)

5.1.4.4.5 general_characteristics_definition для derived_unit (как local_units) Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

#1: /SUBTYPE(class_and_statutory_designation)/ (см. примечание)

#2: /SUBTYPE(class_parameters)/ (см. 5.1.12.4.11)

#3: /SUBTYPE(global_axis_placement)/ (см. 5.1.9.3.7)

#4: /SUBTYPE(owner_designation)/ (см. примечание)

#5: /SUBTYPE(principal_characteristics)/ (см. 5.1.12.7.15)

#6: /SUBTYPE(ship_designation)/ (см. примечание)

#7: /SUBTYPE(shipyard_designation)/ (см. примечание)

#8: /SUBTYPE(ship_overall_dimensions)/ (см. 5.1.11.11.10)

Примечание — Для этого супертипа атрибут был переопределен в ПЭМ как совокупность нуля, что интерпретируется как отсутствие необходимости атрибута.

5.1.4.4.6 general_characteristics_definition для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

#1: /SUBTYPE(class_and_statutory_designation)/ (см. примечание)

#2: /SUBTYPE(class_parameters)/ (см. 5.1.12.4.12)

#3: /SUBTYPE(global_axis_placement)/ (см. 5.1.9.3.8)

#4: /SUBTYPE(owner_designation)/ (см. примечание)

#5: /SUBTYPE(principal_characteristics)/ (см. 5.1.12.7.16)

#6: /SUBTYPE(ship_designation)/ (см. примечание)

#7: /SUBTYPE(shipyard_designation)/ (см. примечание)

#8: /SUBTYPE(ship_overall_dimensions)/ (см. 5.1.11.11.11)

Примечание — Для этого супертипа атрибут был переопределен в ПЭМ как совокупность нуля, что интерпретируется как отсутствие необходимости атрибута.

5.1.5 Функциональная единица external_references

5.1.5.1 Прикладной элемент DOCUMENT

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

document

ИСО 10303-41

5.2.4.38

{[/CLASS(document,'document', 'versionable object')/]

[/ROOT_CLASS(document,'versionable object')/]}

153

ГОСТ Р ИСО 10303-216—2023

5.1.5.1.1 author

#1: если значением элемента author является person

#2: если значением элемента author является organization

#3: если значением элемента author является person_and_organization

Элемент ПИМ:

#1: applied_person_assignment.assigned_person

#2: applied_organization_assignment.assigned_organization

#3: applied_person_and_organization_assignment.assigned_person_and_-organization

Источник:

#1: ИСО 10303-216

#2: ИСО 10303-216

#3: ИСО 10303-216

Ссылочный путь:

#1: /PERS_ASSGN(document,'author')/

#2: /ORG_ASSGN (document.'author')/

#3: /PERS_ORG_ASSGN(document,'author')/

5.1.5.1.2 description

Элемент ПИМ:

document.description

Источник:

ИСО 10303-41

5.1.5.1.3 sourceJype

Элемент ПИМ:

document_representationjype.name

Источник:

ИСО 10303-41

Правила:

5.2.4.37

Ссылочный путь:

document <-

document_representationjype.represented_document document_representationjype

document_representationjype.name

5.1.5.1.4 title

Элемент ПИМ:

document.name

Источник:

ИСО 10303-41

5.1.5.1.5 versionjd

Элемент ПИМ:

applied Jdentification_assignment. assigned Jd

Источник:

ИСО 10303-216

Правила:

5.2.4.164

Ссылочный путь:

/VERSIONJD(document)/

5.1.5.2 Прикладной элемент DOCUMENT_PORTION

Элемент ПИМ:

document_usage_constraint

Источник:

ИСО 10303-41

5.1.5.2.1 elementjype

Элемент ПИМ:

document_usage_constraint.subject_element

Источник:

ИСО 10303-41

5.1.5.2.2 element_value

Элемент ПИМ:

document_usage_constraint.subject_element_value

Источник:

ИСО 10303-41

5.1.5.2.3 document_portion для document (как source)

Элемент ПИМ:

document_usage_constraint.source

Ссылочный путь:

document_usage_constraint

document usage constraint.source -> document

154

ГОСТ Р ИСО 10303-216—2023

5.1.5.3 Прикладной элемент DOCUMENT_REFERENCE

Элемент ПИМ:

document

Источник:

ИСО 10303-41

Ссылочный путь:

{/ROOT_CLASS(document,'document reference')/}

5.1.5.3.1 document_reference для document (как assigned_document)

Элемент ПИМ:

PATH

Ссылочный путь:

document

5.1.5.3.2 document_reference для document_portion (как assigned_document)

Элемент ПИМ:

PATH

Ссылочный путь:

document <-

document_usage_constraint.source document_usage_constraint

5.1.5.4 Прикладной элемент DOCUMENT_REFERENCE_WITH_ADDRESS

Элемент ПИМ:

document

Источник:

ИСО 10303-41

Правила:

5.2.4.39

Ссылочный путь:

{[/CLASS(document,'document reference with address','document reference')/] [/ROOT_CLASS(document,'document reference')/]

[/CLASS(document,'document reference with address','external reference')/] [/ROOT_CLASS(document,'external reference')/]}

5.1.5.4.1 description

Примечание — Атрибут унаследован из супертипа External_reference (см. 5.1.5.6).

Элемент ПИМ:

identification_role.description

Источник:

ИСО 10303-41

Ссылочный путь:

document

external Jdentification_item = document

external_identification_item <-

applied_external_identification_assignment.items[i] applied_external_identification_assignment <= external_identification_assignment <= identification_assignment identification_assignment.role -> identificaton_role

{identification_role.name = 'external reference'} identification_role.description

5.1.5.4.2 document_reference_with_address для document (как assigned_document) Примечание — Атрибут унаследован из супертипа Document_reference (см. 5.1.5.3).

Элемент ПИМ:

PATH

Ссылочный путь:

document

5.1.5.4.3 document_reference_with_address для document_portion (как assigned_document) Примечание — Атрибут унаследован из супертипа Document_reference (см. 5.1.5.3).

Элемент ПИМ:

Ссылочный путь:

PATH

document <-

document_usage_constraint.source document_usage_constraint

155

ГОСТ Р ИСО 10303-216—2023

5.1.5.4.4 document_reference_with_address для external storage (как location) Примечание — Атрибут унаследован из супертипа External_reference (см. 5.1.5.6).

Элемент ПИМ:

PATH

Ссылочный путь:

document

externaljdentificationjtem = document externaljdentificationjtem <-

applied_external_identification_assignment.items[i] applied_external_identification_assignment <= external_identification_assignment [external_identification_assignment.source -> external_source

{/CLASS_ID(external_source,'external storage')/}] [external_identification_assignment <= identification_assignment

identification_assignment.role -> identificaton_role

{identification_role.name = 'external reference'}]

5.1.5.4.5 document reference with address для universal_resource_locator (как location) Примечание — Атрибут унаследован из супертипа External_reference (см. 5.1.5.6).

Элемент ПИМ:

PATH

Ссылочный путь:

document

externaljdentificationjtem = document

externaljdentificationjtem <-

applied_externaljdentification_assignment.items[i] applied_externaljdentification_assignment <= external Jdentification_assignment

[externalJdentification_assignment.source -> external_source

{/CLASS_ID(external_source,'universal resource locator')/}] [external Jdentification_assignment <= identification_assignment

identification_assignment.role -> identificaton_role

{identification_role.name = 'external reference'}]

5.1.5.5 Прикладной элемент EXTERNAL_INSTANCE_REFERENCE

Элемент ПИМ:

applied_externaljdentification_assignment

Источник:

ИСО 10303-216

Ссылочный путь:

applied_externaljdentification_assignment <= externalJdentification_assignment <= {/ID_ROLE('external instance reference')/}

5.1.5.5.1 entity_type

Элемент ПИМ:

exte rn a l_so u rce. so u rce_i d

Источник:

ИСО 10303-41

Правила:

5.2.4.51

Ссылочный путь:

applied_externaljdentification_assignment <= external Jdentification_assignment

156

ГОСТ Р ИСО 10303-216—2023

externaljdentification_assignment.source -> externalsource

{/DESCRIPTION_ASSGN(external_source)/ description_attribute.attribute_value = 'schema name'} external_source_relationship.relating_source <-external_source_relationship {external_source_relationship.name = 'composition'} external_source_relationship.related_source -> external_source

{/DESCRIPTION_ASSGN(external_source)/ description_attribute.attribute_value = 'entity type'} external_source.source_id

{-> sourcejtem sourcejtem = identifier}

5.1.5.5.2 schema_name

Элемент ПИМ:

external_source.source_id

Источник:

ИСО 10303-41

Ссылочный путь:

applied_external_identification_assignment <= external Jdentification_assignment external_identification_assignment.source -> external_source

{/DESCRIPTION_ASSGN(external_source)/ description_attribute.attribute_value = 'schema name'} external_source.source_id

{-> sourcejtem

sourcejtem = identifier}

5.1.5.5.3 external_instance_reference для globaljd (как target_guid)

Элемент ПИМ:

PATH

Правила:

5.2.4.42

Ссылочный путь:

applied_externaljdentification_assignment <= externalJdentification_assignment <= identification_assignment

identification_assignment.assignedJd

5.1.5.6 Прикладной элемент EXTERNAL_REFERENCE

Элемент ПИМ:

applied_externaljdentification_assignment

Источник:

ИСО 10303-216

Ссылочный путь:

applied_externaljdentification_assignment <= externalJdentification_assignment <= identification_assignment identification_assignment.role -> identificaton_role

{identification_role.name ='external reference'}

5.1.5.6.1 description

Элемент ПИМ:

identification_role.description

Источник:

ИСО 10303-41

Правила:

5.2.4.49

Ссылочный путь:

applied_externaljdentification_assignment <=

157

ГОСТ Р ИСО 10303-216—2023

external_identification_assignment <= identification_assignment identification_assignment.role -> identificaton_role

identification_role.description

5.1.5.6.2 external_reference для external_storage (как location)

Элемент ПИМ:

PATH

Ссылочный путь:

applied_extemal_identification_assignment <= extemal_identification_assignment external_identification_assignment.source -> external_source

{/CLASS_ID(external_source,'external storage')/}

5.1.5.6.3 external reference для universal_resource_locator (как location)

Элемент ПИМ:

PATH

Ссылочный путь:

applied_external_identification_assignment <= external_identification_assignment external_identification_assignment.source -> external_source

{/CLASSJD(external_source,'universal resource locator')/}

5.1.5.7 Прикладной элемент EXTERNAL_STORAGE

Элемент ПИМ:

external_source

Источник:

ИСО 10303-41

Ссылочный путь:

{/ROOT_CLASS(external_source, 'external storage')/}

5.1.5.7.1 location

Элемент ПИМ:

external_source. source Jd

Источник:

ИСО 10303-41

Ссылочный путь:

external_source external_source. source Jd {-> source_item sourcejtem = identifier}

5.1.5.8 Прикладной элемент UNIVERSAL_RESOURCE_LOCATOR

Элемент ПИМ:

external_source

Источник:

ИСО 10303-41

Ссылочный путь:

{/ROOT_CLASS(external_source, 'universal resource locator')/}

5.1.5.8.1 location

Элемент ПИМ:

external_source. source Jd

Источник:

ИСО 10303-41

Ссылочный путь:

external_source

external_source.sourcejd

{-> sourcejtem sourcejtem = identifier}

5.1.6 Функциональная единица Hull_class_applicability

5.1.6.1 Прикладной элемент HULL APPLICABILITY

Элемент ПИМ:

serial_numbered_effectivity

Источник:

ИСО 10303-41

5.1.6.1.1 end_ Элемент ПИМ:

hull

serial_numbered_effectivity.effectivity_endjd

Источник:

ИСО 10303-41

158

ГОСТ Р ИСО 10303-216—2023

5.1.6.1.2 start hull

Элемент ПИМ: serial_numbered_effectivity.effectivity_start_id

Источник: ИСО 10303-41

5.1.6.1.3 hull_applicability для definition (как definitions_for_hulls)

Элемент ПИМ: PATH

Ссылочный путь: serial_numbered_effectivity <= effectivity {effectivity.id = 'hull applicability'} effectivity <-effectivity_assignment.assigned_effectivity effectivity_assignment /ROLE_ASSGN(effectivity_assignment)/ {object_role.name = 'definitions for hulls'} effectivity_assignment => applied_effectivity_assignment applied_effectivity_assignment.items [i] -> effectivityjtem (effectivity_item = product_definition {/CLAS S_l D (prod u ct_d efi n itio n,'d efi n iti о n')/}) (effectivityjtem = property_definition {/CLASS_ID(property_definition, 'definition')/}) (effectivityjtem = product_definition_shape {/CLASS_ID(product_definition_shape, 'definition')/}) (effectivityjtem = product_related_product_category {/C LAS S_l D (p rod u ct_re I ated_p rod u ct_catego ry,'d efi n iti о n')/})

5.1.6.1.4 hull_applicability для item (как items_for_hulls)

Элемент ПИМ: PATH

Ссылочный путь: serial_numbered_effectivity <= effectivity {effectivity.id = 'hull applicability'} effectivity <-effectivity_assignment.assigned_effectivity effectivity_assignment

/ROLE_ASSGN(effectivity_assignment)/ {object_role.name = 'items for hulls'} effectivity_assignment => applied_effectivity_assignment applied_effectivity_assignment.items [i] -> effectivityjtem

(effectivityjtem = product_definition {/CLASS_ID(product_definition, 'item')/})

5.1.7 Функциональная единица hydrostatics

5.1.7.1 Прикладной элемент ADDITION_OF_MOULDED_FORM

Элемент ПИМ: property_definition

Источник: ИСО 10303-41

Ссылочный путь: /ROOT_CLASS(property_definition, 'addition of moulded form')/

159

ГОСТ Р ИСО 10303-216—2023

5.1.7.1.1 addition_of_moulded_form для moulded_form (как displacement_of_moulded_form_to_add or_subtract)

Примечание — Атрибут унаследован из супертипа Displacement_operation (см. 5.1.7.2).

Элемент ПИМ: /SUPERTYPE(Displacement operation)/ (см. 5.1.7.2)

5.1.7.2 Прикладной элемент DISPLACEMENT_OPERATION

#1: значением элемента displacement_operation является Addition_of_moulded_form

#2: значением элемента displacement_operation является Subtraction_of_moulded_form

Элемент ПИМ:

#1: /SUBTYPE(Addition_of_moulded_form)/ (см. 5.1.7.1)

#2: /SUBTYPE(Subtraction_of_moulded_form)/ (cm. 5.1.7.15)

5.1.7.2.1 displacement_operation для moulded_form (как displacement_of_-moulded_form to add

or_subtract)

Элемент ПИМ:

PATH

Ссылочный путь:

/PROP_TO_PROD_DEF/

{/CLASS_ID(product_definition, 'moulded_form')/}

5.1.7.3 Прикладной элемент FLOATING_POSITION

Элемент ПИМ:

compound_representation_item

Источник:

ИСО 10303-43

Ссылочный путь:

/ROOT_CLASS(compound_representation_item, 'floating position')/

5.1.7.3.1 angle_of_heel

Элемент ПИМ:

plane_angle_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.43

Ссылочный путь:

/COMPOUND('angle of heel')/ value_representation_item value_representation_item.value_component {-> measure_value = plane_angle_measure}

5.1.7.3.2 angle of trim

Элемент ПИМ:

plane_angle_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.43

Ссылочный путь:

/COMPOUND('angle of trim')/ value_representation_item value_representation_item.value_component {-> measure_value = plane_angle_measure}

5.1.7.3.3 breadth_of_waterline

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.43

Ссылочный путь:

/COMPOUND('breadth of waterline')/

value_representation_item

value_representation_item.value_component {-> measure_value = positive_length_measure}

5.1.7.3.4 draught_at_amidships

Элемент ПИМ:

positive_length_measure

160

ГОСТ Р ИСО 10303-216—2023

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.43

Ссылочный путь:

/COMPOUND('draught at amidships')/ value_representationjtem

value representation item.value component {-> measure_value = positivejength_measure}

5.1.7.3.5 length of waterline

Элемент ПИМ:

positive Jength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.43

Ссылочный путь:

ZCOMPOUND('length of waterline')/ value_representationjtem

value_representationjtem.value_component {-> measure_value = positivejength_measure}

5.1.7.3.6 moulded_form_displacement

Элемент ПИМ:

volume_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.43

Ссылочный путь:

/COMPOUND('moulded form displacement')/ value_representationjtem

value_representationjtem.value_component {-> measure_value = volume_measure}

5.1.7.4 Прикладной элемент HYDROSTATIC DEFINITION

Элемент ПИМ:

property_definition

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(property_definition, 'hydrostatic definition', 'design definition')/] [/CLASS(property_definition, 'design definition', 'definition')/] [/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.7.4.1 description

Элемент ПИМ:

property_definition.description

Источник:

ИСО 10303-41

5.1.7.4.2 versionjd

Примечание —Атрибут унаследован из супертипа Versionable_object в 5.1.9.17 через супертип Design definition (см. 5.1.4.2), который наследуется от супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

identification_assignment.assignedJd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION_ID(property_definition)/

5.1.7.4.3 hydrostatic_definition для ship (как defined Jor)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Design_definition (см. 5.1.4.2).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROP_TO_PROD_DEF/

/PROD_DEF_PRODUCT/

{/CLASS_ID(product, 'ship')/}

161

ГОСТ Р ИСО 10303-216—2023

5.1.7.4.4 hydrostatic_definition для displacement operation (как displacement_changes)

Элемент ПИМ:

PATH

Ссылочный путь:

property_definition <-

property_definition_relationship.related_property_definition

property_definition_relationship

{property_definition_relationship.name = 'displacement change'} property_definition_relationship.relating_property_definition -> property_definition

{(/CLASS_ID(property_definition, 'addition of moulded form')/) (/CLASS_ID(property_definition, 'subtraction of moulded form')/)}

5.1.7.4.5 hydrostatic_definition для globaljd (как id)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Design_definition (см. 5.1.4.2).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Правила:

5.2.4.45, 5.2.4.89

Ссылочный путь:

property_definition

identificationjtem = property_definition <-applied_identification_assignment.items[i] applied_identification_assignment

5.1.7.4.6 hydrostatic_definition для derived_unit (как local_units)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Design_definition (см. 5.1.4.2).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROP_DEF_TO_UNITS('local units')/ unit

unit = derived_unit

derived unit

5.1.7.4.7 hydrostatic_definition для named_unit (как local_units)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Design_definition (см. 5.1.4.2).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROP_DEF_TO_UNITS('local units')/ unit

unit = named_unit

named unit

5.1.7.4.8 hydrostatic_definition для hydrostatic_table (как representations)

Примечание — Атрибут унаследован из супертипа Design_definition (см. 5.1.4.2).

Элемент ПИМ:

PATH

Правила:

5.2.4.59

Ссылочный путь:

/PROP_DEF_TO_REP/

{/CLASS_ID(representation, 'hydrostatic table')/}

5.1.7.5 Прикладной элемент HYDROSTATIC_POSITION_VALUE

Элемент ПИМ:

compound_representation_item

Источник:

ИСО 10303-43

Ссылочный путь:

/CLASS_ID(compound_representation_item, 'centre location')/

162

ГОСТ Р ИСО 10303-216—2023

5.1.7.5.1 hydrostatic_position_value для centrejocation (как position)

Элемент ПИМ:

IDENTICAL MAPPING

5.1.7.6 Прикладной элемент HYDROSTATIC_PROPERTIES_FOR_CONSTANT_FLOATING.

POSITION

Элемент ПИМ:

compound_representationjtem

Источник:

ИСО 10303-43

Ссылочный путь:

/ROOT_CLASS(compound_representationJtem, 'hydrostatic properties for constant floating position')/

5.1.7.6.1 hydrostatic_properties_for_constant_floating_position для floating_position (как definition_of

floating_position)

Элемент ПИМ:

PATH

Правила:

5.2.4.47

Ссылочный путь:

/COMPOUND('definition of floating position')/ compound_representationjtem

{/CLASS_ID(compound_representationJtem, 'floating position')/}

5.1.7.6.2 hydrostatic_properties_for_constant_floating_position для hydrostatic_property_value

(как hydrostatic_property_values)

Элемент ПИМ:

PATH

Правила:

5.2.4.31

Ссылочный путь:

/COMPOUND('hydrostatic property value')/ (compound_representationjtem

{/CLASS_ID(compound_representationJtem, 'centrejocation)/}) (value_representationjtem)

5.1.7.6.3 hydrostatic_properties_for_constant_floating_position для hydrostatic_table (как related_ hydrostaticjable)

Примечание — Атрибут является обратным отношением для элементов атрибута Hydrostaticjable (см. 5.1.7.10.3).

Элемент ПИМ:

PATH

Ссылочный путь:

compound_representationjtem <= representationjtem <-representation.items [i] representation

{/CLASS_ID(representation, 'hydrostatic table')/}

5.1.7.7 Прикладной элемент HYDROSTATIC_PROPERTY

Элемент ПИМ:

compound_representationjtem

Источник:

ИСО 10303-43

Ссылочный путь:

/ROOT_CLASS(compound_representationJtem, 'hydrostatic property')/

5.1.7.7.1 property_measure

#1: значением элемента property_measure является area_measure

#2: значением элемента property_measure является inertia_moment_measure

#3: значением элемента property_measure является length_measure

#4: значением элемента property_measure является moment_measure

#5: значением элемента property_measure является centrejocation

Элемент ПИМ:

#1: area_measure

#2: context_dependent_measure

#3: length_measure

#4: moment measure

163

ГОСТ Р ИСО 10303-216—2023

#5: compound_representation_item

Источник:

ИСО 10303-43

Ссылочный путь:

#1: /COMPOUND('property measure')/ value_representation_item

{value_representation_item.value_component -> measure_value = area_measure}

#2: /COMPOUND('property measure')/ value_representation_item

{value_representationjtem.value_component -> measure_value = context_dependent_measure} #3: /COMPOUND('property measure')/ value_representation_item

{valuerepresentationJtem.valuecomponent -> measure_value = length_measure}

#4: /COMPOUND('property measure')/ value_representation_item

{value_representationjtem.value_component -> measure_value = moment_measure}

#5: /COMPOUND('property measure')/ compound_representation_item

{/CLASS_ID(compound_representation_item, 'centrejocation')/}

5.1.7.7.2 property_type

Элемент ПИМ:

descriptive_representationjtem

Источник:

ИСО 10303-45

Правила:

5.2.4.48

Ссылочный путь:

/COMPOUND('property type')/

descriptive_representationjtem

{(descriptive_representation item.description = 'waterplane area') (descriptive_representationjtem.description = 'midship section area') (descriptive_representationjtem.description = 'wetted surface area') (descriptive_representationjtem.description = 'moment for unit change of trim') (descriptive_representationjtem.description = 'longitudinal second moment of area of waterplane')

(descriptive_representationjtem.description = 'longitudinal metacentric height')

(descriptive_representationjtem.description = 'transverse second moment of area of waterplane')

(descriptive_representationjtem.description = 'transverse metacentric height') (descriptive_representationJtem.description = 'centre of buoyancy')

(descriptive_representationjtem.description = 'centre of flotation')

(descriptive_representationjtem.description = 'centre of lateral resistance')}

5.1.7.8 Прикладной элемент HYDROSTATIC_PROPERTY_VALUE

Элемент ПИМ:

(compound_representationjtem)

(value_representationjtem.value_component)

Источник:

ИСО 10303-43

Ссылочный путь:

/SUBTYPE(Hydrostatic_position_value)/ (см. 5.1.7.5) /SUBTYPE(Hydrostatic_scalar_value)/ (см. 5.1.7.9)

164

ГОСТ Р ИСО 10303-216—2023

5.1.7.9 Прикладной элемент HYDROSTATIC_SCALAR_VALUE

Элемент ПИМ:

value_representation_item.value_component

Источник:

ИСО 10303-43

Ссылочный путь:

{value_representation_item value_representation_item.value_component -> measure_ value = ratio_measure}

5.1.7.9.1 scalar

Элемент ПИМ:

IDENTICAL MAPPING

5.1.7.10 Прикладной элемент HYDROSTATIC_TABLE

Элемент ПИМ:

representation

Источник:

ИСО 10303-43

Ссылочный путь:

/ROOT_CLASS(representation, 'hydrostatic table')/

5.1.7.10.1 name

Элемент ПИМ:

representation.name

Источник:

ИСО 10303-43

5.1.7.10.2 mean_shell_thickness

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.99

Ссылочный путь:

/REP_TO_VAL_REP_ITEM('mean shell thickness', positive_length_measure)/

5.1.7.10.3 hydrostatic_table для hydrostatic_properties_for_constant_floating_position (как items)

Элемент ПИМ:

PATH

Правила:

5.2.4.97

Ссылочный путь:

representation

representation.items [i] ->

representationJtem =>

compound_representation_item

{/CLASS_ID(compound_representation_item, 'hydrostatic properties for constant floating position')/}

5.1.7.10.4 hydrostatic_table для hydrostatic_property (как propertiesJn the hydrostatic table)

Элемент ПИМ:

PATH

Правила:

5.2.4.98

Ссылочный путь:

representation

representation.items [i] ->

representationjtem =>

compound_representation_item

{/CLASS_ID(compound_representation_item, 'hydrostatic property')/}

5.1.7.11 Прикладной элемент STABILITY_DEFINITION

Элемент ПИМ:

property_definition

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(property_definition, 'stability definition', 'design definition')/] [/CLASS(property_definition, 'design definition', 'definition')/] [/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.7.11.1 description

Элемент ПИМ:

property_definition.description

Источник:

ИСО 10303-41

165

ГОСТ Р ИСО 10303-216—2023

5.1.7.11.2 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17) через супертип Design_definition (см. 5.1.4.2), который наследуется от супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

identification_assignment.assignedjd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION JD(propertydefinition)/

5.1.7.11.3 stability definition для ship (как defined_for)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Design_definition (см. 5.1.4.2).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROP_TO_PROD_DEF/

/PROD_DEF_PRODUCT/

{/CLASSJD(product, 'ship')/}

5.1.7.11.4 stability_definition для globaljd (как id)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Design_definition (см. 5.1.4.2).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Правила:

5.2.4.45, 5.2.4.89

Ссылочный путь:

property_definition

identificationjtem = property_definition <-applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.7.11.5 stability_definition для derived_unit (как local_units)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Design_definition (см. 5.1.4.2).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROP_DEF_TO_UNITS('local units')/ unit

unit = derived_unit

derived unit

5.1.7.11.6 stability_definition для named_unit (как local_units)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Design_definition (см. 5.1.4.2).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROP_DEF_TO_UNITS('local units')/ unit

unit = named_unit

named unit

5.1.7.11.7 stability_definition для stabilityjable (как representations)

Примечание — Атрибут унаследован из супертипа Design_definition (см. 5.1.4.2).

Элемент ПИМ: PATH

Правила: 5.2.4.66

166

ГОСТ Р ИСО 10303-216—2023

Ссылочный путь:

/PROP_DEF_TO_REP/

{/CLASS_ID(representation, 'stability table')/}

5.1.7.12 Прикладной элемент STABILITY_PROPERTIES_FOR_ONE_FLOATING_POSITION

Элемент ПИМ:

compound_representation_item

Источник:

ИСО 10303-43

Ссылочный путь:

/ROOT_CLASS(compound_representation_item, 'stability properties for one floating position')/

5.1.7.12.1 stability_properties_for_one_floating_position для centre location (как centre_of_gravity

above_keel)

Элемент ПИМ:

PATH

Правила:

5.2.4.114, 5.2.4.147

Ссылочный путь:

/COMPOUND('centre of gravity above keel')/ compound_representation_item

{/CLASS_ID(compound_representation_item, 'centre location')/}

5.1.7.12.2 stability_properties_for_one_floating_position для floating_position (как definition_of starting_floating_position)

Элемент ПИМ:

PATH

Правила:

5.2.4.47

Ссылочный путь:

/COMPOUND('definition of starting floating position')/ compound_representation_item

{/CLASS_ID(compound_representation_item, 'floating position')/}

5.1.7.12.3 stability_properties_for_constant_floating_position для stability_table (как related_stability_ table)

Примечание — Атрибут является обратным отношением для элементов атрибута Stability_table (см. 5.1.7.14.3).

Элемент ПИМ:

PATH

Ссылочный путь:

compound_representation_item <= representationjtem <-representation.items [i] representation

{/CLASS_ID(representation, 'stability table')/}

5.1.7.12.4 stability_properties_for_one_floating_position для stability_property (как stability_properties for_different_angles_of_heel)

Элемент ПИМ:

PATH

Правила:

5.2.4.146

Ссылочный путь:

/COMPOUND('stability properties for different angles of heel')/ compound_representation_item

{/CLASS_ID(compound_representation_item, 'stability property')/}

5.1.7.13 Прикладной элемент STABILITY_PROPERTY

Элемент ПИМ:

compound_representation_item

Источник:

ИСО 10303-43

Ссылочный путь:

/ROOT_CLASS(compound_representation_item, 'stability property')/

5.1.7.13.1 angle_of_heel

Элемент ПИМ:

planeanglemeasure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.148

Ссылочный путь:

/COMPOUND('angle of heel')/

167

ГОСТ Р ИСО 10303-216—2023

value_representationjtem

{value_representationjtem.value_component -> measure_value = plane_angle_measure}

5.1.7.13.2 righting arm

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.148

Ссылочный путь:

/COMPOUND('righting arm')/ value_representationjtem

{value_representationjtem.value_component -> measure_value = positivejength_measure}

5.1.7.13.3 stability_property для centrejocation (как centre_of_buoyancy)

Элемент ПИМ:

PATH

Правила:

5.2.4.114, 5.2.4.148

Ссылочный путь:

/COMPOUND('centre of buoyancy')/

compound_representationjtem

{/CLASSJD(compound_representationJtem, 'centre location')/}

5.1.7.14 Прикладной элемент STABILITY_TABLE

Элемент ПИМ:

representation

Источник:

ИСО 10303-41

Ссылочный путь:

/ROOT_CLASS(representation, 'stability table')/

5.1.7.14.1 mean_shelljhickness

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.111

Ссылочный путь:

/REP_TO_VAL_REP_ITEM('mean shell thickness', positivejength_measure)/

5.1.7.14.2 name

Элемент ПИМ: representation.name

Источник: ИСО 10303-43

5.1.7.14.3 stabilityJable для stability_properties_for_one floating position (как items)

Элемент ПИМ: PATH

Правила: 5.2.4.110

Ссылочный путь: representation

representation.items [i] ->

representationjtem =>

compound_representationjtem

{/CLASSJD(compound_representationJtem, 'stability properties for one floating position')/}

5.1.7.15 Прикладной элемент SUBTRACTION_OF_MOULDED_FORM

Элемент ПИМ: property_definition

Источник: ИСО 10303-41

Ссылочный путь: /ROOT_CLASS(property_definition, 'subtraction of moulded form')/

5.1.7.15.1 subtraction_of_moulded_form для mouldedjorm (как displacement_of_mouldedjormjo_ add_or_subtract)

Примечание — Атрибут унаследован из супертипа Displacement_operation (см. 5.1.7.2).

Элемент ПИМ: /SUPERTYPE(Displacement_operation)/ (см. 5.1.7.2)

168

ГОСТ Р ИСО 10303-216—2023

5.1.8 Функциональная единица items

5.1.8.1 Прикладной элемент DEFINABLE OBJECT

#1: если значением элемента definable_object является item

#2: если значением элемента definable_object является item_relationship

#3: если значением элемента definable_object является item_structure Элемент ПИМ: #1: /SUBTYPE(item)/ (см. 5.1.8.3)

#2: /SUBTYPE(item_relationship)/ (см. 5.1.8.4)

#3: /SUBTYPE(item_structure)/ (см. 5.1.8.5)

5.1.8.1.1 definable_object для globaljd (как id)

Элемент ПИМ: #1: /SUBTYPE(item)/ (см. 5.1.8.3)

#2: /SUBTYPE(item_relationship)/ (см. 5.1.8.4)

#3: /SUBTYPE(item_structure)/ (см. 5.1.8.5)

5.1.8.2 Прикладной элемент GLOBALJD

Элемент ПИМ: appliedjdentification_assignment

Источник: ИСО 10303-216

Ссылочный путь: appliedjdentification_assignment <=

identification_assignment

{identification_assignment.role->

identification_role

identification_role.name = 'globally unambiguous identifier'}

5.1.8.2.1 id

Элемент ПИМ: identification_assignment.assignedjd

Источник: ИСО 10303-41

Ссылочный путь: appliedjdentification_assignment <=

identification_assignment

identification_assignment.assignedJd

5.1.8.3 Прикладной элемент ITEM

#1:

если

значением элемента item является change

#2:

если

значением элемента item является mouldedjorm

#3:

если

значением элемента item является ship

#4:

если

значением элемента item является ship_moulded Jorm

Элемент ПИМ:

#1: /SUBTYPE(change)/ (см. 5.1.3.4)

#2: /SUBTYPE(mouldedJorm)/ (см. 5.1.14.1)

#3: /SUBTYPE(ship)/ (см. 5.1.8.6 )

#4: /SUBTYPE(ship_mouldedJorm)/ (см. 5.1.14.11)

5.1.8.3.1 description

Элемент ПИМ:

#1: /SUBTYPE(change)/ (см. 5.1.3.4.1)

#2: /SUBTYPE(moulded_form)/ (см. 5.1.14.1.1)

#3: /SUBTYPE(ship)/ (см. 5.1.8.6.1)

#4: /SUBTYPE(ship_moulded Jorm)/ (см. 5.1.14.11.1)

5.1.8.3.2 name

Элемент ПИМ:

#1: /SUBTYPE(change)/ (см. 5.1.3.4.2)

#2:/SUBTYPE(mouldedJorm)/ (см. 5.1.14.1.2)

#3: /SUBTYPE(ship)/ (см. 5.1.8.6.2 )

169

ГОСТ Р ИСО 10303-216—2023

#4: /SUBTYPE(ship_moulded_form)/ (см. 5.1.14.11.2)

5.1.8.3.3 item для external reference (как documentation) Элемент ПИМ:

#1: /SUBTYPE(change)/ (см. 5.1.3.4.4)

#2: /SUBTYPE(moulded_form)/ (см. 5.1.14.1.3)

#3: /SUBTYPE(ship)/ (см. 5.1.8.6.3)

#4: /SUBTYPE(ship_moulded_form)/ (см. 5.1.14.11.4)

5.1.8.3.4 item для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definable_object (см. 5.1.8.1).

Элемент ПИМ:

#1: /SUBTYPE(change)/ (см. 5.1.3.4.5)

#2: /SUBTYPE(moulded_form)/ (см. 5.1.14.1.4)

#3: /SUBTYPE(ship)/ (см. 5.1.8.6.4)

#4: /SUBTYPE(ship_moulded_form)/ (см. 5.1.14.11.7)

5.1.8.3.5 item для ship (как ship_context)

Элемент ПИМ:

#1: /SUBTYPE(change)/ (см. 5.1.3.4.6)

#2: /SUBTYPE(moulded_form)/ (см. 5.1.14.1.5)

#4: /SUBTYPE(ship_moulded_form)/ (см. 5.1.14.11.10)

5.1.8.4 Прикладной элемент ITEM_RELATIONSHIP

Элемент ПИМ: /SUBTYPE(moulded_form_relationship)/ (см. 5.1.14.5)

5.1.8.4.1 description

Элемент ПИМ: /SUBTYPE(mouldedJorm_relationship)/ (см. 5.1.14.5.1)

5.1.8.4.2 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUBTYPE(mouldedJorm_relationship)/ (см. 5.1.14.5.2)

5.1.8.4.3 item_relationship для externaljnstance_reference (как externalJtem_1) Элемент ПИМ: /SUBTYPE(moulded_form_relationship)/ (см. 5.1.14.5.3)

5.1.8.4.4 item_relationship для externalJnstance_reference (как external item_2) Элемент ПИМ: /SUBTYPE(moulded form relationship)/ (см. 5.1.14.5.4)

5.1.8.4.5 item_relationship для globaljd (как id)

Примечание — Атрибут унаследован из супертипа (см. 5.1.8.1)

Элемент ПИМ: /SUBTYPE(moulded_form relationship)/ (см. 5.1.14.5.5)

5.1.8.4.6 item relationship для item (как item_1)

Элемент ПИМ: /SUBTYPE(moulded_form_relationship)/ (см. 5.1.14.5.6)

5.1.8.4.7 item_relationship для item (как item_2)

Элемент ПИМ: /SUBTYPE(moulded form relationship)/ (см. 5.1.14.5.7)

5.1.8.5 Прикладной элемент ITEM_STRUCTURE

Элемент ПИМ: /SUBTYPE(ship moulded form)/ (см. 5.1.14.11)

5.1.8.5.1 description

Элемент ПИМ: /SUBTYPE(ship_mouldedJorm)/ (см. 5.1.14.11.1)

5.1.8.5.2 versionjd

Примечание —Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUBTYPE(ship_moulded Jorm)/ (см. 5.1.14.11.3)

170

ГОСТ Р ИСО 10303-216—2023

5.1.8.5.3 item_structure для external_instance_reference (как externaljtems) Элемент ПИМ: /SUBTYPE(ship_mouldedJorm)/ (см. 5.1.14.11.5)

5.1.8.5.4 item_structure для external_instance_reference (как external_relationships) Элемент ПИМ: /SUBTYPE(ship_moulded_form)/(см. 5.1.14.11.6)

5.1.8.5.5 item_structure для globalJd (как id)

Примечание — Атрибут унаследован из супертипа Definable_object (см. 5.1.8.1).

Элемент ПИМ: /SUBTYPE(ship_moulded_form)/ (см. 5.1.14.11.7)

5.1.8.5.6 item_structure для item (как items)

Элемент ПИМ: /SUBTYPE(ship_moulded_form)/ (см. 5.1.14.11.8)

5.1.8.5.7 item_structure для item_relationship (как relationships)

Элемент ПИМ: /SUBTYPE(ship_moulded_form)/ (см. 5.1.14.11.9)

5.1.8.6 Прикладной элемент SHIP

Элемент ПИМ: product

Источник: ИСО 10303-41

Ссылочный путь: {[/CLASS(product, 'ship', 'item')/] [/CLASS(product, 'item', 'definable object')/] [/ROOTC LASS(prod uct, 'definable object')/]} 5.1.8.6.1 description Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ: product.description

Источник: ИСО 10303-41

5.1.8.6.2 name

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ: product.name

Источник: ИСО 10303-41

5.1.8.6.3 ship для external_reference (как documentation) Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

#1: Если «как documentation» ссылается на Externajeference

Элемент ПИМ: PATH

Ссылочный путь: product product = externaljdentificationjtem externaljdentificationjtem <-applied_external_identification_assignment.items[i] applied_external_identification_assignment

#2: Если «как documentation» ссылается на Document_reference_with_address Элемент ПИМ: PATH

Ссылочный путь: product

/DOC_REF(product,'documentation')/ document {/CLASS_ID(document, 'document reference with address')/} 5.1.8.6.4 ship для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definable_object (см. 5.1.8.1).

Элемент ПИМ: PATH

Правила: 5.2.4.45, 5.2.4.73

Ссылочный путь: product

171

ГОСТ Р ИСО 10303-216—2023

identificationjtem = product<-

applied identification_assignment.items[i]

applied Jdentification_assignment

5.1.8.6.5 ship для item (как shipjtems)

Элемент ПИМ:

#1: если значением элемента item является mouldedjorm or ship_moulded_form

#2: если значением элемента item является change

#1: PATH

#2: PATH

Ссылочный путь:

#1: product <-

product_definition_formation.of_product product_definitionjormation <-product_definition.formation

product_definition

#2: product

actionjtem = product

actionjtem <-

applied_action_assignment.items[i] applied_action_assignment applied_action_assignment.assigned_action -> action

5.1.8.6.6 single_hull_or_class

Элемент ПИМ:

product_context

Источник:

ИСО 10303-41

Ссылочный путь:

product

product.frame_of_reference ->

product_context

{(product_context.disciplinejype = 'design for single hull') (product_context.disciplinejype = 'design for multiple hulls')}

5.1.8.6.7 ship для derived_unit (как units)

Элемент ПИМ:

PATH

Ссылочный путь:

product <-

product_definition_formation.of_product product_definition_formation<-product_definition.formation

/PROD_DEF_TO_UNITS('global units')/ unit

unit = derived_unit

derived unit

5.1.8.6.8 ship для named_unit (как units)

Элемент ПИМ:

PATH

Ссылочный путь:

product <-

product_definitionjormation.of_product product_definitionjormation<-product_definition.formation

/PROD_DEF_TO_UNITS('global units')/ unit

unit = named_unit

named unit

172

ГОСТ Р ИСО 10303-216—2023

5.1.9 Функциональная единица location_concepts

5.1.9.1 Прикладной элемент BUTTOCK_TABLE

Элемент ПИМ: property_definition

Источник: ИСО 10303-41

Ссылочный путь: {[/CLASS(property_definition, 'buttock table', 'transversal table')/] [/CLASS(property_definition, 'transversal table', 'spacing table')/] [/CLASS(property_definition, 'spacing table', 'definition')/] [/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.9.1.1 description

Примечание — Атрибут унаследован из супертипа Spacing Jable (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacing Jable)/ (см. 5.1.9.10.1)

5.1.9.1.2 name

Примечание — Атрибут унаследован из супертипа Spacingjable (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.2)

5.1.9.1.3 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.3)

5.1.9.1.4 buttockjable для definable_object (как defined Jor)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.4)

5.1.9.1.5 buttockjable для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.5)

5.1.9.1.6 buttockjable для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.6)

5.1.9.1.7 buttockjable для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.7)

5.1.9.1.8 buttockjable для transversal_position (как spacingJable_representations) Примечание — Атрибут унаследован из супертипа Transversal Jable (см. 5.1.9.13).

Элемент ПИМ: /SUPERTYPE(transversalJable)/ (см. 5.1.9.13.8)

5.1.9.2 Прикладной элемент FRAME_TABLE

Элемент ПИМ: property_definition

Источник: ИСО 10303-41

Ссылочный путь: {[/CLASS(property_definition, 'frame table', 'longitudinal table')/] [/CLASS(property_definition, 'longitudinal table', 'spacing table')/] [/CLASS(property_definition, 'spacing table', 'definition')/] [/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.9.2.1 description

Примечание — Атрибут унаследован из супертипа Spacing Jable (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.7.1)

173

ГОСТ Р ИСО 10303-216—2023

5.1.9.2.2 name

Примечание — Атрибут унаследован из супертипа Spacing_table (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacing_table)/ (см. 5.1.9.7.2)

5.1.9.2.3 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.7.3)

5.1.9.2.4 frameJable для definable_object (как defined_for)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.7.4)

5.1.9.2.5 framejable для globaljd (как id)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: ZSUPERTYPE(spacingJable)/ (см. 5.1.9.7.5)

5.1.9.2.6 framejable для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.7.6)

5.1.9.2.7 framejable для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.7.7)

5.1.9.2.8 framejable для longitudinal_position (как spacingjable_representations) Примечание — Атрибут унаследован из супертипа Longitudinaljable (см. 5.1.9.7).

Элемент ПИМ:

/SUPERTYPE(spacingJable)/ (см. 5.1.9.7.8)

5.1.9.3 Прикладной элемент GLOBAL_AXIS_PLACEMENT

Элемент ПИМ:

[product_definition]

[axis2_placement_3d]

Источник:

ИСО 10303-41, ИСО 10303-42

Правила:

5.2.4.44, 5.2.4.95, 5.2.4.114

Ссылочный путь:

{[/CLASS(product_definition, 'global axis placement', 'general characteristics definition')/] [/C LAS S( prod uct_defi nition, 'general characteristics definition', 'definition')/]

[/CLASS(product_definition, 'definition', 'versionable object')/]

[/ROOT_CLASS(product_definition, 'versionable object')/]}

/PROD_DEF_TO_REP('global axis placement')/

representation

{{representation.name = 'global axis representation'}

representation.context_ofjtems ->

representation_context =>

{representation_context.contextjype = 'global coordinate space'}

geometric_representation_context

{geometric_representation_context.coordinate_space_dimension = 3}}

/REPJTEM('global axes and origin')/

geometric_representationjtem =>

placement =>

axis2_placement_3d

5.1.9.3.1 after_perpendicular_offset

Элемент ПИМ:

value_representationjtem.value_component

174

ГОСТ Р ИСО 10303-216—2023

Источник:

ИСО 10303-41

Правила:

5.2.4.95, 5.2.4.114

Ссылочный путь:

/PROD_DEF_TO_REP('global axis placement')/ representation

{{representation.name = 'global axis representation'} representation.context_ofjtems -> representation_context =>

{representation_context.contextjype = 'global coordinate space'} geometric_representation_context

{geometric_representation_context.coordinate_space_dimension = 3}}

/REP_TO_VAL_REP_ITEM('after perpendicular offset', length_measure)/

5.1.9.3.2 description

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ:

product_definition.description

Источник:

ИСО 10303-41

5.1.9.3.3 orientation

Элемент ПИМ:

descriptive_representationjtem.description

Источник:

ИСО 10303-45

Правила:

5.2.4.95, 5.2.4.114

Ссылочный путь:

/PROD_DEF_TO_REP('global axis placement')/

representation

{{representation.name = 'global axis representation'} representation.context_of_items -> representation_context =>

{representation_context.contextjype = 'global coordinate space'}}

/REPJTEM('orientation')/

descriptive_representationjtem

descriptive_representationjtem.description

{(descriptive_representationjtem.description = 'forward pointing') (descriptive_representationjtem.description = 'aft pointing')}

5.1.9.3.4 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

identification_assignment.assignedjd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION JD(productdefinition)/

5.1.9.3.5 global_axis_placement для ship (как definedjor)

Примечание — Атрибут унаследован из супертипа General_characteristics_definition (см. 5.1.4.4).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_PRODUCT/

{/CLASS_ID(product, 'ship')/}

5.1.9.3.6 global_axis_placement для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.70

175

ГОСТ Р ИСО 10303-216—2023

Ссылочный путь:

product_definition

identificationjtem = product_definition <- applied identification_assignment.items[i] appliedJdentificationassignment

5.1.9.3.7 global_axis_placement для derived unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_TO_UNITS('local_units')/ unit

unit = derived_unit

derived unit

5.1.9.3.8 global_axis_placement для named unit (как local_units)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_TO_UNITS('local_units')/ unit

unit = named unit named unit

5.1.9.4 Прикладной элемент LOCAL_CO_ORDINATE_SYSTEM

Элемент ПИМ:

[property_definition]

[axis2_placement_3d]

Источник:

ИСО 10303-41, ИСО 10303-42

Правила:

5.2.4.114, 5.2.4.82, 5.2.4.100

Ссылочный путь:

{[/CLASS(property_definition, 'local coordinate system', 'definition')/] [/CLASS(property_definition, 'definition', 'versionable object')] [/ROOT_CLASS(property_definition, 'versionable object')/]} /PROP_DEF_REP_HELP('local coordinate system')/ representation

{{representation.name = 'local axis representation'} representation. context_ofjtems -> representation_context =>

{representation_context.context_type = 'local coordinate space'} geometric_representation_context

{geometric_representation_context.coordinate_space_dimension = 3}} /REPJTEM('local axes and origin')/ geometric_representationjtem => placement => axis2_placement_3d

5.1.9.4.1 description

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ:

property_definition.description

Источник:

ИСО 10303-41

5.1.9.4.2 versionjd

Примечание —Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

identification_assignment.assignedjd

Источник:

ИСО 10303-41

176

ГОСТ Р ИСО 10303-216—2023

Правила: 5.2.4.164

Ссылочный путь: /VERSIONJD(property definition)/

5.1.9.4.3 local_co_ordinate_system для definable_object (как defined_for) Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: PATH

Ссылочный путь: /PROP_TO_PROD_DEF/

5.1.9.4.4 local_co_ordinate_system для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.89

Ссылочный путь:

property_definition

identificationjtem = property_definition <-applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.9.4.5 local.

_co_ordinate_system для derived_unit (как local units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROP_DEF_TO_UNITS('local_units')/ unit

unit = derived_unit derived_unit

5.1.9.4.6 local

_co_ordinate_system для named_unit (как local units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROP_DEF_TO_UNITS('local_units')/ unit

unit = named_unit named_unit

5.1.9.4.7 local Элемент ПИМ:

_co_ordinate_system для global_axis_placement (как parent) PATH

Правила:

5.2.4.125

Ссылочный путь:

axis2_placement_3d <=

placement <=

geometric_representationjtem <=

representationjtem <-

representation_map.mapping_origin

representation_map

{[representation_map.mapped_representation ->

representation

representation.name = 'local axis representation']}

representation_map <-

mappedJtem.mappingsource

mappedjtem

{mappedjtem.name = 'local coordinate system position in global coordinate system'} mappedjtem.mappingjarget ->

177

ГОСТ Р ИСО 10303-216—2023

representationjtem => geometric_representationjtem => placement => axis2_placement_3d

5.1.9.4.8 local_co_ordinate_system для local_co_ordinate_system (как parent) Элемент ПИМ: PATH

Правила: 5.2.4.125

Ссылочный путь: axis2_placement_3d <= placement <= geometric representation item <= representationjtem <-representation_map.mapping_origin representation_map {[representation_map.mapped_representation -> representation representation.name = 'local axis representation']} representation_map <-mapped Jtem.mapping_source mappedjtem {mappedjtem.name = 'local coordinate system position in parent local coordinate system'} mappedjtem.mappingjarget -> representationjtem => geometric_representationjtem => placement => axis2_placement_3d

5.1.9.4.9 local_co_ordinate_system для local_co_ordinate_system_with_position_reference

(как parent) Элемент ПИМ: PATH

Правила: 5.2.4.125

Ссылочный путь: axis2_placement_3d <= placement <= geometric_representationjtem <= representationjtem <-representation_map.mapping_origin representation_map {[representation_map.mapped_representation -> representation representation.name = 'local axis representation']} representation_map <-

mapped Jtem.mapping_source mappedjtem

{mappedjtem.name = 'local coordinate system position in parent local coordinate system with position reference'} mappedjtem.mappingjarget -> representationjtem => geometric_representationjtem =>

178

ГОСТ Р ИСО 10303-216—2023

placement =>

axis2_placement_3d

5.1.9.5 Прикладной элемент LOCAL_CO_ORDINATE_SYSTEM_WITH_POSITION_REFERENCE Элемент ПИМ: [property_definition]

[axis2_placement_3d]

Источник: ИСО 10303-41, ИСО 10303-42

Правила: 5.2.4.114, 5.2.4.83, 5.2.4.101

Ссылочный путь: {[/CLASS(property_definition, 'local coordinate system with position

reference', 'local coordinate system')/]

[/CLASS(property_definition, 'local coordinate system', 'definition')/]

[/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]} /PROP_DEF_REP_HELP('local coordinate system with position reference')/ representation

{{representation.name = 'local axis with position reference representation'} representation.context_of_items -> representation_context =>

{representation_context.context_type = 'local coordinate space'}

geometric_representation_context

{geometric_representation_context.coordinate_space_dimension = 3}}

/REPJTEM('local axes and origin')/

geometric_representation_item =>

placement =>

axis2_placement_3d

5.1.9.5.1 description

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ: /SU PERT YPE( I оса l_co_ordinate_sy stem)/ (см. 5.1.9.4.1)

5.1.9.5.2 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(local_co_ordinate_system)/ (см. 5.1.9.4.2)

5.1.9.5.3 local_co_ordinate_system_with_position_reference для definable_object (как defined_for)

Примечание — Атрибут унаследован из супертипа (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(local_co_ordinate_system)/ (см. 5.1.9.4.3)

5.1.9.5.4 local_co_ordinate_system_with_position_reference для globalJd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(local_co_ordinate_system)/ (см. 5.1.9.4.4)

5.1.9.5.5 local_co_ordinate_system_with_position_reference для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(local_co_ordinate_system)/ (см. 5.1.9.4.5)

5.1.9.5.6 local_co_ordinate_system_with_position_reference для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(local_co_ordinate_system)/ (см. 5.1.9.4.6)

5.1.9.5.7 local_co_ordinate_system_with_position_reference для length_measure (как longitudinal_ref) Элемент ПИМ: length_measure

179

ГОСТ Р ИСО 10303-216—2023

Источник:

ИСО 10303-43

Ссылочный путь:

/PROP_DEF_REP_HELP('local coordinate system with position reference')/ representation

{representation.name = 'local axis with position reference representation'}

representation.items [i] ->

representationjtem

representationjtem =>

{representationjtem.name = 'longitudinal ref} value_representationjtem {value_ representation Jtem. value_component -> measure_value = lengthmeasure}

5.1.9.5.8 local. Элемент ПИМ:

_co_ordinate_system_with_position_reference для spacing_position (как longitudinal_ref) compound_representationjtem

Источник:

ИСО 10303-43

Ссылочный путь:

/PROP_DEF_REP_HELP('local coordinate system with position reference')/ representation

{representation.name = 'local axis with position reference representation'} representation.items [i] -> representationjtem

(representationjtem =>

compound_representationjtem

{/CLASS_HELP(compound_representationJtem)/

(group.name = 'longitudinal position')

(group.name = 'spacing position with offset')

class}}

5.1.9.5.9 local_ Элемент ПИМ:

_co_ordinate_system_with_position_reference для global_axis_ placement (как parent) PATH

Правила:

5.2.4.125

Ссылочный путь:

axis2_placement_3d <=

placement <=

geometric_representationjtem <=

representationjtem <-

representation_map.mapping_origin

representation_map

{[representation_map.mapped_representation ->

representation

representation.name = 'local axis with position reference representation']} representation_map <-

mapped Jtem.mapping_source

mappedjtem

{mappedjtem.name = 'local coordinate system position in global coordinate system'} mappedjtem.mappingjarget -> representationjtem => geometric_representationjtem => placement => axis2_placement_3d

5.1.9.5.10 local_co_ordinate_system_with_position_reference для local_co_ordinate_system (как parent)

Элемент ПИМ:

/SUPERTYPE(local_co_ordinate_system)/ (см. 5.1.9.4.8)

180

ГОСТ Р ИСО 10303-216—2023

5.1.9.5.11 local_co_ordinate_system_with_position_reference для local_co_ordinate_system_with position_reference (как parent)

Элемент ПИМ:

/SUPERTYPE(local_co_ordinate_system)/ (см. 5.1.9.4.9)

5.1.9.5.12 local_co_ordinate_system_with_position_reference для length_measure (как transversal_ref)

Элемент ПИМ:

length_measure

Источник:

ИСО 10303-43

Ссылочный путь:

/PROP_DEF_REP HELP('local coordinate system with position reference')/ representation

{representation.name = 'local axis with position reference representation'} representation.items [i] -> representationjtem

representationjtem =>

{representationjtem.name = 'transversal ref}

value_representationjtem

{value_representationjtem.value_component -> measure_value = length_measure}

5.1.9.5.13 local_co_ordinate_system_with_position_reference для spacing_position (как transversal

ref)

Элемент ПИМ:

compound_representationjtem

Источник:

ИСО 10303-43

Ссылочный путь:

/PROP_DEF_REP HELP('local coordinate system with position reference')/ representation

{representation.name = 'local axis with position reference representation'} representation.items [i] -> representationjtem

representationjtem =>

compound_representationjtem

{/CLASS_HELP(compound_representationJtem)/

(group.name = 'transversal position')

(group.name = 'spacing position with offset') class}}

5.1.9.5.14 local_co_ordinate_system_with_position_reference для length_measure (как vertical ref)

Элемент ПИМ:

length_measure

Источник:

ИСО 10303-43

Ссылочный путь:

/PROP_DEF_REP_HELP('local coordinate system with position reference')/ representation

{representation.name = 'local axis with position reference representation'} representation.items [i] -> representationjtem

representationjtem =>

{representationjtem.name = 'vertical ref}

value_representationjtem {value_representationjtem.value_component -> measure_value = length_measure}

5.1.9.5.15 local_co_ordinate_system_with_position_reference для spacing_position (как vertical_ref)

Элемент ПИМ:

compound_representationjtem

Источник:

ИСО 10303-43

Ссылочный путь:

/PROP_DEF_REP_HELP('local coordinate system with position reference')/ representation

181

ГОСТ Р ИСО 10303-216—2023

{representation.name = 'local axis with position reference representation'} representation.items [i] -> representationJtem representationjtem => compound_representation_item

{/CLASS_HELP(compound_representation_item)/

(group.name = 'vertical position')

(group.name = 'spacing position with offset') class}}

5.1.9.6 Прикладной элемент LONGITUDINAL_POSITION

Элемент ПИМ: compound_representation_item

Источник: ИСО 10303-43

Ссылочный путь:

{[/CLASS(compound_representation_item, 'longitudinal position', 'spacing position')/] [/ROOT_CLASS(compound_representation_item, 'spacing position')/]} {compound_representation_item <-representation. items[i] representation

representation.context_of_items -> representation_context =>

{representation_context.context_type = 'global coordinate space'} geometric_representation_context}

5.1.9.6.1 name

Примечание — Атрибут унаследован из супертипа Spacing_position (см. 5.1.9.8).

Элемент ПИМ: /SUPERTYPE(spacing_position)/ (см. 5.1.9.8.1)

Ссылочный путь: см. отображения супертипа

5.1.9.6.2 position

Примечание — Атрибут унаследован из супертипа Spacing_position (см. 5.1.9.8).

5.1.9.6.3 position_number

Примечание — Атрибут унаследован из супертипа Spacing_position (см. 5.1.9.8).

Элемент ПИМ: /SUPERTYPE(spacing_position)/ (см. 5.1.9.8.3)

5.1.9.7 Прикладной элемент LONGITUDINAL_TABLE

Элемент ПИМ: property_definition

Источник: ИСО 10303-41

Ссылочный путь: {[/CLASS(property_definition, 'longitudinal table', 'spacing table')/] [/CLASS(property_definition, 'spacing table', 'definition')/] [/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.9.7.1 description

Примечание — Атрибут унаследован из супертипа Spacing_position (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacing_table)/ (см. 5.1.9.10.1)

5.1.9.7.2 name

Примечание —Атрибут унаследован из супертипа Spacing_position (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.2)

182

ГОСТ Р ИСО 10303-216—2023

5.1.9.7.3 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(spacing_table)/ (см. 5.1.9.10.3)

5.1.9.7.4 longitudinalJable для definable_object (как definedjor)

Примечание — Атрибут унаследован из супертипа (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable/ (см. 5.1.9.10.4)

5.1.9.7.5 longitudinaljable для globaljd (as id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

5.1.9.7.6 longitudinaljable для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.6)

5.1.9.7.7 longitudinaljable для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.7)

5.1.9.7.8 longitudinaljable для longitudinal_position (как spacingJable_representations)

Элемент ПИМ: PATH

Ссылочный путь: /PROP_DEF_TO_REP/

representation.items [i] ->

representationjtem =>

compound_representationjtem

{/CLASS_ID(compound_representationJtem, 'longitudinal position')/}

5.1.9.8 Прикладной элемент SPACING_POSITION

Элемент ПИМ: compound_representationjtem

Источник: ИСО 10303-43

Ссылочный путь:

{/ROOT_CLASS(compound_representationJtem, 'spacing position')/}

{compound_representationjtem <-

representation.items[i]

representation

representation.context_of_items ->

representation_context

{representation_context.contextjype = 'global coordinate space'}

=> geometric_representation_context}

5.1.9.8.1 name

Элемент ПИМ: compound_representationjtem.name

Источник: ИСО 10303-43

5.1.9.8.2 position

Элемент ПИМ: length_measure

Источник: ИСО 10303-43

Правила: 5.2.4.114,5.2.4.143

Ссылочный путь: /COMPOUND('position')/

value_representationjtem {value_representationjtem.value_component -> measure_value = length_measure}

5.1.9.8.3 position_number

Элемент ПИМ: count_measure

183

ГОСТ Р ИСО 10303-216—2023

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.143

Ссылочный путь:

/COMPOUND('position number')/

value_representation_item {value_representation_item.value_component -measure_value = count_measure}

5.1.9.9 Прикладной элемент SPACING_POSITION_WITH_OFFSET

Элемент ПИМ:

compound_representation_item

Источник:

ИСО 10303-43

Ссылочный путь:

{[/CLASS(compound representation item, 'spacing position with offset', 'spacing position')/]

[/ROOT_CLASS(compound_representation_item, 'spacing position')/]}

{compound_representation_item <-

representation.items[i]

representation

representation.context_of_items ->

representation_context =>

{representation_context.context_type = 'global coordinate space'}

geometric_representation_context}

5.1.9.9.1 name

Примечание — Атрибут унаследован из супертипа Spacing_position (см. 5.1.9.8).

Элемент ПИМ:

compound_representation_item.name

Источник:

ИСО 10303-43

5.1.9.9.2 offset

Элемент ПИМ:

length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.145

Ссылочный путь:

/COMPOUND('offset')/ value_representation_item

{value_representation_item.value_component -> measure_value = length_measure}

5.1.9.9.3 position

Элемент ПИМ:

length_measure

Источник:

ИСО 10303-43

Ссылочный путь:

/COMPOUND(’position')/

value_representation_item

{value_representation_item.value_component -> measure_value = length_measure}

5.1.9.9.4 position_number

Примечание — Атрибут унаследован из супертипа Spacing_position (см. 5.1.9.8).

Элемент ПИМ:

length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.143

Ссылочный путь:

/COMPOUND('position number')/

value_representation_item

{value_representation_item.value_component -> measure_value = count_measure}

184

ГОСТ Р ИСО 10303-216—2023

5.1.9.9.5 spacing_position_with_offset для spacing_position (как relating_spacing_position)

Элемент ПИМ:

PATH

Правила:

5.2.4.144

Ссылочный путь:

/COMPOUND('relating spacing position')/ {/CLASS_HELP(compound_representationJtem)/ (group.name = 'longitudinal position') (group.name = 'transversal position') (group.name = 'vertical position') class}}

5.1.9.10 Прикладной элемент SPACING_TABLE

Элемент ПИМ:

property_definition

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(property_definition, 'spacing table', 'definition')/] [/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.9.10.1 description

Элемент ПИМ:

property_definition.description

Источник:

ИСО 10303-43

5.1.9.10.2 name

Элемент ПИМ:

property_definition.name

Источник:

ИСО 10303-43

5.1.9.10.3 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

identification_assignment.assignedjd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION JD(property_definition)/

5.1.9.10.4 spacingJable для definable_object (как defined Jor)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Ссылочный путь:

property_definition

property defintion.definition ->

characterized_definition

characterized_definition = characterized_product_definition characterized_product_definition = product_definition product_definition

product_definition.formation -> product_definitionjormation product_definitionjormation.of_product -> product

{/CLASS_ID(product, 'ship')}

5.1.9.10.5 spacingJable для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.89

185

ГОСТ Р ИСО 10303-216—2023

Ссылочный путь: property_definition

identificationjtem = property_definition <-applied identification_assignment.items[i] applied Jdentification_assignment

5.1.9.10.6 spacingjable для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: PATH

Ссылочный путь: /PROP_DEF_TO_UNITS('local units')/ unit unit = derived_unit derived_unit

5.1.9.10.7 spacingjable для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: PATH

Ссылочный путь: /PROP_DEF_TO_UNITS('local units')/ unit unit = named_unit named_unit

5.1.9.10.8 spacingjable для spacing_position (как spacingJable_representations)

Элемент ПИМ: PATH

Ссылочный путь: /PROP_DEF_TO_REP/ representation.items [i] -> representationjtem => compound_representationjtem {/CLASS_HELP(compound_representationJtem)/ (group.name = 'longitudinal position') (group.name = 'transversal position') (group.name = 'vertical position') (group.name = 'spacing position with offset') class}}

5.1.9.11 Прикладной элемент STATION_TABLE

Элемент ПИМ: pгоperty_definition

Источник: ИСО 10303-41

Ссылочный путь: {[/CLASS(property_definition, 'station table', 'longitudinal table')/] [/CLASS(property_definition, 'longitudinal table', 'spacing table')/] [/CLASS(property_definition, 'spacing table', 'definition')/] [/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.9.11.1 description

Примечание — Атрибут унаследован из супертипа Spacingjable (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.7.1)

5.1.9.11.2 name

Примечание — Атрибут унаследован из супертипа Spacingjable (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.7.2)

5.1.9.11.3 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.3)

186

ГОСТ Р ИСО 10303-216—2023

5.1.9.11.4 station_table для definable_object (как defined_for)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.4)

5.1.9.11.5 station_table для global_id (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacing_table)/ (см. 5.1.9.7.5)

5.1.9.11.6 station_table для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacing_table)/ (см. 5.1.9.7.6)

5.1.9.11.7 station_table для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacing_table)/ (см. 5.1.9.7.7)

5.1.9.11.8 station_table для longitudinal_position (как spacing_table_representations)

Примечание — Атрибут унаследован из супертипа Longitudinal_table (см. 5.1.9.7).

Элемент ПИМ: /SUPERTYPE(longitudinal_table)/ (см. 5.1.9.7.8)

5.1.9.12 Прикладной элемент TRANSVERSAL_POSITION

Элемент ПИМ: compound_representation_item

Источник: ИСО 10303-43

Ссылочный путь: {[/CLASS(compound_representation_item, 'transversal position', 'spacing position')/] [/ROOT_CLASS(compound_representation_item, 'spacing position')/]} {compound_representation_item <-representation.items[i] representation representation.context_of_items representation_context => {representation_context.context_type = 'global coordinate space'} geometric_representation_context} 5.1.9.12.1 name

Примечание — Атрибут унаследован из супертипа Spacing_position (см. 5.1.9.8).

Элемент ПИМ: /SUPERTYPE(spacing_position)/ (см. 5.1.9.8.1)

5.1.9.12.2 position

Примечание — Атрибут унаследован из супертипа Spacing_position (см. 5.1.9.8).

Элемент ПИМ: /SUPERTYPE(spacing_position)/ (см. 5.1.9.8.2)

5.1.9.12.3 position_number

Примечание — Атрибут унаследован из супертипа Spacing_position (см. 5.1.9.8).

Элемент ПИМ: /SUPERTYPE(spacing_position)/ (см. 5.1.9.8.3)

5.1.9.13 Прикладной элемент TRANSVERSAL TABLE

Элемент ПИМ: property_definition

Источник: ИСО 10303-41

Ссылочный путь: {[/CLASS(property_definition, 'transversal table', 'spacing table')/] [/CLASS(property_definition, 'spacing table', 'definition')/] [/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

187

ГОСТ Р ИСО 10303-216—2023

5.1.9.13.1 description

Примечание — Атрибут унаследован из супертипа SpacingJable (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacingJable)/(см. 5.1.9.10.1)

5.1.9.13.2 name

Примечание — Атрибут унаследован из супертипа Spacingjable (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.2)

5.1.9.13.3 version id

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.3)

5.1.9.13.4 transversal_table для definable_object (как defined_for)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.4)

5.1.9.13.5 transversal_table для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.5)

5.1.9.13.6 transversal_table для derived_unit (как local_units)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.6)

5.1.9.13.7 transversal_table для named_unit (как local_units)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.7)

5.1.9.13.8 transversal_table для transversal_position (как spacing_table_representations) Элемент ПИМ: PATH

Ссылочный путь: property_definition<=

/PROP_DEF_TO_REP/ representation.items [i] -> representationjtem => compound_representationjtem {/CLASSJD(compound_representationJtem, 'transversal position')/}

5.1.9.14 Прикладной элемент VERTICAL_POSITION

Элемент ПИМ: compound_representationjtem

Источник: ИСО 10303-43

Ссылочный путь: {[/CLASS(compound_representationJtem, 'vertical position', 'spacing position')/] [/ROOT_CLASS(compound_representationJtem, 'spacing position')/]} {compound_representationjtem <-representation.items[i] representation representation.context_ofjtems representation_context => {representation_context.contextjype = 'global coordinate space'} geometric_representation_context}

5.1.9.14.1 name

Примечание — Атрибут унаследован из супертипа (см. 5.1.9.8).

188

ГОСТ Р ИСО 10303-216—2023

Элемент ПИМ: /SUPERTYPE(spacing_position)/ (см. 5.1.9.8.1)

5.1.9.14.2 position

Примечание — Атрибут унаследован из супертипа (см. 5.1.9.8).

Элемент ПИМ: /SUPERTYPE(spacing_position)/ (см. 5.1.9.8.2)

5.1.9.14.3 position_number

Примечание — Атрибут унаследован из супертипа (см. 5.1.9.8).

Элемент ПИМ: /SUPERTYPE(spacing_position)/ (см. 5.1.9.8.3)

5.1.9.15 Прикладной элемент VERTICAL_TABLE

Элемент ПИМ: property definition

Источник: ИСО 10303-41

Ссылочный путь: {[/CLASS(property_definition, 'vertical table', 'spacing table')/]

[/CLASS(property_definition, 'spacing table', 'definition')/]

[/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.9.15.1 description

Примечание — Атрибут унаследован из супертипа (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacingJable)/(см. 5.1.9.10.1)

5.1.9.15.2 name

Примечание — Атрибут унаследован из супертипа (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.2)

5.1.9.15.3 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.3)

5.1.9.15.4 verticalJable для definable_object (как defined Jor)

Примечание — Атрибут унаследован из супертипа (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.4)

5.1.9.15.5 verticalJable для globaljd (как id)

Примечание — Атрибут унаследован из супертипа (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.5)

5.1.9.15.6 verticalJable для derived_unit (как local units)

Примечание — Атрибут унаследован из супертипа (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.6)

5.1.9.15.7 verticaljable для named_unit (как local units)

Примечание — Атрибут унаследован из супертипа (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.7)

5.1.9.15.8 verticaljable для vertical_position (как spacingJable_representations)

Элемент ПИМ: PATH

Ссылочный путь: /PROP DEF TO REP/

representation.items [i] -> representationjtem => compoundrepresentationjtem

189

ГОСТ Р ИСО 10303-216—2023

{/CLASS_ID(compound_representation item, 'vertical position')/}

5.1.9.16 Прикладной элемент WATERLINE_TABLE

Элемент ПИМ: property_definition

Источник: ИСО 10303-41

Ссылочный путь: {[/CLASS(property_definition, 'waterline table', 'vertical table')/] [/CLASS(property_definition, 'vertical table', 'spacing table')/] [/CLASS(property_definition, 'spacing table', 'definition')/] [/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.9.16.1 description

Примечание — Атрибут унаследован из супертипа (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacingJable)/(см. 5.1.9.10.1)

5.1.9.16.2 name

Примечание — Атрибут унаследован из супертипа (см. 5.1.9.10).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.2)

5.1.9.16.3 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.3)

5.1.9.16.4 waterlineJable для definable_object (как defined_for)

Примечание — Атрибут унаследован из супертипа (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.4)

5.1.9.16.5 waterlinejable для globaljd (как id)

Примечание — Атрибут унаследован из супертипа (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.5)

5.1.9.16.6 waterlinejable для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.6)

5.1.9.16.7 waterlinejable для named_unit (как local_units)

Примечание —Атрибут унаследован из супертипа (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(spacingJable)/ (см. 5.1.9.10.7)

5.1.9.16.8 waterlinejable для vertical_position (как spacingJable_representations)

Примечание — Атрибут унаследован из супертипа (см. 5.1.9.15).

Элемент ПИМ: /SUPERTYPE(verticalJable)/ (см. 5.1.9.15.8)

5.1.9.17 Прикладной элемент VERSIONABLE_OBJECT

#1: если значением элемента versionable_object является definition

#2: если значением элемента versionable_object является document

#3: если значением элемента versionable_object является item_relationship

#4: если значением элемента versionable_object является item_structure

#5: если значением элемента versionable_object является revision Элемент ПИМ:

#1: /SUBTYPE(definition)/ (см. 5.1.4.1)

#2: /SUBTYPE(document)/ (см. 5.1.5.1)

190

ГОСТ Р ИСО 10303-216—2023

#3: /SUBTYPE(item_relationship)/ (см. 5.1.8.4)

#4: /SUBTYPE(item_structure)/ (см. 5.1.8.5)

#5: /SUBTYPE(revision)/ (см. 5.1.3.13)

5.1.9.17.1 versionjd

Элемент ПИМ:

#1: /SUBTYPE(definition)/ (см. 5.1.4.1.2)

#2: /SUBTYPE(document)/ (см. 5.1.5.1.5)

#3: /SUBTYPE(item_relationship)/ (см. 5.1.8.4.2)

#4: /SUBTYPE(item_structure)/ (см. 5.1.8.5.2)

#5: /SUBTYPE(revision)/ (см. 5.1.3.13.3)

5.1.10 Функциональная единица offset_table_representations

5.1.10.1 Прикладной элемент OFFSET_POINT_TABLE_MODEL

Элемент ПИМ:

compound_representationjtem

Источник:

ИСО 10303-43

Ссылочный путь:

/ROOT_CLASS(compound_representationJtem, 'offset point table model')/

5.1.10.1.1 offset_pointjablejype

Элемент ПИМ:

descriptive_representationjtem.description

Источник:

ИСО 10303-45

Правила:

5.2.4.54

Ссылочный путь:

/COMPOUND('offset point table type')/ descriptive_representationjtem

{(descriptive_representationjtem.name = 'waterline table') (descriptive_representationjtem.name = 'station table') (descriptive_representationjtem.name = 'buttock table') (descriptive_representationjtem.name = 'user defined table')}

5.1.10.1.2 offset_pointjable_model для section_of_offset_pointJable (как offset_point_table_sections)

Элемент ПИМ:

PATH

Правила:

5.2.4.105

Ссылочный путь:

/COMPOUND('offset point table section')/

compound_representationjtem

{/CLASS_ID(compound_representationJtem, 'section of offset point table')/}

5.1.10.2 Прикладной элемент OFFSET_TABLE_SHAPE_REPRESENTATION

Элемент ПИМ:

shape_representation

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(shape_representation,'offset table shape representation','moulded form shape representation')/]

[/ROOT_CLASS(shape_representation, 'moulded form shape representation')/}

5.1.10.2.1 mou Ided Jorm_representation Jd

Примечание — Атрибут унаследован из супертипа Moulded Jorm_shape_representation (см. 5.1.14.8)

Элемент ПИМ:

PATH

Ссылочный путь:

/SUPERTYPE(MouldedJorm_shape_representation)/ (см. 5.1.14.8.1)

5.1.10.2.2 offsetjable_shape_representation для offset_pointjable_model (как items)

Элемент ПИМ:

PATH

Правила:

5.2.4.106

Ссылочный путь:

shape_representation <= representation representation.items[i] ->

191

ГОСТ Р ИСО 10303-216—2023

representationjtem =>

compound_representationjtem

{/CLASSJD(compound_representationJtem, 'offset point table model')/}

5.1.10.2.3 offsetJable_shape_representation для symmetry (как moulded Jorm_symmetry)

Примечание —Атрибут унаследован из супертипа Mouldedjorm_shape_representation (см. 5.1.14.8)

Элемент ПИМ:

PATH

Ссылочный путь:

/SUPERTYPE(MouldedJorm_shape_representation)/ (см. 5.1.14.8.2)

5.1.10.3 Прикладной элемент SECTION_OF_OFFSET_POINT_TABLE

Элемент ПИМ:

compound_representationjtem

Источник:

ИСО 10303-43

Ссылочный путь:

/ROOT_CLASS(compound_representationJtem, 'section of offset point table')/

5.1.10.3.1 sectionjdentifier

Элемент ПИМ:

identification_assignment.assignedJd

Источник:

ИСО 10303-41

Правила:

5.2.4.33

Ссылочный путь:

/HASJD_1_ROLE(compound_representationJtem, 'section identifier')/

5.1.10.3.2 section_of_offset_pointjable для offset_pointjable_model (как forjable)

Примечание — Атрибут является обратным отношением для атрибута Offset_pointjable_model attribute объекта offset_pointjable_sections (см. 5.1.10.1.2).

Элемент ПИМ:

PATH

Ссылочный путь:

compound_representationjtem <= representationjtem <-

list_representationjtem[i] compoundjtem_definition = list_representationjtem <-compound_representationjtem.item_element compound_representationjtem

{/CLASS_ID(compound_representationJtem, 'offset point table model')/}

5.1.10.3.3 section_of_offset_pointJable для ship_point (как section_points)

Элемент ПИМ:

PATH

Правила:

5.2.4.104

Ссылочный путь:

/COMPOUND('section point')/

compound_representationjtem

{/CLASSJD(compound_representationJtem, 'ship point')/}

5.1.11 Функциональная единица ship_design_parameter

5.1.11.1 Прикладной элемент APPENDAGE_MOULDED_FORM_DESIGN_PARAMETER

Элемент ПИМ:

property_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.75

Ссылочный путь:

{[/CLASS(property_definition, 'appendage moulded form design parameter','moulded form characteristics definition')/]

[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]

[/CLASS(property_definition, 'definition', 'versionable object')/]

[/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.11.1.1 appendage_breadth

Элемент ПИМ:

positivejength_measure

192

ГОСТ Р ИСО 10303-216—2023

Источник: ИСО 10303-43

Правила: 5.2.4.114, 5.2.4.77

Ссылочный путь: /PROP_DEF_TO_VAL_REP_ITEM('appendage

moulded

form

design

parameter',

'appendage breadth', positive_length_measure)/

5.1.11.1.2 appendage_depth

Элемент ПИМ: positive_length_measure

Источник: ИСО 10303-43

Правила: 5.2.4.114, 5.2.4.77

Ссылочный путь: /PROP_DEF_TO_VAL_REP_ITEM('appendage

moulded

form

design

parameter',

'appendage depth', positive_length_measure)/

5.1.11.1.3 appendagejength

Элемент ПИМ: positive_length_measure

Источник: ИСО 10303-43

Правила: 5.2.4.114, 5.2.4.77

Ссылочный путь: /PROP_DEF_TO_VAL_REP_ITEM('appendage

moulded

form

design

parameter',

'appendage length', positive_length_measure)/

5.1.11.1.4 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.1)

5.1.11.1.5 moulded_form_displacement

Элемент ПИМ:

volume_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.90, 5.2.4.114

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('appendage moulded form design parameter', 'moulded form displacement', volume_measure)/

5.1.11.1.6 moulded_form_outer_surface

Элемент ПИМ:

area_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.115, 5.2.4.114

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('appendage moulded form design parameter', 'moulded form outer surface', area_measure)/

5.1.11.1.7 type_of_appendage

Элемент ПИМ:

descriptive_representation_item.description

Источник:

ИСО 10303-45

Правила:

5.2.4.77, 5.2.4.151

Ссылочный путь:

/PROP_DEF_TO_DESC_REP_ITEM('appendage moulded form design parameter', 'type of appendage')/

{(descriptive_representation_item.description = 'active fin') (descriptive_representation_item.description = 'air emitter') (descriptive_representation_item.description = 'arrays') (descriptive_representation_item.description = 'bilge keel') (descriptive_representation_item.description = 'bow thruster') (descriptive_representation_item.description = 'cathodic protection anode') (descriptive_representation_item.description = 'duck tail') (descriptive_representation_item.description = 'passive fin') (descriptive_representation_item.description = 'rudder') (descriptive_representation_item.description = 'sea chest')

193

ГОСТ Р ИСО 10303-216—2023

(descriptive_representation_item.description = 'shaft bossings') (descriptive_representation_item.description = 'shaft strut') (descriptive_representation_item.description = 'skeg') (descriptive_representation_item.description = 'spray rail') (descriptive_representation_item.description = 'stern flap') (descriptive_representation_item.description = 'stern thruster') (descriptive_representation_item.description = 'user defined')}

5.1.11.1.8 usr_def_appendage_type

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

descriptive_representationjtem.description

ИСО 10303-45

5.2.4.151, 5.2.4.115

/PROP_DEF_TO_DESC_REP_ITEM('appendage moulded form design parameter', 'type of appendage')/

descriptive_representation_item.description

5.1.11.1.9 version id

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.4)

5.1.11.1.10 appendage_moulded_form_design_parameter для moulded_form (как defined_for)

Примечание — Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.5)

5.1.11.1.11 appendage_moulded_form_design_parameter для globaljd (как id) Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.6)

5.1.11.1.12 appendage_moulded_form_design_parameter для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.7)

5.1.11.1.13 appendage moulded form design parameter для named_unit (как local_units) Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.8)

5.1.11.2 Прикладной элемент BOTTOM_MOULDED_FORM_DESIGN_PARAMETER

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

5.1.11.2.1 aft.

Элемент ПИМ: Источник: Правила: Ссылочный путь:

property_definition

ИСО 10303-41

5.2.4.76

{[/CLASS(property_definition, 'bottom moulded form design parameter', 'moulded form characteristics definition')/]

[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]

[/CLASS(property_definition, 'definition', 'versionable object')/]

[/ROOT_CLASS(property_definition, 'versionable object')/]}

end_of_flat_of_bottom

positive_length_measure

ИСО 10303-43

5.2.4.114, 5.2.4.91

/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'aft end of flat of bottom', positive_length_measure)/

194

ГОСТ Р ИСО 10303-216—2023

5.1.11.2.2 bilge_radius

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.91

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'bilge radius', positive_length_measure)/

5.1.11.2.3 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.1

5.1.11.2.4 flat_of_bottom_breadth

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.91

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'flat of bottom breadth', positive_length_measure)/

5.1.11.2.5 front_end_of_flat_of_bottom

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.91

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'front end of flat of bottom', positive_length_measure)/

5.1.11.2.6 length_of_flat_of_bottom

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.91

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'length of flat of bottom', positive_length_measure)/

5.1.11.2.7 moulded_form_displacement

Элемент ПИМ:

volume_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.116, 5.2.4.114

Ссылочный путь:

property definition <=

/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'moulded form displacement', volume_measure)/

5.1.11.2.8 moulded_form_outer_surface

Элемент ПИМ:

areameasure

Источник:

ИСО 10303-43

Правила:

5.2.4.116, 5.2.4.114

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'moulded form outer surface', area_measure)/

5.1.11.2.9 rake_of_keel

Элемент ПИМ:

plane_angle_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.91

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'rake of keel', plane_angle_measure)/

195

ГОСТ Р ИСО 10303-216—2023

5.1.11.2.10 rise of floor

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

positive_length_measure

ИСО 10303-43

5.2.4.114, 5.2.4.91

/PROP_DEF_TO_VAL_REP_ITEM('bottom moulded form design parameter', 'rise of floor', positive_length_measure)/

5.1.11.2.11 version id

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.4)

5.1.11.2.12 bottom moulded form design parameter для moulded_form (как defined_for)

Примечание — Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.5)

5.1.11.2.13 bottom moulded form design parameter для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded_form characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.6)

5.1.11.2.14 bottom_moulded_form_design_parameter для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded_form characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.7)

5.1.11.2.15 bottom_moulded_form_design_parameter для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded_form_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.8)

5.1.11.3 Прикладной элемент BULB_MOULDED_FORM_DESIGN_PARAMETER

Элемент ПИМ:

property_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.77

Ссылочный путь:

{[/CLASS(property_definition, 'bulb moulded form design parameter', 'moulded form characteristics definition')/]

[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]

[/CLASS(property_definition, 'definition', 'versionable object')/]

[/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.11.3.1 bulb_breadth

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.92

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb breadth', positive_length_measure)/

5.1.11.3.2 bulb_breadth_pp

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.92

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb breadth pp', positive_length_measure)/

196

ГОСТ Р ИСО 10303-216—2023

5.1.11.3.3 bulb_depth

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.92

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb depth', positivejength_measure)/

5.1.11.3.4 bulb_depth_pp

Элемент ПИМ:

positive Jength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.92

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb depth pp', positivejength_measure)/

5.1.11.3.5 bulb frame section area at pp

Элемент ПИМ:

area_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.92

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb frame section area at pp', area_measure)/

5.1.11.3.6 bulbjength

Элемент ПИМ:

positive Jength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.92

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb length', positivejengthmeasure)/

5.1.11.3.7 bulbjength_from_pp

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.92

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'bulb length from pp', positivejength_measure)/

5.1.11.3.8 bulbjocation

Элемент ПИМ:

descriptive_representationjtem.description

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.92

Ссылочный путь:

/PROP_DEF_TO_DESC_REP_ITEM('bulb moulded form design parameter', 'bulb location')/

{(descriptive_representationjtem.description = 'bow')

(descriptive_representationjtem.description = 'stern')}

5.1.11.3.9 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.1

5.1.11.3.10 moulded Jorm_displacement

Элемент ПИМ:

volume_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.117, 5.2.4.114

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'moulded form displacement', volume_measure)/

197

ГОСТ Р ИСО 10303-216—2023

5.1.11.3.11 moulded form outer surface

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

area_measure

ИСО 10303-43

5.2.4.117, 5.2.4.114

/PROP_DEF_TO_VAL_REP_ITEM('bulb moulded form design parameter', 'moulded form outer surface', area_measure)/

5.1.11.3.12 version id

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.4)

5.1.11.3.13 bulb_moulded_form_design_parameter для moulded_form (как defined_for)

Примечание — Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.5)

5.1.11.3.14 bulb_moulded_form_design_parameter для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded Jorm characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.6)

5.1.11.3.15 bulb_moulded_form_design_parameter для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded Jorm characteristics_definition (см. 5.1.11.7).

Элемен ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.7)

5.1.11.3.16 bulb_mouldedjorm_design_parameter для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded Jorm characteristics_definition (см. 5.1.11.7).

Элемент ПИМ:

/SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.8)

5.1.11.4 Прикладной элемент DECK_MOULDED_FORM_DESIGN_PARAMETER

Элемент ПИМ:

property_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.80

Ссылочный путь:

{[/CLASS(property_definition, 'deck moulded form design parameter', 'moulded form characteristics definition')/]

[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]

[/CLASS(property_definition, 'definition', 'versionable object')/]

[/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.11.4.1 camber

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.94

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('deck moulded form design parameter', 'camber', positivejength_measure)/

5.1.11.4.2 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.1

5.1.11.4.3 moulded_form_outer_surface

Элемент ПИМ:

area_measure

Источник:

ИСО 10303-43

198

ГОСТ Р ИСО 10303-216—2023

Правила: 5.2.4.118, 5.2.4.114

Ссылочный путь: /PROP DEF TO VAL REPJTEM('deck moulded form design parameter', 'moulded form outer surface', area_measure)/

5.1.11.4.4 moulded_form_displacement

Элемент ПИМ: volume_measure

Источник: ИСО 10303-43

Правила: 5.2.4.118,5.2.4.114

Ссылочный путь: /PROP_DEF_TO_VAL_REP_ITEM('deck moulded form design parameter', 'moulded

form displacement', volume_measure)/

5.1.11.4.5 sheer_at_AP

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.94

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('deck moulded form design parameter', 'sheer at AP', positivejength_measure)/

5.1.11.4.6 sheer_at FP

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.94

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('deck moulded form design parameter', 'sheer at FP', positivejength_measure)/

5.1.11.4.7 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.4)

5.1.11.4.8 deck moulded form design parameter для moulded_form (как defined_for)

Примечание — Атрибут унаследован из супертипа Moulded Jorm_characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.5)

5.1.11.4.9 deck moulded form design parameter для globalJd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded Jorm_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.6)

5.1.11.4.10 deck_mouldedjorm_design_parameter для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded Jorm characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.7)

5.1.11.4.11 deck_mouldedjorm_design_parameter для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Mouldedjorm characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded form characteristics definition)/ (см. 5.1.11.7.8)

5.1.11.5 Прикладной элемент HULL_MOULDED_FORM_DESIGN_PARAMETER

Элемент ПИМ:

property_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.81

Ссылочный путь:

{[/CLASS(property_definition, 'hull moulded form design parameter', 'moulded form characteristics definition')/]

199

ГОСТ Р ИСО 10303-216—2023

[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/] [/CLASS(property definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.11.5.1 aft_end_of_flat_of_side

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.96

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'aft end of flat of side', positive_length_measure)/

5.1.11.5.2 aft_end_of_parallel_midbody_at_design_draught

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.96

Ссылочный путь:

/PROP_DEF_TO_VAL_REPJTEM('hull moulded form design parameter', 'aft end of parallel midbody at design draught', positive_length_measure)/

5.1.11.5.3 block_coefficient

Элемент ПИМ:

ratio_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.96

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'block coefficient', ratio_measure)/

5.1.11.5.4 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.1)

5.1.11.5.5 front_end_of_flat_of_side

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.96

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'front end of flat of side', positive_length_measure)/

5.1.11.5.6 front_end_of_parallel_midbody_at_design_draught

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.96

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'front end of parallel midbody at design draught', positive_length_measure)/

5.1.11.5.7 gunwale_radius

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.119

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'gunwale radius', positive_length_measure)/

5.1.11.5.8 hull

breadth

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.119

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'hull breadth', positive_length_measure)/

200

ГОСТ Р ИСО 10303-216—2023

5.1.11.5.9 hull_depth

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.119

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'hull depth', positive_length_measure)/

5.1.11.5.10 hull_design_draught

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.119

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'hull design draught', positive_length_measure)/

5.1.11.5.11 hull_length_pp

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.119

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'hull length pp', positive_length_measure)/

5.1.11.5.12 hull_length_waterline

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.119

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'hull length waterline', positive_length_measure)

5.1.11.5.13 max_frame_section_area_location

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.119

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'max frame section area location', positive_length_measure)/

5.1.11.5.14 max wetted frame section area

Элемент ПИМ:

areameasure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.96

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'max wetted frame section area', area_measure)/

5.1.11.5.15 moulded_form_displacement

Элемент ПИМ:

volume_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.119, 5.2.4.114

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'moulded form displacement', volume_measure)/

5.1.11.5.16 moulded_form_outer_surface

Элемент ПИМ:

area_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.119, 5.2.4.114

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'moulded form outer surface', area_measure)/

201

ГОСТ Р ИСО 10303-216—2023

5.1.11.5.17 prismatic_coefficient

Элемент ПИМ:

ratio_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.96

Ссылочный путь:

ZPROP DEF TO VAL REPJTEM('hull moulded form design parameter', 'prismatic coefficient', ratio_measure)/

5.1.11.5.18 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.4)

5.1.11.5.19 waterline_angle_of_entrance_at_bow

Элемент ПИМ:

plane_angle_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.119

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'waterline angle of entrance at bow', plane_angle_measure)/

5.1.11.5.20 waterline_angle_of_entrance_at_stern

Элемент ПИМ:

plane_angle_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.119

Ссылочный путь:

/PROP DEF TO VAL REPJTEM('hull moulded form design parameter', 'waterline angle of entrance at stern', plane_angle_measure)/

5.1.11.5.21 waterplane_coefficient

Элемент ПИМ:

ratio_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.96

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('hull moulded form design parameter', 'waterplane coefficient', ratio_measure)/

5.1.11.5.22 hull_moulded_form_design_parameter для mouldedjorm (как defined_for)

Примечание — Атрибут унаследован из супертипа Moulded Jorm_characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.5)

5.1.11.5.23 hull_mouldedjorm_design_parameter для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded Jorm_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.6)

5.1.11.5.24 hull_mouldedjorm_design_parameter для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded Jorm_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: ^SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.7)

5.1.11.5.25 hull_moulded_form_design_parameter для named_unit (как local units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded Jorm_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.8)

5.1.11.5.26 hull_moulded_form_design_parameter для midshipjumble (как midshipjumble_data)

Элемент ПИМ: PATH

Правила: 5.2.4.46

Ссылочный путь: /PROP_DEF_TO_REP/ {/CLASS ID(representation, 'midship tumble')/}

202

ГОСТ Р ИСО 10303-216—2023

5.1.11.6 Прикладной элемент MIDSHIP_TUMBLE

Элемент ПИМ:

representation

Источник:

ИСО 10303-43

Ссылочный путь:

/ROOT_CLASS(representation, 'midship tumble')/

5.1.11.6.1 tumble_in_at_side

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.102

Ссылочный путь:

REP_TO_VAL_REP_ITEM('tumble in at side', positive_length_measure)

5.1.11.6.2 tumble_in_at_top

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.102

Ссылочный путь:

/REP_TO_VAL_REP_ITEM('tumble in at top', positive_length_measure)/

5.1.11.6.3 tumble_out_at_bottom

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.102

Ссылочный путь:

/REP_TO_VAL_REP_ITEM('tumble out at bottom', positive_length_measure)/

5.1.11.6.4 tumble_out_at_side

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.102

Ссылочный путь:

/REP TO VAL REP ITEM('tumble out at side', positive_length_measure)/

5.1.11.7 Прикладной элемент MOULDED_FORM_CHARACTERISTICS_DEFINI-TION

Элемент ПИМ:

#1: Значением элемента Moulded_form_characteristics_definition является Appendage_moulded_form_design_parameter

#2: Значением элемента Moulded_form_characteristics_definition является

Bottom_moulded_form_design_parameter

#3: Значением элемента Moulded_form_characteristics_definition является Bulb_moulded_form_design_parameter

#4: Значением элемента Moulded_form_characteristics_definition является Hull_moulded_form_design_parameter

#5: Значением элемента Moulded_form_characteristics_definition является Propeller_moulded_form_design_parameter

#6: Значением элемента Moulded_form_characteristics_definition является Rudder_moulded_form_design_parameter

#7: Значением элемента Moulded_form_characteristics_definition является

Thruster_moulded_form_design_parameter

#8: Значением элемента Moulded_form_characteristics_definition является Deck_moulded_form_design_parameter

#1 /SUBTYPE(Appendage_moulded_form_design_parameter)/ (см. 5.1.11.1)

#2/SUBTYPE(Bottom_moulded_form_design_parameter)/ (см. 5.1.11.2)

#3/SUBTYPE(Bulb_moulded_form_design_parameter)/ (см. 5.1.11.3)

#4/SUBTYPE(Hull_moulded_form_design_parameter)/ (см. 5.1.11.5)

#5/SUBTYPE(Propeller_moulded_form_design_parameter)/ (см. 5.1.11.9)

203

ГОСТ Р ИСО 10303-216—2023

#6/SUBTYPE(Rudder_mouldedJorm_design_parameter)/ (см. 5.1.11.10)

#7/SUBTYPE(Thruster_moulded form design parameter)/ (см. 5.1.11.12)

#8/SUBTYPE(Deck_mouldedJorm_design_parameter)/ (см. 5.1.11.4)

5.1.11.7.1 description

Примечание —Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: property_definition.description

Источник: ИСО 10303-41

5.1.11.7.2 moulded Jorm_displacement

Элемент ПИМ:

#1 /SUBTYPE(Appendage_moulded_form_design_parameter)/ (см. 5.1.11.1.5)

#2 /SUBTYPE(Bottom_moulded_form_design_parameter)/ (см. 5.1.11.2.7)

#3 /SUBTYPE(Bulb_mouldedJorm_design_parameter)/ (см. 5.1.11.3.10)

#4 /SUBTYPE(Hull_moulded_form_design_parameter)/ (см. 5.1.11.5.15)

#5 /SUBTYPE(Propeller_mouldedJorm_design_parameter)/ (см. 5.1.11.9.7)

#6 /SUBTYPE(Rudder_mouldedJorm_design_parameter)/ (см. 5.1.11.10.2)

#7 /SUBTYPE(Thruster_moulded_form_design_parameter)/ (см. 5.1.11.12.2)

#8 /SUBTYPE(Deck_moulded_form_design_parameter)/ (см. 5.1.11.4.4)

5.1.11.7.3 moulded_form_outer_surface

Элемент ПИМ:

#1 /SUBTYPE(Appendage_mouldedJorm_design_parameter)/ (см. 5.1.11.1.6)

#2 /SUBTYPE(Bottom_moulded_form_design_parameter)/ (см. 5.1.11.2.8)

#3 /SUBTYPE(Bulb_moulded_form_design_parameter)/ (см. 5.1.11.3.11)

#4 /SUBTYPE(Hull_moulded_form_design_parameter)/ (см. 5.1.11.5.16)

#5 /SUBTYPE(Propeller_mouldedJorm_design_parameter)/ (см. 5.1.11.9.8)

#6 /SUBTYPE(Rudder_moulded_form_design_parameter)/ (см. 5.1.11.10.3)

#7/SUBTYPE(Thruster_moulded Jorm_design_parameter)/ (см. 5.1.11.12.3)

#8 /SUBTYPE(Deck_mouldedJorm_design_parameter)/ (см. 5.1.11.4.3)

5.1.11.7.4 version id

Примечание —Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

identification_assignment. assignedJd ИСО 10303-41

5.2.4.164

/VERSION_ID(property_definition)/

5.1.11.7.5 moulded_form_characteristics_definition для moulded_form (как defined_for)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: PATH

Ссылочный путь: /PROP_TO_PROD_DEF/ {/CLASS_ID(product_definition, 'moulded_form')/}

5.1.11.7.6 moulded Jorm_characteristics_definition для globalJd (как id) Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

Правила:

Ссылочный путь:

PATH

5.2.4.45, 5.2.4.89

property_definition

identificationjtem = property_definition <-

204

ГОСТ Р ИСО 10303-216—2023

applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.11.7.7 moulded_form_characteristics_definition для derived_unit (как local_units) Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROP_DEF_TO_UNITS('local units')/ unit

unit = derived_unit

derived unit

5.1.11.7.8 moulded form characteristics definition для named_unit (как local_units) Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROP_DEF_TO_UNITS('local units')/ unit unit = named_unit named unit

5.1.11.8 Прикладной элемент PROPELLER_LOCATION

Элемент ПИМ:

representation

Источник:

ИСО 10303-43

Ссылочный путь:

/ROOT_CLASS(representation, 'propeller location')/

5.1.11.8.1 shaft_line_inclination_x

Элемент ПИМ:

plane_angle_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.107

Ссылочный путь:

/REP_TO_VAL_REPJTEM('shaft line inclination х', plane_angle_measure)/

5.1.11.8.2 shaft_line_inclination_y

Элемент ПИМ:

plane_angle_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.107

Ссылочный путь:

/REP_TO_VAL_REPJTEM('shaft line inclination у', plane_angle_measure)/

5.1.11.8.3 propellerjocation для centrejocation (как propellerJocation)

Элемент ПИМ:

PATH

Правила:

5.2.4.114, 5.2.4.107

Ссылочный путь:

property_definition

represented_definition = property_definition represented_definition <-

property_definition_representation.definition property_definition_representation

property_definition_representation.used_representation ->

/REPJTEM('propeller location')/ compound_representationjtem

{/CLASS_ID(compound_representation item, 'centrejocation')/}

5.1.11.8.4 propellerjocation для centrejocation (как shaftjinejocation)

Элемент ПИМ:

PATH

Правила:

5.2.4.114, 5.2.4.107

Ссылочный путь:

property_definition

205

ГОСТ Р ИСО 10303-216—2023

represented_definition = property_definition represented_definition <-

property_definition_representation.definition property_definition_representation

property_definition_representation.used_representation ->

/REP_ITEM('shaft line location')/ compound_representation_item

{/CLASS_ID(compound_representation_item, 'centrejocation')/}

5.1.11.9 Прикладной элемент PROPELLER_MOULDED_FORM_DESIGN_PARAMETER

Элемент ПИМ:

property_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.85

Ссылочный путь:

{[/CLASS(property_definition, 'propeller moulded form design parameter', 'moulded form characteristics definition')/]

[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/]

[/CLASS(property_definition, 'definition', 'versionable object')/]

[/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.11.9.1 blade_mean_height

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.122

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'blade mean height', positive_length_measure)/

5.1.11.9.2 chord_length_at_0_7_radius

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.108

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'chord length at 0 7 radius', positive_length_measure)/

5.1.11.9.3 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.1

5.1.11.9.4 design_sense_of_rotation

Элемент ПИМ:

descriptive_representation_item.description

Источник:

ИСО 10303-45

Правила:

5.2.4.108

Ссылочный путь:

/PROP_DEF_TO_DESC_REP_ITEM('propeller moulded form design parameter', 'design sense of rotation')/

{(descriptive_representation_item.description = 'right')

(descriptive_representation_item.description = 'left')}

5.1.11.9.5 expanded_area_ratio

Элемент ПИМ:

ratio_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.108

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'expanded area ratio', ratio_measure)/

206

ГОСТ Р ИСО 10303-216—2023

5.1.11.9.6 hub diameter ratio

Элемент ПИМ:

ratio_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.108

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'hub diameter ratio', ratio_measure)/

5.1.11.9.7 moulded_form_displacement

Элемент ПИМ:

volume_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.122, 5.2.4.114

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'moulded form displacement', volume_measure)/

5.1.11.9.8 moulded_form_outer_surface

Элемент ПИМ:

area_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.122, 5.2.4.114

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'moulded form outer surface', area_measure)/

5.1.11.9.9 nominal_design_pitch_ratio

Элемент ПИМ:

ratio_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.108

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'nominal design pitch ratio', ratio_measure)/

5.1.11.9.10 number of propeller blades

Элемент ПИМ:

countmeasure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.108

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'number of propeller blades', count_measure)/

5.1.11.9.11 propeller_diameter

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.108

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'propeller diameter', positive_length_measure)/

5.1.11.9.12 rake

Элемент ПИМ:

plane_angle_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.108

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'rake', plane_angle_measure)/

5.1.11.9.13 skew

Элемент ПИМ:

plane_angle_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.108

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'skew', plane_angle_measure)/

207

ГОСТ Р ИСО 10303-216—2023

5.1.11.9.14 thickness_at_0_7_radius

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.108

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('propeller moulded form design parameter', 'thickness at 0 7 radius', positive_length_measure)/

5.1.11.9.15 type_of_propeller_blades

Элемент ПИМ:

descriptive_representation_item.description

Источник:

ИСО 10303-45

Правила:

5.2.4.108

Ссылочный путь:

/PROP_DEF_TO_DESC_REP_ITEM('propeller moulded form design parameter', 'type of propeller blades')/

{(descriptive_representation_item.description = 'fixed blade') (descriptive_representation_item.description = 'adjustable blade') (descriptive_representation_item.description = 'controllable blade')}

5.1.11.9.16 type_of_propulsion

Элемент ПИМ:

descriptive_representation Jtem. description

Источник:

ИСО 10303-45

Правила:

5.2.4.108

Ссылочный путь:

ZPROP_DEF_TO_DESC_REPJTEM('propeller moulded form design parameter', 'type of propulsion')/

{(descriptive_representationjtem.description = 'waterjet') (descriptive_representationjtem.description = 'paddle wheel') (descriptive_representationjtem.description = 'vertical axis propeller') (descriptive_representationjtem.description = 'screw propeller') (descriptive_representationjtem.description = 'ducted propeller') (descriptive_representationjtem.description = 'thruster') (descriptive_representationjtem.description = 'user defined')}

5.1.11.9.17 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.4)

5.1.11.9.18 propeller_moulded_form_design_parameter для moulded_form (как defined_for)

Примечание — Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.5)

5.1.11.9.19 propeller_moulded_form_design_parameter для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded_form_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.6)

5.1.11.9.20 propeller_moulded_form_design_parameter для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded_form_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.7)

5.1.11.9.21 propeller_moulded_form_design_parameter для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded_form_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.8)

208

ГОСТ Р ИСО 10303-216—2023

5.1.11.9.22 propeller moulded form design parameter для propellerjocation (как location_ofjhe propeller_atjhe_ship_hull)

Элемент ПИМ:

PATH

Правила:

5.2.4.74

Ссылочный путь:

/PROP_DEF_TO_REP/ {/CLASS_ID(representation, 'propeller location')/}

5.1.11.10 Прикладной элемент RUDDER_MOULDED_FORM_DESIGN_PARAMETER

Элемент ПИМ:

property_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.86

Ссылочный путь:

{[/CLASS(property_definition, 'rudder moulded form design parameter', 'moulded form characteristics definition')/]

[/CLASS(property_defmition, 'moulded form characteristics definition', 'definition')/]

[/CLASS(property_definition, 'definition', 'versionable object')/]

[/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.11.10.1 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.1

5.1.11.10.2 moulded form displacement

Элемент ПИМ:

volume_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.123, 5.2.4.114

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'moulded form displacement', volume_measure)/

5.1.11.10.3 moulded Jorm_outer_surface

Элемент ПИМ:

areameasure

Источник:

ИСО 10303-43

Правила:

5.2.4.123, 5.2.4.114

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'moulded form outer surface', area_measure)/

5.1.11.10.4 projected_rudder_area

Элемент ПИМ:

positive length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.109

Ссылочный путь:

/PROP DEF TO VAL REP ITEM('rudder moulded form design parameter', 'projected rudder area', positiveJength measure)/

5.1.11.10.5 rudder_height

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.109

Ссылочный путь:

/PROP DEF TO_VAL_REP_ITEM('rudder moulded form design parameter', 'rudder height', positiveJength_measure)/

5.1.11.10.6 rudderjength

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.109

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'rudder length', positiveJength_measure)/

209

ГОСТ Р ИСО 10303-216—2023

5.1.11.10.7 rudder_mean_height

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.109

Ссылочный путь:

/PROP_DEF_TO_VAL_REPJTEM('rudder moulded form design parameter', 'rudder mean height', positivejength_measure)/

5.1.11.10.8 rudder_mean_length

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.109

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'rudder mean length', positivejength_measure)/

5.1.11.10.9 rudder_thickness

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.109

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('rudder moulded form design parameter', 'rudder thickness', positive Jength_measure)/

5.1.11.10.10 type_of_the_rudder

Элемент ПИМ:

descriptive_representationjtem.description

Источник:

ИСО 10303-45

Правила:

5.2.4.109

Ссылочный путь:

/PROP_DEF_TO_DESC_REP_ITEM('rudder moulded form design parameter', 'type of the rudder')/

{(descriptive_representationjtem.description = 'balanced')

(descriptive_representationjtem.description = 'unbalanced')}

5.1.11.10.11 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.4)

5.1.11.10.12 rudder_mouldedjorm_design_parameter для mouldedjorm (как definedjor)

Примечание — Атрибут унаследован из супертипа Moulded Jorm_characteristics_definition (см. 5.1.11.7)

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.5)

5.1.11.10.13 rudder_mouldedjorm_design_parameter для globaljd (как id)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded Jorm_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.6)

5.1.11.10.14 rudder moulded form design parameter для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded Jorm_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.7)

5.1.11.10.15 rudder_mouldedjorm_design_parameter для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded Jorm_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(MouldedJorm_characteristics_definition)/ (см. 5.1.11.7.8)

5.1.11.10.16 rudder_mouldedjorm_design_parameter для centrejocation (как rudderjocation)

Элемент ПИМ: PATH

210

ГОСТ Р ИСО 10303-216—2023

Правила:

5.2.4.114, 5.2.4.109

Ссылочный путь:

property_definition

represented_definition = property_definition

represented_definition <-

property_definition_representation.definition property_definition_representation

property_definition_representation.used_representation ->

/REP_ITEM('rudder location')/ compound_representation_item

{/CLASSJD(compound_representation_item, 'centrejocation')/}

5.1.11.11 Прикладной элемент SHIP_OVERALL_DIMENSIONS

Элемент ПИМ:

product_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.140

Ссылочный путь:

{[/CLASS(product_definition, 'ship overall dimensions', 'general characteristics definition')/]

[/CLASS(product_definition, 'general characteristics definition', 'definition')/]

[/CLASS(product_definition, 'definition', 'versionable object')/]

[/ROOT_CLASS(product_definition, 'versionable object')/]}

5.1.11.11.1 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

product_definition.description

Источник:

ИСО 10303-41

5.1.11.11.2 overall_breadth

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.132

Ссылочный путь:

/PROD_DEF_TO_VAL_REPJTEM('ship overall dimensions', 'overall breadth', positive_ length_measure)/

5.1.11.11.3 overall_depth

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.132

Ссылочный путь:

/PROD_DEF_TO_VAL_REPJTEM('ship overall dimensions', 'overall depth', positive_ length_measure)/

5.1.11.11.4 overalljength

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.132

Ссылочный путь:

/PROD_DEF_TO_VAL_REPJTEM('ship overall dimensions', 'overall length', positive_ length_measure)/

5.1.11.11.5 stem_overhang

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.132

Ссылочный путь:

/PROD_DEF_TO_VAL_REPJTEM('ship overall dimensions', 'stem overhang', positive_ length_measure)/

211

ГОСТ Р ИСО 10303-216—2023

5.1.11.11.6 stern_overhang

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.132

Ссылочный путь:

/PROD_DEF_TO_VAL_REPJTEM('ship overall dimensions', 'stern overhang', positive_ length_measure)/

5.1.11.11.7 versionjd

Примечание — Атрибут унаследован из супертипа Versionableobject (см. 5.1.9.17).

Элемент ПИМ:

identification_assignment.assignedJd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION JD(product_definition)/

5.1.11.11.8 ship overall dimensions для ship (ка defined Jor)

Примечание — Атрибут унаследован из супертипа General_characteristics_definition (см. 5.1.4.4).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_PRODUCT/ {/CLASS_ID(product, 'ship')/}

5.1.11.11.9 ship_overall_dimensions для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип General characteristics_definition (см. 5.1.4.4).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Правила:

5.2.4.45, 5.2.4.71

Ссылочный путь:

product_definition

identificationjtem = product_definition <-applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.11.11.10 ship_overall_dimensions для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип General characteristics_definition (см. 5.1.4.4).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_TO_UNITS('local units')/ unit

unit = derived_unit

derived unit

5.1.11.11.11 ship_overall_dimensions для named_unit (как local units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип General characteristics_definition (см. 5.1.4.4).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_TO_UNITS('local units')/ unit unit = named_unit

named_unit

5.1.11.12 Прикладной элемент THRUSTER_MOULDED_FORM_DESIGN_PARAMETER

Элемент ПИМ:

property_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.87

Ссылочный путь:

{[/CLASS(property_definition, 'thruster moulded form design parameter', 'moulded form characteristics definition')/]

212

ГОСТ Р ИСО 10303-216—2023

[/CLASS(property_definition, 'moulded form characteristics definition', 'definition')/] [/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.11.12.1 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.1

5.1.11.12.2 moulded_form_displacement

Элемент ПИМ:

volume_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.124, 5.2.4.114

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('thruster moulded form design parameter', 'moulded form displacement', volume_measure)/

5.1.11.12.3 moulded_form_outer_surface

Элемент ПИМ:

area_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.124, 5.2.4.114

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('thruster moulded form design parameter', 'moulded form outer surface', area_measure)/

5.1.11.12.4 thrusterjocation

Элемент ПИМ:

descriptive_representation_item.description

Источник:

ИСО 10303-45

Правила:

5.2.4.112

Ссылочный путь:

/PROP_DEF_TO_DESC_REP_ITEM('thruster moulded form design parameter', 'thruster location')/

{(descriptive_representation_item.description = 'bow')

(descriptive_representation_item.description = 'stern')}

5.1.11.12.5 thruster_tunnel_diameter

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.112

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('thruster moulded form design parameter', 'thruster tunnel diameter', positive_length_measure)/

5.1.11.12.6 thruster_tunnel_max_length

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.112

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('thruster moulded form design parameter', 'thruster tunnel max length', positive_length_measure)/

5.1.11.12.7 thruster_tunnel_min Jength

Элемент ПИМ:

positive_length_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.112

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('thruster moulded form design parameter', 'thruster tunnel min length', positive_length_measure)/

5.1.11.12.8 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

/SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.4)

213

ГОСТ Р ИСО 10303-216—2023

5.1.11.12.9 thruster_moulded_form_design_parameter для moulded_form (как defined_for)

Примечание — Атрибут унаследован из супертипа Moulded_form_characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.5)

5.1.11.12.10 thruster_moulded_form_design_parameter для centreJocation (как geometric_thruster_ location)

Элемент ПИМ: PATH

Правила: 5.2.4.114,5.2.4.112

Ссылочный путь: property_definition

represented_definition = property_definition

represented_definition <-

property_definition_representation.definition

property_definition_representation

property_definition_representation.used_representation ->

/REP_ITEM('geometric thruster location')/

compound_representation_item

{/CLASS_ID(compound_representation_item, 'centrejocation')/}

5.1.11.12.11 thruster_moulded_form_design_parameter для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded_form_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.6)

5.1.11.12.12 thruster_moulded_form_design_parameter для derived_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded_form_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: ZSUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.7)

5.1.11.12.13 thruster_moulded_form_design_parameter для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Moulded_form_ characteristics_definition (см. 5.1.11.7).

Элемент ПИМ: /SUPERTYPE(Moulded_form_characteristics_definition)/ (см. 5.1.11.7.8)

5.1.11.12.14 thruster_moulded_form_design_parameter для propeller_moulded_form_design_ parameter (как thruster_propeller_parameter)

Элемент ПИМ: PATH

Правила: 5.2.4.88

Ссылочный путь:

property_definition <-

property_definition_relationship.relating_property_definition

property_definition_relationship

{property_definition_relationship.name = 'thruster propeller parameter'}

property_definition_relationship

property_definition_relationship.related_property_definition ->

property_definition=>

property_definition

{/CLASS_ID(property_definition, 'propeller moulded form design parameter')/}

5.1.12 Функциональная единица ship general characteristics

5.1.12.1 Прикладной элемент CARRIER

Элемент ПИМ: product_related_product_category

Источник: ИСО 10303-41

214

ГОСТ Р ИСО 10303-216—2023

Ссылочный путь: {[/PROD_CAT_NAME('carrier')/]

[/CLASS(product_related_product_category, 'carrier','Shiptype')/]

[/CLASS(product_related_product_category, 'Shiptype', 'functional definition')/] [/CLASS(product_related_product_category,'functional definition', 'definition')/] [/CLASS(product_related_product_category, 'definition', 'versionable object')/] [/ROOT_CLASS(product_related_product_category,'versionable object')/]}

5.1.12.1.1 description

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Shiptype)/(см. 5.1.12.11.1)

5.1.12.1.2 has_type

Элемент ПИМ: product_category.name

Источник: ИСО 10303-41

Ссылочный путь: /PROD_CAT_NAME('carrier')/

product_category <-

product_category_relationship.category

product_category_relationship

{product_category_relationship.name = 'carrier types'} product_category_relationship.sub_category -> product_category

{(product_category.name ='Container carrier')

(product_category.name = 'Bulk carrier')

(product_category.name = 'Ore carrier')

(product_category.name = 'Oil tanker')

(product_category.name = 'Roro vessel')

(product_category.name = 'Ferry')

(product_category.name = 'Car ferry')

(product_category.name = 'Cruise liner')

(product_category.name = 'Passenger vessel')

(product_category.name = 'Cargo ship carrying passengers')

(product_category.name = 'Product tanker')

(product_category.name = 'Gas carrier')

(product_category.name = 'Liquefied gas tanker')

(product_category.name = 'Chemical tanker')

(product_category.name = 'Chemical tanker Type 1')

(product_category.name = 'Tanker for refrigerated fruit juice')

(product_category.name = 'General cargo carrier')

(product_category.name = 'Dry cargo vessel')

(product_category.name = 'Refrigerated cargo carrying ship')

(product_category.name = 'High speed craft passenger')

(product_category.name = 'High speed craft cargo')

(product_category.name = 'Hydrofoil')

(product_category.name = 'Car carrier')

(product_category.name = 'Barge')

(product_category.name = 'Barge for deck loading')

(product_category.name = 'Barge for liquefied gas')

(product_category.name = 'Barge for oil')

(product_category.name = 'Barge pontoon')

215

ГОСТ Р ИСО 10303-216—2023

(product_category.name = 'LNG carrier')

(product_category.name = 'LPG carrier')

(product_category.name = 'user defined')}

5.1.12.1.3 user_def_function

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Shiptype)/(см. 5.1.12.11.2)

5.1.12.1.4 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(Shiptype)/(см. 5.1.12.11.3)

5.1.12.1.5 carrier для ship (как defined Jor)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ; /SUPERTYPE(Shiptype)/(см. 5.1.12.11.4)

5.1.12.1.6 carrier для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Shiptype)/(см. 5.1.12.11)

5.1.12.2 Прикладной элемент CLASS_AND_STATUTORY_DESIGNATION

Элемент ПИМ:

product_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.28

Ссылочный путь:

{[/CLASS(product_definition, 'class and statutory designation', 'general characteristics definition')/]

[/CLASS(product_definition, 'general characteristics definition', 'definition')/]

[/CLASS(product_definition, 'definition', 'versionable object')/]

[/ROOT_CLASS(product_definition, 'versionable object')/]}

5.1.12.2.1 class_number

Элемент ПИМ:

descriptive_representationjtem.description

Источник:

ИСО 10303-45

Правила:

5.2.4.93

Ссылочный путь:

/PROD_DEF_TO_DESC_REP_ITEM('class and statutory designation', 'class number')/

5.1.12.2.2 description

Примечание —Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

product_definition.description

Источник:

ИСО 10303-41

5.1.12.2.3 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

identification_assignment.assignedJd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSIONJD(product_definition)/

5.1.12.2.4 class_and_statutory_designation для ship (как defined Jor)

Примечание — Атрибут унаследован из супертипа General_characteristics_definition (см. 5.1.4.4).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_PRODUCT/

{/CLASSJD(product,'ship')/}

216

ГОСТ Р ИСО 10303-216—2023

5.1.12.2.5 class_and_statutory_designation для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Правила:

5.2.4.45, 5.2.4.71

Ссылочный путь:

product_definition

identificationjtem = product_definition <-applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.12.2.6 class_and_statutory_designation для class_notation (как the_class)

Элемент ПИМ:

PATH

Правила:

5.2.4.57

Ссылочный путь:

/PROD_DEF_PROP_DEF/

{/CLASS_ID(property_definition, 'class notation')/}

5.1.12.2.7 class_and_statutory_designation для regulation (как the statutory)

Элемент ПИМ:

PATH

Правила:

5.2.4.64

Ссылочный путь:

/PROD_DEF_PROP_DEF/

{/CLASS_ID(property_definition, 'regulation')/}

5.1.12.3 Прикладной элемент CLASS_NOTATION

Элемент ПИМ:

property_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.78

Ссылочный путь:

/ROOT_CLASS(property_definition, 'class notation')/

5.1.12.3.1 approval__required_for_heavy_cargo

Элемент ПИМ:

descriptive_representation Jtem. description

Источник:

ИСО 10303-45

Правила:

5.2.4.126

Ссылочный путь:

/PROP_DEF_TO_DESC_REP_ITEM('class notation', 'approval required for heavy cargo')/

{(descriptive_representationjtem.description = 'HC')

(descriptive_representationjtem.description = 'HC_E')

(descriptive_representationjtem.description = 'HC_EA')}

5.1.12.3.2 approval_required_for_oil_cargo

Элемент ПИМ:

descriptive_representation Jtem.description

Источник:

ИСО 10303-45

Правила:

5.2.4.129

Ссылочный путь:

/PROP_DEF_TO_DESC_REPJTEM('class notation','approval required for oil cargo')/ {(descriptive_representationjtem.description = 'TRUE') (descriptive_representationjtem.description = 'FALSE')}

5.1.12.3.3 approval_required_loading_unloading_aground

Элемент ПИМ:

descriptive_representation Jtem.description

Источник:

ИСО 10303-45

Правила:

5.2.4.129

Ссылочный путь:

/PROP_DEF_TO_DESC_REPJTEM('class notation', 'approval required for loading unloading aground')/

{(descriptive_representationjtem.description = 'TRUE')

(descriptive_representationjtem.description = 'FALSE')}

217

ГОСТ Р ИСО 10303-216—2023

5.1.12.3.4 approval required loading unloading grabs

Элемент ПИМ:

descriptive_representation_item.description

Источник:

ИСО 10303-45

Правила:

5.2.4.129

Ссылочный путь:

/PROP_DEF_TO_DESC_REP_ITEM('class notation','approval required for unloading grabs')/

{(descriptive_representation_item.description = 'TRUE')

(descriptive_representation_item.description = 'FALSE')}

5.1.12.3.5 class_notations_hull

Элемент ПИМ:

descriptive_representation_item.description

Источник:

ИСО 10303-45

Правила:

5.2.4.29

Ссылочный путь:

/PROP_DEF_TO_DESC_REP_ITEM('class notation', 'class notations hull')/

5.1.12.3.6 class_notations_machinery

Элемент ПИМ:

descriptive_representation_item.description

Источник:

ИСО 10303-45

Правила:

5.2.4.29

Ссылочный путь:

/PROP_DEF_TO_DESC_REP_ITEM('class notation', 'class notations machinery') /

5.1.12.3.7 class_notations_machinery

Элемент ПИМ:

organization_assignment.assigned_organization

Источник:

ИСО 10303-41

Правила:

5.2.4.79

Ссылочный путь:

/ORG_ASSGN(property_definition,'class society')/

5.1.12.3.8 ice_

Элемент ПИМ:

_class_notation

descriptive_representation_item.description

Источник:

ИСО 10303-45

Правила:

5.2.4.126

Ссылочный путь:

/PROP_DEF_TO_DESC_REP_ITEM('class notation', 'ice class notation')/

5.1.12.3.9 service_area

Элемент ПИМ:

descriptive_representation_item.description

Источник:

ИСО 10303-45

Правила:

5.2.4.129

Ссылочный путь:

/PROP_DEF_TO_DESC_REP_ITEM('class notation', 'service area')/

5.1.12.3.10 service_factor

Элемент ПИМ:

count_measure

Правила:

5.2.4.114, 5.2.4.126

Ссылочный путь:

/PROP_DEF_TO_VAL_REP_ITEM('class notation', 'service factor', count_measure)/

5.1.12.4 Прикладной элемент CLASS_PARAMETERS

Элемент ПИМ:

product_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.30

Ссылочный путь:

{[/CLASS(product_definition, 'class parameters', 'general characteristics definition')/] [/CLASS(product_definition, 'general characteristics definition', 'definition')/] [/CLASS(product_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(product_definition, 'versionable object')/]}

5.1.12.4.1 block_coefficient_class

Элемент ПИМ:

ratio measure

218

ГОСТ Р ИСО 10303-216—2023

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.130

Ссылочный путь:

/PRODDEFTO _VAL_REPJTEM('class parameters', 'block coefficient class', ratio_ measure)/

5.1.12.4.2 description

Примечание — Атрибут унаследован из супертипа Versionableobject (см. 5.1.9.17).

Элемент ПИМ:

product_definition.description

Источник:

ИСО 10303-41

5.1.12.4.3 design_speed_ahead

Элемент ПИМ:

context_dependent_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.130

Ссылочный путь:

/PROD_DEF_TO_SPECIAL_VAL_REP_ITEM('class parameters', 'design speed ahead', 'speed unit')/

5.1.12.4.4 design_speed_astern

Элемент ПИМ:

context_dependent_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.130

Ссылочный путь:

/PROD_DEF_TO_SPECIAL_VAL_REP_ITEM('class parameters', 'design speed astern', 'speed unit')/

5.1.12.4.5 length_class

Элемент ПИМ:

positive Jength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.130

Ссылочный путь:

/PROD_DEF_TO_VAL_REP_ITEM('class parameters', 'length class', positivejength_ measure)/

5.1.12.4.6 length_solas

Элемент ПИМ:

positive Jength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.130

Ссылочный путь:

/PROD_DEF_TO_VAL_REPJTEM('class parameters', 'length solas', positivejength_ measure)/

5.1.12.4.7 scantlings_draught

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.130

Ссылочный путь:

/PROD_DEF_TO_VAL_REP_ITEM('class parameters', 'scantlings draught', positive_ length_measure)/

5.1.12.4.8 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

identification_assignment.assigned Jd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION_ID(product_definition)/

5.1.12.4.9 class_parameters для ship (как definedjor)

Примечание — Атрибут унаследован из супертипа General_characteristics_definition (см. 5.1.4.4).

219

ГОСТ Р ИСО 10303-216—2023

Элемент ПИМ:

PATH

Ссылочный путь:

/PRODDEFPRODUCT/

{/CLASS JD(product,'ship')/}

5.1.12.4.10 class_parameters для globaljd (как id)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Правила:

5.2.4.45, 5.2.4.70

Ссылочный путь:

product_definition

identificationjtem = product_definition <-applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.12.4.11 class parameters для derived_unit (как local_units)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_TO_UNITS('local units')/ unit

unit = derived_unit

derived unit

5.1.12.4.12 class_parameters для named_unit (как local_units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_TO_UNITS('local units')/ unit

unit = named_unit

named unit

5.1.12.5 Прикладной элемент NAVY_SHIP

Элемент ПИМ:

product_related_product_category

Источник:

ИСО 10303-41

Ссылочный путь:

{[/PROD_CAT_NAME('navy ship')/]

[/CLASS(product_related_product_category,'navy ship','Shiptype')/]

[/CLASS(product_related_product_category, 'Shiptype', 'functional definition')/] [/CLASS(product_related_product_category,'functional definition', 'definition')/] [/CLASS(product_related_product_category, 'definition', 'versionable object')/] [/ROOT_CLASS(product_related_product_category,'versionable object')/]}

5.1.12.5.1 description

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Shiptype)/(см. 5.1.12.11.1)

5.1.12.5.2 hasjype

Элемент ПИМ:

product_category.name

Источник:

ИСО 10303-41

Ссылочный путь:

/PROD_CAT_NAME('navy ship')/ product_category <-product_category_relationship.category

220

ГОСТ Р ИСО 10303-216—2023

productcategoryrelationship

{product category relationship.name = 'navy ship types'} product_category_relationship. category -> product_category

product_category_relationship

product_category_relationship.sub_category -> product_category

{(product_category.name = 'Aircraft carrier')

(product_category.name = 'Corvette')

(product_category.name = 'Cruiser')

(product_category.name = 'Destroyer')

(product_category.name = 'Fleet auxiliary vessel')

(product_category.name = 'Frigate')

(product_category.name = 'Mine warfare ship')

(product_category.name = 'Patrol force vessel')

(product_category.name = 'Service craft')

(product_category.name = 'Submarine')

(product_category.name = 'Auxiliary oiler')

(product_category.name = 'Landing platform dock') (product_category.name = 'Landing platform helicopter') (product_category.name = 'user defined')}

5.1.12.5.3 user_def_funotion

Примечание — Атрибут унаследован из супертипа Shiptype (см. 5.1.12.11).

Элемент ПИМ: /SUPERTYPE(Shiptype)/ (см. 5.1.12.11.2)

5.1.12.5.4 versionJd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(Shiptype)/(см. 5.1.12.11.3)

5.1.12.5.5 navy_ship для ship (как defined Jor)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Shiptype)/(см. 5.1.12.11.4)

5.1.12.5.6 navy_ship для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Shiptype)/(см. 5.1.12.11.5)

5.1.12.6 Прикладной элемент OWNER_DESIGNATION

Элемент ПИМ: product_definition

Источник: ИСО 10303-41

Ссылочный путь: {[/CLASS(product_definition, 'owner designation', 'general characteristics definition')/] [/CLASS(product_definition, 'general characteristics definition', 'definition')/] [/CLASS(product_definition, 'definition', 'versionable object')/] /ROOT_CLASS(product_definition, 'versionable object')/]}

5.1.12.6.1 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: product_definition.description

Источник: ИСО 10303-41

221

ГОСТ Р ИСО 10303-216—2023

5.1.12.6.2 managing_company

Элемент ПИМ:

organization_assignment.assigned_organization

Источник:

ИСО 10303-41

Ссылочный путь:

/ORG_ASSGN(product_definition,'managing company')/

5.1.12.6.3 ordering_company

Элемент ПИМ:

organization_assignment.assigned_organization

Источник:

ИСО 10303-41

Ссылочный путь:

/ORG_ASSGN(product_definition,'ordering company')/

5.1.12.6.4 owner_approval

Элемент ПИМ:

descriptive_representationjtem. description

Источник:

ИСО 10303-45

Правила:

5.2.4.127

Ссылочный путь:

/PROD_DEF_TO_DESC_REP_ITEM('owner designation', 'owner approval')/

5.1.12.6.5 owning_company

Элемент ПИМ:

organization_assignment.assigned_organization

Источник:

ИСО 10303-41

Ссылочный путь:

/ORG_ASSGN(product_definition,'owning company')/

5.1.12.6.6 version_id

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

identification_assignment.assignedJd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION_ID(product_definition)/

5.1.12.6.7 owner_designation для ship (как defined_for)

Примечание — Атрибут унаследован из супертипа General_characteristics_definition (см. 5.1.4.4).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_PRODUCT/

{/CLASS_ID(product,'ship')/}

5.1.12.6.8 owner_designation для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Правила:

5.2.4.45, 5.2.4.70

Ссылочный путь:

product_definition

identificationjtem= product_definition <-applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.12.7 Прикладной элемент PRINCIPAL_CHARACTERISTICS

Элемент ПИМ:

product_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.55

Ссылочный путь:

{[/CLASS(product_definition, 'principal characteristics','general characteristics definition')/]

[/CLASS(product_definition, 'general characteristics definition', 'definition')/] [/CLASS(product_definition, 'definition', 'versionable object')/]

[/ROOT_CLASS(product_definition, 'versionable object')/]}

222

5.1.12.7.1 block coefficient

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

ГОСТ Р ИСО 10303-216—2023

ratio_measure

ИСО 10303-43

5.2.4.114, 5.2.4.128

/PROD_DEF_TO_VAL_REP_ITEM('principal characteristics','block coefficient', ratio measure)/

5.1.12.7.2 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: product_definition.description

Источник: ИСО 10303-41

5.1.12.7.3 design_deadweight

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

mass_measure

ИСО 10303-43

5.2.4.114, 5.2.4.128

/PROD_DEF_TO_VAL_REP_ITEM ('principal characteristics', 'design deadweight', mass_measure)/

5.1.12.7.4 design_draught

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

positive_length_measure

ИСО 10303-43

5.2.4.114, 5.2.4.128

/PROD_DEF_TO_VAL_REP_ITEM ('principal characteristics', 'design draught', positive_ length_measure)/

5.1.12.7.5 length_between_perpendiculars

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

positive_length_measure

ИСО 10303-43

5.2.4.114, 5.2.4.131

/PROD_DEF_TO_VAL_REP_ITEM ('principal characteristics', 'length between perpendiculars', positive_length_measure)/

5.1.12.7.6 max_draught_at_ap

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

positive_length_measure

ИСО 10303-43

5.2.4.114, 5.2.4.128

/PROD_DEF_TO_VAL_REP_ITEM('principal positive_length_measure)/

characteristics',

'max

draught

at

ap',

5.1.12.7.7 max_draught_at_fp

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

positive_length_measure

ИСО 10303-43

5.2.4.114, 5.2.4.128

/PROD_DEF_TO_VAL_REP_ITEM('principal positive_length_measure)/

characteristics',

'max

draught

at

fp\

5.1.12.7.8 min_draught_at_ap

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

positive_length_measure

ИСО 10303-43

5.2.4.114, 5.2.4.128

/PROD_DEF_TO_VAL_REP_ITEM('principal positive_length_measure)/

characteristics',

'min

draught

at

ap',

5.1.12.7.9 min_draught_at_fp

Элемент ПИМ: positive_length_measure

223

ГОСТ Р ИСО 10303-216—2023

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.128

Ссылочный путь:

/PRODDEFTOVALREP JTEM('principal characteristics', 'min draught at fp', positivejength_measure)/

5.1.12.7.10 moulded breadth

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.131

Ссылочный путь:

/PROD DEF TO VAL REPJTEM('principal characteristics', 'moulded breadth',

positivejength_measure)/

5.1.12.7.11 moulded_depth

Элемент ПИМ:

positivejength_measure

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.131

Ссылочный путь:

/PROD_DEF_TO_VAL_REP_ITEM('principal characteristics', 'moulded depth', positive_ length_measure)/

5.1.12.7.12 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

identification_assignment.assignedJd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION_ID(product_definition)/

5.1.12.7.13 principal_characteristics для ship (как defined_for)

Примечание — Атрибут унаследован из супертипа General_characteristics_definition (см. 5.1.4.4).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_PRODUCT/

{/CLASSJD(product,'ship')/}

5.1.12.7.14 principal_characteristics для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Правила:

5.2.4.45, 5.2.4.70

Ссылочный путь:

product_definition

identificationjtem = product_definition <-applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.12.7.15 principal_characteristics для derived unit (как local_units)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_TO_UNITS('local units')/ unit

unit = derived_unit

derived unit

5.1.12.7.16 principal_characteristics для named unit (как local units)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

224

ГОСТ Р ИСО 10303-216—2023

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_TO_UNITS('local units')/ unit

unit = named_unit

named unit

5.1.12.8 Прикладной элемент REGULATION

Элемент ПИМ:

property definition

Источник:

ИСО 10303-41

Ссылочный путь:

{/ROOT_CLASS(property_definition, 'regulation')/}

5.1.12.8.1 regulation для externa preference (как international_regulations)

#1: Если значением элемента international_regulations является Extern a preference

Элемент ПИМ:

PATH

Ссылочный путь:

property_definition

externaljdentificationjtem = property_definition

externaljdentificationjtem <-

applied_externaljdentification_assignment.items[i]

applied_externaljdentification_assignment <=

externalJdentification_assignment <=

identification_assignment

identification_assignment.role ->

identificaton_role

{[identification_role.name = 'external reference']

[identification_role.description = 'international regulations']}

#2: Если значением элемента internationajregulations является Document, reference_with_address

Элемент ПИМ:

PATH

Ссылочный путь:

property_definition

/DOC_REF(property_definition,'international regulations')/ document

{/CLASS_ID(document, 'document reference with address')/}

5.1.12.8.2 regulation для externa preference (как national_regulations)

Элемент ПИМ:

Ссылочный путь:

#1: Если значением элемента national_regulations является Extemal_reference PATH

р го ре rty_defi nition

externaljdentificationjtem = рго ре rty_defi nition

externaljdentificationjtem <-

Элемент ПИМ:

applied_externaljdentification_assignment.items[i]

applied_externaljdentification_assignment <=

external_identification_assignment <=

identification_assignment

identification_assignment.role ->

identificaton_role

{[identification_role.name = 'external reference']

[identification_role.description = 'national regulations']}

#2: Если значением элемента national_regulations является Document_reference with_address

PATH

225

ГОСТ Р ИСО 10303-216—2023

Ссылочный путь:

property_definition

/DOC_REF(property_definition,'national regulations')/ document

{/CLASS_ID(document, 'document reference with address')/}

5.1.12.8.3 regulation для extern a preference (как standards)

#1: Если значением элемента standards является External_reference

Элемент ПИМ:

PATH

Ссылочный путь:

property_definition

external identificationJtem = property_definition

externalJdentification item <-

applied_external_identification_assignment.items[i] applied_external_identification_assignment <= external_identification_assignment <= identification_assignment identification_assignment.role -> identificaton_role

{[identification_role.name = 'external reference'] [identification_role.description = 'standards']}

#2: Если значением элемента standards является Document_reference_with_address

Элемент ПИМ:

PATH

Ссылочный путь:

property_definition

/DOC_REF(property_definition,'standards')/ document

{/CLASS_ID(document, 'document reference with address')/}

5.1.12.9 Прикладной элемент RESEARCH SHIP

Элемент ПИМ:

product_related_product_category

Источник:

ИСО 10303-41

Ссылочный путь:

{[/PROD_CAT_NAME('research ship')/]

[/CLASS(product_related_product_category,'research ship','Shiptype')/] [/CLASS(product_related_product_category, 'Shiptype', 'functional definition')/] [/CLASS(product_related_product_category,'functional definition', 'definition')/] [/CLASS(product_related_product_category, 'definition', 'versionable object')/] [/ROOT_CLASS(product_related_product_category,'versionable object')/]}

5.1.12.9.1 description

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Shiptype)/ (см. 5.1.12.11.1)

5.1.12.9.2 has_type

Элемент

Источник:

ПИМ: product_category.name

ИСО 10303-41

Ссылочный путь:

/PROD_CAT_NAME('research ship')/

product_category <-

product_category_relationship.category product_category_relationship

{product_category_relationship.name = 'research ship types'}

product_category_relationship.sub_category ->

product_category

{product_category.name = 'user defined'}

226

ГОСТ Р ИСО 10303-216—2023

5.1.12.9.3 user_def_function

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Shiptype)/(см. 5.1.12.11.2)

5.1.12.9.4 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(Shiptype)/(см. 5.1.12.11.3)

5.1.12.9.5 research_ship для ship (как defined Jor)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

/SUPERTYPE(Shiptype)/ (см. 5.1.12.11.4)

5.1.12.9.6 research_ship для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Shiptype)/(см. 5.1.12.11.5)

5.1.12.10 Прикладной элемент SHIP_DESIGNATION

Элемент ПИМ:

product_definition

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(product_definition, 'ship designation', 'general characteristics definition')/] [/CLASS(product_definition, 'general characteristics definition', 'definition')/] [/CLASS(product_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(product_definition,'versionable object')/]}

5.1.12.10.1 call_sign

Элемент ПИМ:

identification_assignment.assignedJd

Источник:

ИСО 10303-41

Правила:

5.2.4.56

Ссылочный путь:

/HASJD_1_ROLE(product_definition, 'call sign')/

5.1.12.10.2 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

product_definition.description

Источник:

ИСО 10303-41

5.1.12.10.3 flag_state

Элемент ПИМ:

identification_assignment.assigned Jd

Источник:

ИСО 10303-41

Правила:

5.2.4.58

Ссылочный путь:

/HAS_ID_1_ROLE(product_definition, 'flag state')/

5.1.12.10.4 port_of_registration

Элемент ПИМ:

identification_assignment.assigned Jd

Источник:

ИСО 10303-41

Правила:

5.2.4.63

Ссылочный путь:

/HASJD_1_ROLE(product_definition, 'port of registration')/

5.1.12.10.5 shipjdentification

Элемент ПИМ:

identification_assignment.assignedjd

Источник:

ИСО 10303-41

Правила:

5.2.4.138

Ссылочный путь:

/HASJD_2_ROLES(product_definition, 'IMO number', 'pennant hull number')/

227

ГОСТ Р ИСО 10303-216—2023

5.1.12.10.6 ship_name

Элемент ПИМ:

product_definition.name

Источник:

ИСО 10303-41

Ссылочный путь:

/NAME_ASSGN(product_definition)/

5.1.12.10.7 versionjd

Примечание —Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

identification_assignment. assigned Jd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION JD(product_definition)/

5.1.12.10.8 ship designation для ship (как defined_for)

Примечание — Атрибут унаследован из супертипа General_characteristics_definition (см. 5.1.4.4).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_PRODUCT/

{/CLASSJD(product,'ship')Z}

5.1.12.10.9 ship_designation для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Правила:

5.2.4.45, 5.2.4.70

Ссылочный путь:

product_definition

identificationjtem= product_definition <-applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.12.11 Прикладной элемент Shiptype

#1: Значением элемента Shiptype является carrier

#2: Значением элемента Shiptype является navy_ship

#3: Значением элемента Shiptype является research_ship

#4: Значением элемента Shiptype является working_ship

Элемент ПИМ:

#1: /SUBTYPE(carrier)/ (см. 5.1.12.1)

#2: /SUBTYPE(navy_ship)/ (см. 5.1.12.5)

#3: /SUBTYPE(research_ship)/ (см. 5.1.12.9)

#4: /SUBTYPE(working_ship)/ (см. 5.1.12.13)

5.1.12.11.1 description

Элемент ПИМ:

product_category.description

Источник:

ИСО 10303-41

Ссылочный путь:

product_related_product_category <= product_category

product_category.description

5.1.12.11.2 user_def_fu notion

Примечание — Атрибут унаследован из супертипа Function_definition (см. 5.1.4.3).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Ссылочный путь:

product_related_product_category <=

228

ГОСТ Р ИСО 10303-216—2023

product_category

{product_category.name = 'user defined'} product_category<-

product_category_relationship.category

product_category_relationship

product_category_relationship.sub_category -> product_category

product_category.name

5.1.12.11.3 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

identification_assignment.assignedjd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION JD(product_related_product_category)/

5.1.12.11.4 Shiptype для ship (как definedjor)

Элемент ПИМ:

PATH

Ссылочный путь:

product_related_product_category

product_related_product_category.products[i] -> product

{/CLASS_ID(product,'ship')/}

5.1.12.11.5 Shiptype для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.72

Ссылочный путь:

prod u ct_rel ated_prod u ct_category

identification_item = product_related_product_category <-

applied Jdentification_assignment.items[i]

applied Jdentification_assignment

5.1.12.12 Прикладной элемент SHIPYARD_DESIGNATION

Элемент ПИМ:

product_definition

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(product_definition, 'shipyard designation','general characteristics definition')/] [/CLASS(product_definition, 'general characteristics definition', 'definition')/] [/CLASS(product_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(product_definition, 'versionable object')/]}

5.1.12.12.1 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

product_definition.description

Источник:

ИСО 10303-41

5.1.12.12.2 role

Элемент ПИМ:

organization_assignment.role

Источник:

ИСО 10303-41

Ссылочный путь:

/ORG_ASSGN_PART(product_definition)/ {organization_assignment.role -> organization_role {(organization_role.name = 'prime design')

229

ГОСТ Р ИСО 10303-216—2023

(organization_role.name ='prime build')

(organization_role.name ='prime repair')

(organization_role.name ='prime')

(organization_role.name ='subcontractor')}}

5.1.12.12.3 shipyard

Элемент ПИМ:

organizationassignment.assignedorganization

Источник:

ИСО 10303-41

Правила:

5.2.4.65

Ссылочный путь:

/ORG_ASSGN(product_definition,'shipyard')/

5.1.12.12.4 shipyard_new_building_id

Элемент ПИМ:

identification_assignment. assignedJd

Источник:

ИСО 10303-41

Ссылочный путь:

/HAS_ID_1_ROLE(product_definition, 'shipyard new building id')/

5.1.12.12.5 shipyard project name

Элемент ПИМ:

organizational_project.name

Источник:

ИСО 10303-41

Ссылочный путь:

/ORG_ASSGN(product_definition,'shipyard')/ <-organizational_project.responsible_organizations[i] organizational_project

{organizational project.description = 'shipyard project name'} organizational_project

organizational_project.name

5.1.12.12.6 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

identification_assignment.assigned Jd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION_ID(product_definition)/

5.1.12.12.7 shipyard_designation для ship (как defined for)

Примечание — Атрибут унаследован из супертипа General_characteristics_definition (см. 5.1.4.4).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROD_DEF_PRODUCT/

{/CLASS_ID(product,'ship')/}

5.1.12.12.8 shipyard_designation для globaljd (как id)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Правила:

5.2.4.45, 5.2.4.70

Ссылочный путь:

product_definition

identificationjtem= product_definition <-applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.12.13 Прикладной элемент WORKING_SHIP

Элемент ПИМ:

product_related_product_category

Источник:

ИСО 10303-41

230

ГОСТ Р ИСО 10303-216—2023

Ссылочный путь:

{[/PROD_CAT_NAME('working ship')/]

[/CLASS(product_related_product_category,'working ship','Shiptype')/]

[/CLASS(productjelated_product_category, 'Shiptype', 'functional definition')/] [/CLASS(product_related_product_category,'functional definition', 'definition')/] [/CLASS(product_related_product_category,'definition', 'versionable object')/] [/ROOT_CLASS(productjelated_product_category,'versionable object')/]}

5.1.12.13.1 description

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Shiptype)/ (см. 5.1.12.11.1)

5.1.12.13.2 hasjype

Элемент ПИМ:

product_category.name

Источник:

ИСО 10303-41

Ссылочный путь:

/PROD_CAT_NAME('working ship')/

product_category <-

product_categoryjelationship.category

product_category_relationship

{product_category_relationship.name = 'working ship types'} product_category_relationship.sub_category -> product_category

{(product_category.name = 'Tug')

(product_category.name = 'Sealer')

(product_category.name = 'Fire fighter')

(product_category.name = 'Drilling vessel')

(product_category.name = 'Pipe laying vessel')

(product_category.name = 'Crane vessel')

(product_category.name = 'Dredger')

(product_category.name = 'Supply vessel')

(product_category.name = 'Ice breaker')

(product_category.name = 'Fishing vessel')

(product_category.name = 'Floating dock')

(product_category.name = 'Pilot boat')

(product_category.name = 'Floating hotel')

(product_category.name = 'Well stimulation vessel')

(product_category.name = 'Pusher')

(product_category.name = 'Stern trawler')

(product_category.name = 'Reefer')

(product_category.name = 'Offshore supply vessel')

(product_category.name = 'Oil production vessel')

(product_category.name = 'Oil storage vessel')

(product_category.name = 'Oil production and storage vessel')

(product_category.name = 'Shuttle tanker')

(product_category.name = 'FPSO')

(product_category.name = 'FPGO')

(product_category.name = 'user defined')}

5.1.12.13.3 user_defjunction

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

/SUPERTYPE(Shiptype)/ (см. 5.1.12.11.2)

231

ГОСТ Р ИСО 10303-216—2023

5.1.12.13.4 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ: /SUPERTYPE(Shiptype)/ (см. 5.1.12.11.3)

5.1.12.13.5 working_ship для ship (как defined_for)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: /SUPERTYPE(Shiptype)/(см. 5.1.12.11.4)

5.1.12.13.6 working_ship для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

/SUPERTYPE(Shiptype)/ (см. 5.1.12.11.5)

5.1.13 Функциональная единица ship_measures

5.1.13.1 Прикладной элемент CENTRE_LOCATION

Элемент ПИМ:

compound_representationjtem

Источник:

ИСО 10303-43

Правила:

5.2.4.114, 5.2.4.25

Ссылочный путь:

/ROOT_CLASS(compound_representation_item, 'centre location')/

5.1.13.1.1 longitudinaljocation

Элемент ПИМ:

length_measure

Источник:

ИСО 10303-43

Ссылочный путь:

compound_representation_item compound_representationjtem. item_element -> compound_item_definition = list_representation_item list_representation_item[ i] ->

representationjtem =>

{representationjtem. name = 'longitudinal location'} value_representationjtem

{value_representationjtem. value_component -> measure_value = length_measure}

5.1.13.1.2 transversalJocation

Элемент ПИМ:

length_measure

Источник:

ИСО 10303-43

Ссылочный путь:

compound_representationjtem compound_representationjtem. item_element -> compoundjtem_definition = list_representationjtem list_representationjtem[ i] -> representationjtem => {representationjtem. name = 'transversal location'} value_representationjtem

{value_representationjtem. value_component -> measure_value = length_measure}

5.1.13.1.3 vertical location

Элемент ПИМ:

length_measure

Источник:

ИСО 10303-43

Ссылочный путь:

compound_representationjtem

compound_representationjtem. item_element -> compoundjtem_definition = list_representationjtem list_representationjtem[ i] ->

232

ГОСТ Р ИСО 10303-216—2023

representationjtem =>

{representation item, name = 'vertical location'}

value_representation_item

{value_representation_item. value_component -> measure_value = length_measure}

5.1.13.2 Прикладной элемент DERIVED_UNIT

Примечание — Дополнительное описание использования параметров и единиц приведено в L.7.

Элемент ПИМ: derived_unit

Источник: ИСО 10303-41

Ссылочный путь: (derived_unit

{/NAME_ASSGN_WITH_VAL(derived_unit, 'airflow volume unit')/} derived_unit.elements[i] -> [derived_unit_element

{[derived_unit_element.unit ->

([length_unit] [si_unit])

([length_unit] [conversion_based_unit])

([length_unit] [context_dependent_unit])]

[derived_unit_element.exponent = 3]}]

[derived_unit_element

{[derived_unit_element.unit ->

([time_unit] [si_unit])

([time_unit] [conversion_based_unit])

([time_unit] [context_dependent_unit])] ([time_unit][context_dependent_unit])] [derived_unit_element.exponent = -1]}])

(derived_unit

{/NAME_ASSGN_WITH_VAL(derived_unit, 'area unit')/}

derived_unit.elements[i] ->

derived_unit_element

derived_unit_element.unit ->

[([length_unit] [si_unit])

([length_unit] [conversion_based_unit])

([length_unit] [context_dependent_unit])]

[derived_unit_element.exponent = 2]

(derived_unit

{/NAME_ASSGN_WITH_VAL(derived_unit, 'volume unit')/}

derived_unit.elements[i] ->

derived_unit_element

derived_unit_element.unit ->

[([length_unit] [si_unit])

([length_unit] [conversion_based_unit])

([length_unit] [context_dependent_unit])]

[derived_unit_element.exponent = 3]

233

ГОСТ Р ИСО 10303-216—2023

(derived_unit

{/NAME_ASSGN_WITH_VAL(derived_unit,

'coefficient of thermal expansion unit')/}

derived_unit.elements[i] ->

[derived_unit_element

{[derived_unit_element.unit ->

([length_unit] [si_unit])

([length_unit] [conversion_based_unit])

([length_unit] [context_dependent_unit])]

[derived_unit_element.exponent = 1]}]

[derived_unit_element

{[derived_unit_element.unit ->

([length_unit] [si_unit])

([length_unit] [conversion_based_unit])

([length_unit] [context_dependent_unit])]

[derived_unit_element.exponent = -1]}]

[derived_unit_element

{[derived_unit_element.unit ->

([thermodynamic_temperature_unit] [si unit])

([thermodynamic temperature unit] [conversion_based_unit]) ([thermodynamic_temperature_unit] [context_dependent_unit])]

[derived_unit_element.exponent = -1]}])

(derived_unit

{/NAME_ASSGN_WITH_VAL(derived_unit, 'coefficient of vicosity unit')/} derived_unit.elements[i] -> [derived_unit_element

{[derived_unit_element.unit ->

([mass_unit] [si_unit])

([mass_unit] [conversion_based_unit])

([mass_unit] [context_dependent_unit])]

[derived_unit_element.exponent = 1]}]

[derived_unit_element

{[derived_unit_element.unit ->

([length unit] [si_unit])

([length_unit] [conversion_based_unit])

([length_unit] [context_dependent_unit])]

[derived_unit_element. exponent = -1]}]

[derived_unit_element

{[derived_unit_element.unit ->

([time_unit] [si_unit])

([time_unit] [conversion_based_unit])

([time unit] [context_dependent_unit])]

[derived_unit_element.exponent = -1]}])

(derived_unit

{/NAME_ASSGN_WITH_VAL(derived_unit, 'specific heat capacity unit')/}

234

ГОСТ Р ИСО 10303-216—2023

derived_unit.elements[i] ->

[derived_unit_element

{[derived_unit_element.unit ->

([length_unit] [si_unit])

([length_unit] [conversion based unit])

([length_unit] [context_dependent_unit])]

[derived_unit_element.exponent = 2]}]

[derived_unit_element

{[derived_unit_element.unit ->

([time_unit] [si_unit])

([time_unit] [conversion based unit])

([time_unit] [context_dependent_unit])]

[derived_unit_element.exponent = -2]}]

[derived_unit_element

{[derived_unit_element.unit ->

([thermodynamic_temperature_unit] [si_unit])

([thermodynamic_temperature_unit] [conversion_based_unit]) ([thermodynamic_temperature_unit] [context_dependent_unit])]

[derivedunitelement.exponent = -1]}])

(derivedunit

{/NAME_ASSGN_WITH_VAL(derived_unit, 'thermal conductivity unit')/} derived_unit.elements[i] -> [derived_unit_element

{[derived_unit_element.unit ->

([mass_unit] [si_unit])

([mass_unit] [conversion_based_unit])

([mass_unit] [context_dependent_unit])]

[derived_unit_element.exponent = 1]}]

[derived_unit_element

{[derived_unit_element.unit ->

([length_unit] [si_unit])

([length_unit] [conversion_based_unit])

([length_unit] [context_dependent_unit])]

[derived_unit_element.exponent = 1]}]

[derived_unit_element

{[derived_unit_element.unit ->

([time_unit] [si_unit])

([time_unit] [conversion_based_unit])

([time_unit] [context_dependent_unit])]

[derived_unit_element.exponent = -3]}]

[derived_unit_element

{[derived_unit_element.unit ->

([thermodynamic_temperature_unit] [si_unit])

([thermodynamic_temperature_unit] [conversion_based_unit]) ([thermodynamic_temperature_unit] [context_dependent_unit])]

[derived_unit_element.exponent = -1]}])

235

ГОСТ Р ИСО 10303-216—2023

(derived_unit

{/NAME_ASSGN_WITH_VAL(derived_unit, 'inertia moment unit')/} derived_unit.elements[i] -> derived_unit_element

{[derived_unit_element.unit ->

([length_unit] [si_unit])

([length_unit] [conversion_based_unit])

([length_unit] [context_dependent_unit])]

[derived_unit_element.exponent = 4]})

(derived_unit

{/NAME_ASSGN_WITH_VAL(derived_unit, 'moment unit')/} derived_unit.elements[i] -> [derived_unit_element

{[derived_unit_element.unit ->

([mass_unit] [si_unit])

([mass_unit] [conversion_based_unit])

([mass_unit] [context_dependent_unit])] [derived_unit_element.exponent = 1]}] [derived_unit_element

{[derived_unit_element.unit ->

([length_unit] [si_unit])

([length_unit] [conversion_based_unit])

([length_unit] [context_dependent_unit])]

[derived_unit_element.exponent = 2]}]

[derived_unit_element

{[derived_unit_element.unit ->

([time_unit] [si_unit])

([time_unit] [conversion_based_unit])

([time_unit] [context_dependent_unit])]

[derived_unit_element.exponent = -2]}])

(derived_unit

{/NAME_ASSGN_WITH_VAL(derived_unit, 'speed unit')/} derived_unit.elements[i] ->

[derived_unit_element {[derived_unit_element.unit ->

([length_unit] [si_unit])

([length_unit] [conversion_based_unit])

([length_unit] [context_dependent_unit])]

[derived_unit_element.exponent = 1]}]

[derived_unit_element {[derived_unit_element.unit ->

([time_unit] [si_unit])

([time_unit] [conversion_based_unit])

([time_unit] [context_dependent_unit])]

[derived_unit_element.exponent = -1]}])

236

ГОСТ Р ИСО 10303-216—2023

5.1.13.3 Прикладной элемент NAMED_UNIT

Примечание — Дополнительное описание использования параметров и единиц приведено в L.7.

Элемент ПИМ:

named_unit

Источник:

ИСО 10303-41

Ссылочный путь:

named_unit =>

[(si_unit)

(conversion_based_unit)

(context_dependent_unit)]

[(length_unit)

(luminous_intensity_unit)

(mass_unit)

(plane_angle_unit)

(ratio_unit)

(thermodynamic_temperature_unit)]

5.1.13.4 Прикладной элемент PRECISION

Элемент ПИМ:

uncertainty_measure_with_unit

Источник:

ИСО 10303-43

5.1.13.4.1 minimum_point_spacing

Элемент ПИМ:

measure_with_unit.value_component

Источник:

ИСО 10303-43

Ссылочный путь:

uncertainty_measure_with_unit

{uncertainty_measure_with_unit.name = 'distance_accuracy_value'} uncertainty_measure_with_unit <= measure_with_unit

{[measure_with_unit.unit_component ->

unit

unit = named_unit

named_unit =>

([length_unit][si_unit])

([length_unit][conversion_based_unit])

([length_unit][context_dependent_unit])] [measure_with_unit.value_component > measure_value = positive_length_measure]}

5.1.14 Функциональная единица ship_moulded_form

5.1.14.1 Прикладной элемент MOULDED_FORM

Элемент ПИМ:

product_definition

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(product_definition, 'moulded form', 'item')/] [/CLASS(product_definition, 'item', 'definable object')/] [/ROOT_CLASS(product_definition, 'definable object')/]}

5.1.14.1.1 description

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ:

product_definition. description

Источник:

ИСО 10303-41

5.1.14.1.2 name

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

237

ГОСТ Р ИСО 10303-216—2023

Элемент ПИМ:

product_definition.name

Источник:

ИСО 10303-41

Ссылочный путь:

/NAME_ASSGN(product_definition)/

5.1.14.1.3 moulded_form для external_reference (как documentation)

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

#1: Если «как documentation» относится к External_reference

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition

product_definition = externaljdentificationjtem

external identification item <-

applied_externaljdentification_assignmentitems[i]

applied_externaljdentification_assignment

#2: Если «как documentation» относится к Document_reference_with_address

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition

/DOC_REF(product_definition,'documentation')/ document

{/CLASSJD(document, 'document reference with address')/}

5.1.14.1.4 moulded_form для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3) или ltem_structure (см. 5.1.8.5).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.70

Ссылочный путь:

product_definition

identificationjtem = product_definition <-applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.14.1.5 moulded_form для ship (как ship context)

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition product_definition.formation-> product_definitionjormation {product_definitionjormation.id= 'moulded form'} product_definition_formation.of_product -> product

{/CLASS_ID(product, 'ship')/}

5.1.14.2 Прикладной элемент MOULDED_FORM_BOUNDARY_RELATIONSHIP

Элемент ПИМ:

product_definition_relationship

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(product_definition_relationship, 'moulded form boundary relationship', 'moulded form relationship')/]

[/CLASS(product_definition_relationship, 'moulded form relationship', 'item relationship')/]

[/CLASS(product_definition_relationship, 'item relationship', 'definable object')/]

[/ROOT_CLASS(product_definition_relationship, 'definable object')/]

[/CLASS(product_definition_relationship, 'item relationship', 'versionable object')/] [/ROOT_CLASS(product_definition_relationship, 'versionable object')/]}

238

ГОСТ Р ИСО 10303-216—2023

5.1.14.2.1 description

Примечание — Атрибут унаследован из супертипа Moulded_form_relationship (см. 5.1.14.5).

Элемент ПИМ:

product_definition_relationship.description

Источник:

ИСО 10303-41

5.1.14.2.2 versionjd

Примечание — Атрибут унаследован из супертипа Moulded Jorm_relationship (см. 5.1.14.5).

Элемент ПИМ:

identification_assignment.assignedjd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION_ID(product_definition_relationship)/

5.1.14.2.3 mouIded_form_boundary_relationshiр для external_instance_reference (как external Jtem_1 Примечание — Атрибут унаследован из супертипа Moulded Jorm_relationship (см. 5.1.14.5).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Ссылочный путь:

product_definition_relationship

{product_definition_relationship. relating_product_definition ->

product_definition

[/CLASSJD(product_definition, 'moulded form')/]

[/EXT_INST_REF(product_definition, 'ship moulded form schema', 'moulded form')/]}

5.1.14.2.4 moulded_form_boundary_relationship для external Jnstance_reference (как external Jtem_2)

Примечание — Атрибут унаследован из супертипа Moulded Jorm_relationship (см. 5.1.14.5).

Элемент ПИМ:

PATH

Источник:

ИСО 10303-41

Ссылочный путь:

product_definition_relationship

{product_definition_relationship. related_product_definition ->

product_definition

[/CLASS_ID(product_definition, 'moulded form')/]

[/EXT_INST_REF(product_definition, 'ship moulded form schema', 'moulded form')/]}

5.1.14.2.5 mouldedJorm_boundary_relationship для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Mouldedjorm_relationship (см. 5.1.14.5).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.69

Ссылочный путь:

product_definition_relationship

identificationjtem = product_definition_relationship <-applied Jdentification_assignment.items[i]

applied Jdentification_assignment

5.1.14.2.6 mouldedJorm_boundary_relationship для mouldedjorm (как item_1)

Примечание — Атрибут унаследован из супертипа Mouldedjorm_relationship (см. 5.1.14.5).

Элемент ПИМ:

PATH

Правила:

5.2.4.68

Ссылочный путь:

product_definition_relationship

product_definition_relationship.relating_product_definition -> product_definition

{/CLASS_ID(product_definition, 'moulded form')/}

239

ГОСТ Р ИСО 10303-216—2023

5.1.14.2.7 moulded_form_boundary_relationship для moulded_form (как item_2)

Примечание — Атрибут унаследован из супертипа Moulded_form_relationship (см. 5.1.14.5).

Элемент ПИМ:

PATH

Правила:

5.2.4.68

Ссылочный путь:

product_definition_relationship

product_definition_relationship.related_product_definition -> product_definition

{/CLASS_ID(product_definition, 'moulded form')/}

5.1.14.3 Прикладной элемент MOULDED_FORM_DESIGN_DEFINITION

Элемент ПИМ:

product_definition_shape

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(product_definition_shape, 'moulded form design definition', 'design definition')/] [/CLASS(product_definition_shape, 'design definition', 'definition')/] [/CLASS(product_definition_shape, 'definition', 'versionable object')/] [/ROOT_CLASS(product_definition_shape, 'versionable object')/]}

5.1.14.3.1 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

property_definition.description

Источник:

ИСО 10303-41

5.1.14.3.2 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17).

Элемент ПИМ:

identification_assignment.assigned_id

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION_ID(product_definition_shape)/

5.1.14.3.3 moulded_form_design_definition для moulded_form_boundary_relationship (как borders)

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition_shape =>

property_definition

property_definition.definition->

characterized_definition = characterized_product_definition characterized_product_definition = product_definition product_definition <-

product_definition_relationship.relating_product_definition product_definition_relationship

{/CLASS_ID(product_definition_relationship, 'moulded form boundary relationship')/}

5.1.14.3.4 moulded_form_design_definition для plane (как borders)

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition_shape <-shape_aspect.of_shape shape_aspect

{shape_aspect.name = 'border'} shape_aspect = represented_definition <-/PDR_NAME('border representation')/ -> representation

240

ГОСТ Р ИСО 10303-216—2023

representation.items[i] -> representation item => {representationjtem.name = '.UNUSED.'} geometric_representationjtem => plane

5.1.14.3.5 moulded_form_design_definition для ship_curve (как borders)

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition_shape <-

shape_aspect.of_shape

shape_aspect

{shape_aspect.name = 'border'}

shape_aspect = represented_definition <-

/PDR_NAME('border representation')/ -> representation

representation.items[i] ->

compound_representationjtem

{/CLASS_ID(compound_representationJtem, 'ship curve')/}

5.1.14.3.6 moulded_form_design_definition для spacing_position (как borders)

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition_shape <-shape_aspect.of_shape shape_aspect

{shape_aspect.name = 'border'}

shape_aspect = represented_definition <-

/PDR_NAME('border representation')/ ->

representation

representation.items[i] -> compound_representationjtem {/CLASSJD(compound_representationJtem, 'spacing position')/}

5.1.14.3.7 moulded_form_design_definition для moulded Jorm (как defined for)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Design_definition (см. 5.1.4.2).

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition_shape <=

/PROP_TO_PROD_DEF/

{/CLASS_ID(product_definition, 'moulded form')/}

5.1.14.3.8 moulded_form_design_definition для global_id (как id)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Design_definition (см. 5.1.4.2).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.70

Ссылочный путь:

product_definition_shape

identificationjtem = product_definition_shape <-applied Jdentification_assignment.items[i] applied Jdentification_assignment

241

ГОСТ Р ИСО 10303-216—2023

5.1.14.3.9 moulded form design definition для derived unit (как local_units)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Design_definition (см. 5.1.4.2).

Элемент ПИМ: PATH

Ссылочный путь: product_definition_shape <= property_definition /PROP_DEF_TO_UNITS('local units')/ unit unit = derived_unit derived_unit

5.1.14.3.10 moulded_form_design_definition для named_unit (как local_units)

Примечание —Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Design_definition (см. 5.1.4.2).

Элемент ПИМ: PATH

Ссылочный путь: product_definition_shape <= property_definition /PROP_DEF_TO_UNITS('local units')/ unit unit = named_unit named_unit

5.1.14.3.11 moulded form design definition для edge_based_wireframe_shape (как moulded surface) Элемент ПИМ: PATH

Ссылочный путь: product_definition_shape <-shape_aspect.of_shape shape_aspect {shape_aspect.name = 'moulded surface'} shape_aspect = represented_definition <-/PDR_NAME('surface representation')/ -> representation=> shape_representation => edge_based_wireframe_shape_representation

5.1.14.3.12 moulded_form_design_definition для moulded_form_shape_representation (как moulded_ surface) Элемент ПИМ: PATH

Ссылочный путь: product_definition_shape <-shape_aspect.of_shape shape_aspect {shape_aspect.name = 'moulded surface'} shape_aspect = represented_definition <-/PDR_NAME('surface representation')/ -> representation => shape_representation {/CLASS_ID(shape_representation, 'moulded form shape representation')/} 5.1.14.3.13 moulded_form_design_definition для non_manifold_surface_shape (как moulded_surface)

Элемент ПИМ: PATH

Ссылочный путь: product_definition_shape <-shape_aspect.of_shape

242

ГОСТ Р ИСО 10303-216—2023

shape_aspect

{shapeaspect.name = 'moulded surface'} shape_aspect = representeddefinition <-/PDR_NAME('surface representation')/ -> representation => shape_representation =>

non_manifold_surface_shape_representation

5.1.14.3.14 moulded_form_design_definition для ship_surface (как moulded_surface)

Элемент ПИМ: PATH

Ссылочный путь: product_definition_shape <-

shape_aspect.of_shape

shape_aspect

{shape_aspect.name = 'moulded surface'} shape_aspect = represented_definition <-/PDR_NAME('surface representation')/ -> representation representation.items[i] -> compound_representation_item

{/CLASS_ID(compound_representation_item, ship_surface)/}

5.1.14.3.15 moulded_form_design_definition для edge_based_wireframe_shape (как representations)

Примечание — Атрибут унаследован из супертипа Design_definition (см. 5.1.4.2).

Элемент ПИМ: PATH

Ссылочный путь: product_definition_shape <= property_definition <- represented_definition <-/SDR_NAME('moulded form design representation')/ property_definition_representation.used_representation -> representation => shape_representation =>

edge_based_wireframe_shape_representation

5.1.14.3.16 moulded_form_design_definition для non_manifold_surface_shape (как representations)

Примечание — Атрибут унаследован из супертипа Design_definition (см. 5.1.4.2).

Элемент ПИМ: PATH

Ссылочный путь: product_definition_shape <= property_definition <-represented_definition <-/SDR_NAME('moulded form design representation')/ property_definition_representation.used_representation -> representation => shape_representation =>

non_manifold_surface_shape_representation

5.1.14.3.17 status

Элемент ПИМ: descriptive_representation_item.description

Источник: ИСО 10303-45

Правила: 5.2.4.120

Ссылочный путь: product_definition_shape <=

/PROP_DEF_REP_HELP('moulded form design parameters')/

243

ГОСТ Р ИСО 10303-216—2023

representation

representation.items [i] -> representationjtem => {representationjtem.name = 'status'} descriptive_representationjtem

{(descriptive_representationjtem.description = 'partial') (descriptive_representationjtem.description = 'complete')}

5.1.14.4 Прикладной элемент MOULDED_FORM_FUNCTIONAL_DEFINITION

Элемент ПИМ:

property_definition

Источник:

ИСО 10303-41

Правила:

5.2.4.84

Ссылочный путь:

{[/CLASS(property_definition, 'moulded form functional definition', 'functional definition')/] [/CLASS(property_definition, 'functional definition', 'definition')/] [/CLASS(property_definition, 'definition', 'versionable object')/] [/ROOT_CLASS(property_definition, 'versionable object')/]}

5.1.14.4.1 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17) через супертип Functional_definition (см. 5.1.4.3), который наследуется из супертипа Definition (см. 5.1.4.1).

Элемент ПИМ: property_definition.description

Источник: ИСО 10303-41

5.1.14.4.2 the_function

Элемент ПИМ: descriptive_representation_item.description

Источник: ИСО 10303-45

Правила: 5.2.4.152,5.2.4.103

Ссылочный путь: /PROP_DEF_REP_HELP('moulded form function parameters')/ representation representation.items [i] -> representationjtem => {representationjtem.name = 'function'} descriptive_representationjtem {(descriptive_representationjtem.description = 'ship hull') (descriptive_representationjtem.description = 'propeller') (descriptive_representationjtem.description = 'rudder') (descriptive_representationjtem.description = 'bulbous bow') (descriptive_representationjtem.description = 'bulbous stern') (descriptive_representationjtem.description = 'appendage') (descriptive_representationjtem.description = 'thruster') (descriptive_representationjtem.description = 'keel') (descriptive_representationjtem.description = 'transom') (descriptive_representationjtem.description = 'double bottom') (descriptive_representationjtem.description = 'double ship hull') (descriptive_representationjtem.description = 'deck') (descriptive_representationjtem.description = 'superstructure') (descriptive_representationjtem.description = 'horizontal girder') (descriptive_representationjtem.description = 'longitudinal girder') (descriptive_representationjtem.description = 'longitudinal bulkhead') (descriptive_representationjtem.description = 'transverse bulkhead')

244

ГОСТ Р ИСО 10303-216—2023

(descriptive_representationjtem.description = 'frame')

(descriptive_representationjtem.description = 'pressure hull')

(descriptive_representationjtem.description = 'non-structural bulkhead')

(descriptive_representationjtem.description = 'grating')

(descriptive representation item .description = 'user defined')}

5.1.14.4.3 user_def_function

Примечание — Атрибут унаследован из супертипа Functional_definition (см. 5.1.4.3).

Элемент ПИМ:

descriptive_representationjtem.description

Источник:

ИСО 10303-41

Правила:

5.2.4.121

Ссылочный путь:

/PROP_DEF_REP_HELP('moulded form function parameters')/ representation

representation.items [i] ->

representationjtem =>

{representationjtem.name = 'user def function'}

descriptive_representationjtem

descriptive_representationjtem.description

5.1.14.4.4 versionjd

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17) через супертип Functional_definition (см. 5.1.4.3), который наследуется от супертипа Definition (см. 5.1.4.1).

Элемент ПИМ:

identification_assignment.assigned Jd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION JD(property_definition)/

5.1.14.4.5 mouldedjormjunctional_definition для mouldedjorm (как definedjor)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Functional_ definition (см. 5.1.4.3).

Элемент ПИМ:

PATH

Ссылочный путь:

/PROP_TO_PROD_DEF/

{/CLASS_ID(product_definition, 'moulded form')/}

5.1.14.4.6 mouldedjormjunctional_definition для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Definition (см. 5.1.4.1) через супертип Functional_ definition (см. 5.1.4.3).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.89

Ссылочный путь:

р го perty_defi nition

identificationjtem = product_definition <-

pro pe rty_defi nition

applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.14.5 Прикладной элемент MOULDED_FORM_RELATIONSHIP

Элемент ПИМ:

product_definition_relationship

Источник:

ИСО 10303-41

Правила:

5.2.4.67

Ссылочный путь:

{[/CLASS(product_definition_relationship, 'moulded form relationship', 'item relationship')/]

245

ГОСТ Р ИСО 10303-216—2023

[/CLASS(product_definition_relationship, 'item relationship', 'definable object')/]

[/ROOT_CLASS(product_definition_relationship, 'definable object')/]

[/CLASS(product_definition_relationship, 'item relationship', 'versionable object')/] [/ROOT_CLASS(product_definition_relationship, 'versionable object')/]}

5.1.14.5.1 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17) через Item relationship (см. 5.1.8.4).

Элемент ПИМ: product_definition_relationship.description

Источник: ИСО 10303-41

5.1.14.5.2 versionjd

Примечание — Атрибут унаследован из супертипа ltem_relationship (см. 5.1.8.4).

Элемент ПИМ:

applied Jdentification_assignment.assigned Jd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSION JD(productdefinitionrelationship)/

5.1.14.5.3 moulded_form_relationship для externalJnstance_reference (как externalJtem_1 Примечание — Атрибут унаследован из супертипа ltem_relationship (см. 5.1.8.4).

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition_relationship

{product_definition_relationship. relating_product_definition ->

product_definition

[/CLASSJD(product_definition, 'moulded form')/]

[/EXT_INST_REF(product_definition, 'ship moulded form schema', 'moulded form')/]}

5.1.14.5.4 moulded_form_relationship для externaljnstance_reference (как externaljtem_2)

Примечание — Атрибут унаследован из супертипа ltem_relationship (см. 5.1.8.4).

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition_relationship

{product_definition_relationship. related_product_definition ->

product_definition

[/CLASSJD(product_definition, 'moulded form')/]

[/EXTJNST_REF(product_definition, 'ship moulded form schema', 'moulded form')/]}

5.1.14.5.5 moulded_form_relationship для globaljd (как id)

Примечание — Атрибут унаследован из супертипа ltem_relationship (см. 5.1.8.4).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.69

Ссылочный путь:

product_definition_relationship

identificationjtem = product_definition_relationship <-applied Jdentification_assignment.items[i]

applied Jdentification_assignment

5.1.14.5.6 moulded_form_relationship для moulded form (как item_1)

Примечание — Атрибут унаследован из супертипа ltem_relationship (см. 5.1.8.4).

Элемент ПИМ:

PATH

Правила:

5.2.4.68

Ссылочный путь:

product_definition_relationship

246

ГОСТ Р ИСО 10303-216—2023

product_definition_relationship.relating_product_definition -> product_definition

{/CLASS_ID(product_definition, 'moulded form')/}

5.1.14.5.7 moulded_form_relationship для moulded_form (как item_2)

Примечание — Атрибут унаследован из супертипа ltem_relationship (см. 5.1.8.4).

Элемент ПИМ:

PATH

Правила:

5.2.4.68

Ссылочный путь:

product_definition_relationship

product_definition_relationship.related_product_definition -> product_definition

{/CLASS_ID(product_definition, 'moulded form')/}

5.1.14.6 Прикладной элемент MOULDED_FORM_REPRESENTATION_ITEM

Элемент ПИМ:

#1: значением элемента moulded form representation item является ship_curve

#2: значением элемента moulded form representation item является ship_point

#3: значением элемента moulded form representation item является ship_surface

#1: /SUBTYPE(ship_curve)/ (cm. 5.1.2.1)

#2: /SUBTYPE(ship_point)/ (см. 5.1.2.3)

#3: /SUBTYPE(ship_surface)/ (см. 5.1.2.4)

5.1.14.7 Прикладной элемент MOULDED_FORM_REPRESENTATION_RELATIONSHIP

Элемент ПИМ:

representation_relationship

Источник:

ИСО 10303-43

Ссылочный путь:

/ROOT_CLASS(representation_relationship, 'moulded form representation relationship')/

5.1.14.7.1 description

Элемент ПИМ:

representation_relationship.description

Источник:

ИСО 10303-43

5.1.14.7.2 id

Элемент ПИМ:

representation_relationship.name

Источник:

ИСО 10303-43

5.1.14.7.3 moulded form representation relationship для moulded_form_representation (как rep_1

Элемент ПИМ:

PATH

Ссылочный путь:

representation_relationship

representation_relationship.rep_1 ->

representation =>

shape_representation

{CLASS_ID<shape_representation, 'moulded form shape representation^}

5.1.14.7.4 moulded_form_representation_relationship для moulded_form_representation (как rep_2)

Элемент ПИМ:

PATH

Ссылочный путь:

representation_relationship

representation_relationship.rep_2 ->

representation =>

shape_representation

{CLASS_ID<shape_representation, 'moulded form shape representation^}

5.1.14.8 Прикладной элемент MOULDED_FORM_SHAPE_REPRESENTATION

#1: Значением элемента Moulded_form_shape_representation является Offset_ta-ble_shape_representation

247

ГОСТ Р ИСО 10303-216—2023

#2: Значением элемента Moulded_form_shape_representation является Surface_ shape_representation

#3: Значением элемента Moulded_form_shape_representation является Wireframe_ shape_representation

Элемент ПИМ:

#1: /SUBTYPE(Offset_table_shape_representation)/ (см. 5.1.10.2)

#2: /SUBTYPE(Surface_shape_representation)/ (см. 5.1.15.2)

#3: /SUBTYPE(Wireframe_shape_representation)/ (см. 5.1.16.4)

5.1.14.8.1 moulded_form_representation_id

Элемент ПИМ:

representation.id

Источник:

ИСО 10303-43

Ссылочный путь:

/ID_ASSGN(representation)/

5.1.14.8.2 moulded_form_shape_representation для symmetry (как moulded_form_symmetry)

Элемент ПИМ:

PATH

Ссылочный путь:

shape_representation <= representation

representation.items[i] -> representationjtem => ({representationjtem.name = 'rotational axis'} geometric_representationjtem => placement =>

axis1_placement)

({representationjtem.name = 'symmetry plane'} geometric_representationjtem => surface =>

elementary_surface => plane)

5.1.14.9 Прикладной элемент PLANAR_SYMMETRY

Элемент ПИМ:

plane

Источник:

ИСО 10303-42

5.1.14.9.1 planar symmetry для plane (как thesymmetryplane)

Элемент ПИМ:

IDENTICAL MAPPING

5.1.14.10 Прикладной элемент ROTATIONAL_SYMMETRY

Элемент ПИМ:

axis1_placement

Источник:

ИСО 10303-42

5.1.14.10.1 rotational symmetry для axis1_placement (как the rotational axis)

Элемент ПИМ:

IDENTICAL MAPPING

5.1.14.11 Прикладной элемент SHIP MOULDED FORM

Элемент ПИМ:

[product_definition]

[group]

Источник:

ИСО 10303-41, ИСО 10303-41

Ссылочный путь:

{[/CLASS(product_definition, 'ship moulded form',' item structure')/] [/CLASS(product_definition,' item structure ', 'definable object')/] [/CLASS(product_definition, 'item structure', 'versionable object')/] [/CLASS(product_definition, 'ship moulded form', 'item')/] [/CLASS(product_definition, 'item','definable object')/] [/ROOT_CLASS(product_definition, 'definable object')/]

248

ГОСТ Р ИСО 10303-216—2023

[/ROOT_CLASS(product_definition, 'versionable object')/] [productdefinition

/LINK_TO_GROUP(product_definition)/]}

5.1.14.11.1 description

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ:

product_definition.description

Источник:

ИСО 10303-41

5.1.14.11.2 name

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ:

product_definition.name

Источник:

ИСО 10303-41

Ссылочный путь:

/NAME_ASSGN(product_definition)/

5.1.14.11.3 versionjd

Примечание — Атрибут унаследован из супертипа ltem_structure (см. 5.1.8.5).

Элемент ПИМ:

identification_assignment.assigned Jd

Источник:

ИСО 10303-41

Правила:

5.2.4.164

Ссылочный путь:

/VERSIONJD(group)/

5.1.14.11.4 ship_moulded_form для external_reference (как documentation) Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

#1: Если «как documentation» относится к External_reference

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition

product_definition = externaljdentificationjtem

externaljdentificationjtem <-

applied_externaljdentification_assignment.items[i] applied_externaljdentification_assignment

#2: Если «как documentation» относится к Document_reference_with_address

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition

/DOC_REF(product_definition,'documentation')/ document

{/CLASS_ID(document, 'document reference with address')/}

5.1.14.11.5 ship_moulded_form для externalJnstance_reference (как externalJtems) Примечание — Атрибут унаследован из супертипа ltem_structure (см. 5.1.8.5).

Элемент ПИМ:

PATH

Ссылочный путь:

group <-

/GROUPS(product_definition, 'item structure')/

([/CLASS_ID(product_definition, 'moulded form')/]

[/EXTJNST_REF(product_definition, 'ship moulded form schema','moulded form')/])

5.1.14.11.6 ship_moulded_form для externalJnstance_reference (как external_relationships) Примечание — Атрибут унаследован из супертипа ltem_structure (см. 5.1.8.5).

Элемент ПИМ:

PATH

249

ГОСТ Р ИСО 10303-216—2023

Ссылочный путь:

group <-

ZGROUPS(product definition relationship, 'item structure')/

([/CLASS_ID(product_definition_relationship, 'moulded form relationship')/]

[/EXT_INST_REF(product_definition_relationship, 'ship moulded form schema', 'moulded form relationship')/])

5.1.14.11.7 ship_moulded_form для globaljd (как id)

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3) или ltem_structure (см. 5.1.8.5).

Элемент ПИМ:

PATH

Правила:

5.2.4.45, 5.2.4.70

Ссылочный путь:

product_definition

identificationjtem = product_definition <-applied Jdentification_assignment.items[i] applied Jdentification_assignment

5.1.14.11.8 ship_moulded_form для moulded_form (как items)

Примечание — Атрибут унаследован из супертипа ltem_structure (см. 5.1.8.5).

Элемент ПИМ:

PATH

Правила:

5.2.4.153

Ссылочный путь:

group <-

/GROUPS(product_definition, 'item structure')/

{/CLASSJD(product_definition, 'moulded form')/}

5.1.14.11.9 ship_moulded_form для moulded_form_relationship (как relationships) Примечание — Атрибут унаследован из супертипа ltem_structure (см. 5.1.8.5).

Элемент ПИМ:

PATH

Правила:

5.2.4.153

Ссылочный путь:

group <-

/GROUPS(product_definition_relationship, 'item structure')/

{/CLASSJD(product_definition_relationship, 'moulded form relationship')/}

5.1.14.11.10 ship moulded form для ship (как ship context)

Примечание — Атрибут унаследован из супертипа Item (см. 5.1.8.3).

Элемент ПИМ:

PATH

Ссылочный путь:

product_definition

product_definition.formation-> product_definitionjormation

{product definition formation.id = 'ship moulded form'} product_definitionjormation.of_product ->

product

{/CLASS_ID(product, 'ship')/}

5.1.14.12 Прикладной элемент SHIP_MOULDED_FORM_REVISION

Элемент ПИМ:

group

Источник:

ИСО 10303-41

Ссылочный путь:

{[/CLASS(group,'ship moulded form revision', 'revision with context')/] [/CLASS(group, 'revision with context', 'revision')/]

[/CLASS(group, 'revision', 'versionable_object')/]

[/ROOT_CLASS(group, 'versionable_object')/]}

250

ГОСТ Р ИСО 10303-216—2023

5.1.14.12.1 description

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17) через супертип Revision (см. 5.1.3.14), который наследуется из супертипа Revision (см. 5.1.3.13).

Элемент ПИМ:

Источник:

Правила:

group.description

ИСО 10303-41

5.2.4.139

5.1.14.12.2 name

Примечание — Атрибут унаследован из супертипа Revision (см. 5.1.3.14), который наследуется из супертипа Revision (см. 5.1.3.13).

Элемент ПИМ: Источник:

group.name

ИСО 10303-41

5.1.14.12.3 version id

Примечание — Атрибут унаследован из супертипа Versionable_object (см. 5.1.9.17) через супертип Revision (см. 5.1.3.14), который наследуется из супертипа Revision (см. 5.1.3.13).

Элемент ПИМ:

Источник:

Правила:

Ссылочный путь:

identification_assignment.assigned_id

ИСО 10303-41

5.2.4.164

/VERSIONJD(group)/

5.1.14.12.4 ship_moulded_form_revision для ship_moulded_form (как context_of_revision) Примечание — Атрибут унаследован из супертипа Revision_with_context (см. 5.1.3.14).

Элемент ПИМ:

Правила:

Ссылочный путь:

PATH

5.2.4.133

group <-

Z(RELATE_GROUP_2_DO(product_definition, 'ship moulded form')/

5.1.14.12.5 ship_moulded_form_revision для moulded_form_design_definition (как members)

Примечание — Атрибут унаследован из супертипа Revision (см. 5.1.3.14), который наследуется из супертипа Revision (см. 5.1.3.13).

Элемент ПИМ:

Правила:

Ссылочный путь:

PATH

5.2.4.52

group <-

(/RELATE_GROUP_2_VO(product_definition_shape,'moulded form design definition')/)

(/RELATE_GROUP_2_VO(applied_external_identification_assignment,'external stance reference')/)

5.1.14.13 Прикладной элемент SYMMETRY

#1: если значением элемента symmetry является planar_symmetry

#2: если значением элемента symmetry является rotational_symmetry

Элемент ПИМ:

#1: /SUBTYPE(planar_symmetry)/ (см. 5.1.14.9)

#2: /SUBTYPE(rotational_symmetry)/ (см. 5.1.14.10)

5.1.15 Функциональная единица surface_representations

5.1.15.1 Прикладной элемент NON_MANIFOLD_SURFACE_SHAPE

in-

Элемент ПИМ:

Источник:

Правила:

non_manifold_surface_shape_representation

ИСО 10303-508

5.2.4.113

251

ГОСТ Р ИСО 10303-216—2023

5.1.15.2 Прикладной элемент SURFACE_SHAPE_REPRESENTATION

Элемент ПИМ:

non_manifold_surface_shape_representation

Источник:

ИСО 10303-508

Правила:

5.2.4.113

Ссылочный путь:

{[/CLASS(non_manifold_surface_shape_representation, 'surface shape representation','moulded form shape representation')/] [/ROOT_CLASS(non_manifold_surface_shape_representation,'moulded form shape representation')/]}

5.1.15.2.1 moulded_form_representation_id

Примечание — Атрибут унаследован из супертипа Moulded_form_shape_representation (см. 5.1.14.8)

Элемент ПИМ:

/SUPERTYPE(Moulded_form_shape_representation)/ (см. 5.1.14.8.1)

5.1.15.2.2 surface_shape_representation для face_based_surface_model (как items)

Элемент ПИМ:

PATH

Ссылочный путь:

non_manifold_surface_shape_representation <= shape_representation <=

representation

representation items[i] ->

face based surface model

5.1.15.2.3 surface_shape_representation для symmetry (как moulded_form_symmetry)

Примечание — Атрибут унаследован из супертипа Moulded_form_shape_representation (см. 5.1.14.8).

Элемент ПИМ:

/SUPERTYPE(Moulded_form_shape_representation)/ (см. 5.1.14.8.2)

5.1.15.3 SURFACE_WITH_IDENTIFIER

элемент AIM:

surface

Источник:

ИСО 10303-508

Ссылочный путь:

/ROOT_CLASS(surface,'surface with identifier')/

5.1.15.3.1 surface with identifier для globaljd (как id)

Элемент AIM:

PATH

Правила:

5.2.4.45, 5.2.4.149

Ссылочный путь:

surface

identificationjtem = surface <-

applied Jdentification_assignment.items[i]

applied Jdentification_assignment

5.1.16 Функциональная единица wireframe_representations

5.1.16.1 Прикладной элемент DGE_BASED_WIREFRAME_SHAPE

Элемент ПИМ:

edge_based_wireframe_shape_representation

Источник:

ИСО 10303-501

Правила:

5.2.4.113

5.1.16.2 Прикладной элемент KNOT

Элемент ПИМ:

[vertex_point]

[compound_representationjtem]

Источник:

ИСО 10303-42, ИСО 10303-42

Ссылочный путь:

{[/ROOT_CLASS(vertex_point, 'knot')/]

[/ROOT_CLASS(compound_representationJtem, 'knot')/]}

5.1.16.2.1 knot для ship_curve (как intersecting_ship_curves)

Элемент ПИМ:

PATH

Правила:

5.2.4.32

252

ГОСТ Р ИСО 10303-216—2023

Ссылочный путь:

/COMPOUND('intersecting ship curve')/ compound_representationjtem

{/CLASS_ID(compound_representationJtem, 'ship curve')/}

5.1.16.2.2 knot для vector (как tangentjnformation)

Элемент ПИМ:

PATH

Ссылочный путь:

/COMPOUND('tangent vector')/ geometric_representationjtem => vector

5.1.16.3 Прикладной элемент SHIP_CURVE_SEGMENT

Элемент ПИМ:

[edge_curve]

[compound_representationjtem]

Источник:

ИСО 10303-42, ИСО 10303-42

Ссылочный путь:

{[/ROOT_CLASS(edge_curve, 'ship curve segment')/]

[/ROOT_CLASS(compound_representationJtem, 'ship curve segment')/]}

5.1.16.3.1 ship curve segment для ship_curve (как part_of_ship_curve)

Элемент ПИМ:

PATH

Правила:

5.2.4.136

Ссылочный путь:

/COMPOUND('ship curve segment')/

compound_representationjtem

{/CLASS_ID(compound_representation item, 'ship curve')/}

5.1.16.4 Прикладной элемент WIREFRAME_SHAPE_REPRESENTATION

Элемент ПИМ:

shape_representation

Источник:

ИСО 10303-41

Правила:

5.2.4.113

Ссылочный путь:

{[/CLASS(shape_representation,'wireframe shape representation','moulded form shape representation')/]

[/ROOT_CLASS(shape_representation,'moulded form shape representation')/]}

5.1.16.4.1 moulded_form_representation id

Примечание — Атрибут унаследован из супертипа Moulded Jorm_shape_representation (см. 5.1.14.8).

Элемент ПИМ: /SUPERTYPE(Moulded_form_shape_representation)/ (см. 5.1.14.8.1)

5.1.16.4.2 wireframe_shape_representation для ship_curve (как items)

Элемент ПИМ:

PATH

Ссылочный путь:

shape_representation <=

representation

representation.items[i] ->

representationjtem =>

compound_representationjtem

{/CLASS_ID(compound_representationJtem, 'ship curve')/}

5.1.16.4.3 wireframe_shape_representation для symmetry (как moulded_form_symmetry) Примечание — Атрибут унаследован из супертипа Mouldedjorm_shape_representation (см. 5.1.14.8).

Элемент ПИМ: /SUPERTYPE(Moulded form shape representation)/ (см. 5.1.14.8.2)

5.2 Сокращенный EXPRESS-листинг прикладной интерпретированной модели

В данном разделе определена EXPRESS-схема, использующая элементы из интегрированных ресурсов и AIC1) и содержащая типы, специализированные объекты, правила и функции, относящиеся

1 > Прикладные интерпретированные конструктивы.

253

ГОСТ Р ИСО 10303-216—2023

к настоящему стандарту. В данном разделе также определены модификации текстового материала для конструктивов, импортируемых из других интегрированных ресурсов и AIC. Определения и фрагменты языка EXPRESS, представленные в интегрированных ресурсах для конструктивов, используемых в ПИМ, могут включать в себя элементы списка выбора и подтипы, не импортируемые в ПИМ. Требования, установленные в интегрированных ресурсах, относящиеся к элементам списка выбора и подтипам, применяются исключительно к тем элементам, которые импортируются в ПИМ.

*)

SCHEMA ship_moulded_form_SCHEMA;

USE FROM aic_non_manifold_surface

-ИСО 10303-508

(non_manifold_surface_shape_representation);

USE FROM aic_edge_based_wireframe (edge_based_wireframe_shape_representation);

- ИСО 10303-501

USE FROM aic_topologically_bounded_surface (advanced_face);

- ИСО 10303-511

USE FROM action_schema

-ИСО 10303-41

(action, action_method, action_relationship, action_request_solution, executed_action, versioned_action_request); USE FROM approval_schema (approval, approval_date_time, approval_person_organization);

- ИСО 10303-41

USE FROM application_context_schema (application_context, application_protocol_definition);

- ИСО 10303-41

USE FROM basic_attribute_schema

- ИСО 10303-41

(object_role);

USE FROM date_time_schema

- ИСО 10303-41

(calendar_date, date_and_time, date_time_role, ordinal_date, week_of_year_and_day_date);

USE FROM document_schema

-ИСО 10303-41

(document, document_representation_type, document_usage_constraint);

USE FROM external_reference_schema

- ИСО 10303-41

(external_source, external_source_relationship, exte rn a 11 y_d efined_item);

USE FROM effectivity_schema (effectivity, serial_numbered_effectivity);

— ИСО 10303-41

254

ГОСТ Р ИСО 10303-216—2023

REFERENCE FROM geometry_schema (dummy_gri);

USE FROM geometric_model_schema (faceted_brep, geometric_curve_set);

USE FROM geometry_schema (axis1_placement, axis2_placement_2d, axis2_placement_3d, b_spline_curve, bsplinesurface, b_spline_curve_with_knots, bsplinesurfacewithknots, bezier_curve, bezier_surface, bounded_curve, bounded_pcurve, bounded_surface_curve, cartesian_point, circle, composite_curve_on_surface, conical_surface, curve, cylindrical_surface, degenerate_pcurve, degenerate_toroidal_surface, direction, elementary_surface, ellipse, evaluated_degenerate_pcurve, geometric_representation_item, geometric_representation_context, hyperbola, intersection_curve, line, orientedsurface, parabola, plane, point_on_curve, point_on_surface, quasi_uniform_curve, quasi_uniform_surface, rational_b_spline_curve, rational_b_spline_surface, seam_curve, spherical_surface, s u rfa ce_of_l i n ea r_extr u s i о n, surface_of_revolution, toroidal_surface, uniform_curve, uniform_surface, vector);

USE FROM group_schema (group, grouprelationship);

- ИСО 10303-42

- ИСО 10303-42

-ИСО 10303-41

255

ГОСТ Р ИСО 10303-216—2023

USE FROM management_resources_schema (actionrequestassignment, action_assignment, approval_assignment, classification_assignment, classification_role, date_and_time_assignment, document_reference, effectivityassignment, external_identification_assignment, group_assignment, identificationassignment, identification_role, identification_assignment_relationship, organization_assignment, person_assignment, person_and_organization_assignment);

USE FROM material_property_definition_schema (property_definition_relationship);

USE FROM measure_schema (amount_of_substance_measure, amount_of_substance_unit, areameasure, celsius_temperature_measure, conversion_based_unit, context_dependent_measure, context_dependent_unit, count_measure, derived_unit, electric_current_measure, electric_current_unit, global_unit_assigned_context, length_measure, length_measure_with_unit, length_unit, luminous_intensity_measure, luminous_intensity_unit, mass_measure, mass_measure_with_unit, mass_unit, measure_with_unit, named_unit, plane_angle_measure, plane_angle_measure_with_unit, plane_angle_unit, positive_length_measure, positive_plane_angle_measure, ratio_measure, ratio_unit, si_unit, solid_angle_measure, solid_angle_measure_with_unit, solid_angle_unit, thermodynamic_temperature_measure,

— ИСО 10303-41

— ИСО 10303-41

-ИСО 10303-41

256

ГОСТ Р ИСО 10303-216—2023

thermodynamictemperatureunit, time_measure, time_unit, volume_measure);

USE FROM person_organization_schema (address, person, personandorganization, person_and_organization_role, personal_address, organization, organizational_address, organizational_project);

USE FROM product_definition_schema (product, product_category_relationship, product_definition, product_definition_relationship, product_related_product_category);

USE FROM product_property_definition_schema (characterized_definition, characterized_object, product_definition_shape, property_definition, shape_aspect);

USE FROM product_property_representation_schema (property_definition_representation, shape_definition_representation, shape_representation);

USE FROM qualified_measure_schema (descriptive_representation_item);

USE FROM representation schema (compound_representation_item, global_uncertainty_assigned_context, i te m_d efi n e d_t ra n sf о rm ati о n, list_representation_item, mappedjtem, parametric_representation_context, representation, representationJtem, representation_map, representation_relationship, set_representationjtem, value representation item);

REFERENCE FROM support_resource_schema (bag_to_set);

REFERENCE FROM topology_schema (dummyJri);

- ИСО 10303-41

- ИСО 10303-41

- ИСО 10303-41

- ИСО 10303-41

- ИСО 10303-41

— ИСО 10303-43

- ИСО 10303-41

- ИСО 10303-42

257

ГОСТ Р ИСО 10303-216—2023

USE FROM topology_schema -- ИСО 10303-42

(edge, edgecurve, edgejoop, face, facesurface, oriented_edge, orientedface, polyJoop, subface, vertex_point);

Примечание — Указанные выше схемы приведены в следующих частях ИСО 10303:

aic_non_manifold_surface aicjopological_bounded_surface aic_edge_based_wireframe action_schema approval_schema basic_attribute_schema datejime_schema document_schema external_reference_schema geometry_schema group_schema management_resources_schema material_property_definition_schema measure_schema person_organization_schema product_definition_schema product_property_definition_schema product_property_representation_schema qualified_measure_schema representation_schema support_resource_schema topology_schema

ИСО 10303-508

ИСО 10303-511

ИСО 10303-501

ИСО 10303-41

ИСО 10303-41

ИСО 10303-41

ИСО 10303-41

ИСО 10303-41

ИСО 10303-41

ИСО 10303-42

ИСО 10303-41

ИСО 10303-41

ИСО 10303-41

ИСО 10303-41

ИСО 10303-41

ИСО 10303-41

ИСО 10303-41

ИСО 10303-41

ИСО 10303-45

ИСО 10303-43

ИСО 10303-41

ИСО 10303-42

5.2.1 Фундаментальные понятия и допущения

5.2.2 Типы теоретических обводов судна

5.2.2.1 Тип action item

Тип action item определяет объекты product, product_definition, property_definition, product definition_relationship, product_definition_shape, product_related_product_category, action request_ solution и executed_action, которым может быть присвоен объект action.

EXPRESS-спецификация:

*)

TYPE action_item = SELECT

(product,

product_definition,

property_definition,

product_definition_relationship,

product_de f in i t i on_shape,

product_related_product_category,

action_request_solution, executed_action) ;

END_TYPE;

(*

258

ГОСТ Р ИСО 10303-216—2023

5.2.2.2 Тип action_request_item

Тип action_request_item определяет объекты action и executed_action, которым может быть присвоен объект action_request.

*)

TYPE action_request_item = SELECT

(action,

executed_action);

END_TYPE;

(*

5.2.2.3 Тип approvaljtem

Тип approvaljtem определяет объекты product_definition, product_definition_shape, property_ definition и product_related_product_category, которым может быть присвоен объект approval.

EXPRESS-спецификация:

*)

TYPE approval_item = SELECT

(product_definition,

product_definition_shape,

property_definition,

product_related_product_category);

END_TYPE;

(*

5.2.2.4 Тип classificationjtem

Тип classificationjtem идентифицирует action, action_request_solution, applied_action_re-quest_assignment, approval, axis2_placement_3d, compound_representationjtem, external_source, document, document_reference, edge_curve, executed_action, group, identification_assignment_re-lationship, measure_with_unit, product, product_definition, product_definition_relationship, product_ definition_shape, product_related_product_category, property_definition, property _definition_repre-sentation, representation, representationjtem, representation_relationship, shape_representation, surface, vertex_point и versioned_action_request, для которых может быть назначена классификация.

EXPRESS-спецификация:

*)

TYPE classification item = SELECT

(action,

action_request_solution,

applied_action_request_assignment, approval,

axis2_p1acement_3d,

compound_representation_item, document,

document_reference,

edge_curve,

executed_action, external_source, group,

ident i f i cat i on_a s s ignmen t_re1at i onship, measure_with_unit, product, product_definition, product_definition_relationship, product_definition_shape,

product_related_product_category,

property_definition,

property_definition_representation, representation, representation_itern, representation_relationship,

259

ГОСТ Р ИСО 10303-216—2023

shape_reprе sentation, surface, vertex_point, versioned_action_request);

END_TYPE;

(*

5.2.2.5 Тип date_and_time_item

Объект date_and_time_item определяет объекты action, action_request_solution, product_ definition, executed_action и versioned_action_request, которым может быть присвоена дата.

EXPRESS-спецификация:

*)

TYPE date_and_time_item = SELECT (action_request_solution, executed_action, versioned_action_request, product_definition, action);

END_TYPE;

(* ’

5.2.2.6 Тип document_reference_item

Тип document reference item определяет объекты action, product, property definition или product_definition, которым может присваиваться объект document.

EXPRESS-спецификация:

*)

TYPE document_reference_item = SELECT (action, product, property_definition, product_definition);

END_TYPE;

(*

5.2.2.7 Тип effectivityjtem

Тип effectivityjtem определяет объекты product_definition, property_definition, product defi-nition_shape и product_related_product_category, которым может присваиваться объект effectivity.

EXPRESS-спецификация:

*)

TYPE effectivity_item = SELECT (product_definition, propsrty_definition, product_definition_shape, product_related_product_category);

END_TYPE;

(*

5.2.2.8 Тип externaljdentificationjtem

Тип externaljdentificationjtem определяет объекты action, document, product, productdefi-nition, product_definition_relationship и property_definition, которым может присваиваться объект externalJdentification.

EXPRESS-спецификация:

*)

TYPE external_identification_item = SELECT (action, document, product, product_definition, product_definition_relationship, property_definition) ;

END_TYPE;

(*

260

ГОСТ Р ИСО 10303-216—2023

5.2.2.9 Тип groupjtem

Тип groupjtem определяет объекты approval, identificationassignmentrelationship, prod-uct_definition, productdefinitionrelationship и shape_aspect, которым может присваиваться объект group.

EXPRESS-спецификация:

*)

TYPE group_item = SELECT (approval, identification_assignment_relationship, product_definition, product_definition_relationship);

END_TYPE;

(*

5.2.2.10 Тип identificationjtem

Тип identificationjtem идентифицирует action, action_request_solution, executedaction, property_definition, product_definition_shape, group, product, product_definition, productdefini-tion_relationship, product_related_product_category, compound_representationjtem, versioned_ action_request, surface и document, которым может быть назначена идентификация.

EXPRESS-спецификация:

*)

TYPE identification_item = SELECT

(action,

action_request_solution,

compound_representation_item,

document,

executed_action, group, product, product_definition, product_definition_relationship, product_de f i n i t i on_shape, product_related_product_category, property_definition, surface, versioned_action_request) ;

END_TYPE;

(*

5.2.2.11 Тип organizationjtem

Тип organizationjtem определяет объекты document, product_definition, property_definition, которым может определяться объект organization.

EXPRESS-спецификация:

*)

TYPE organization_item = SELECT (document, product_definition, property_definition);

END_TYPE;

(*

5.2.2.12 Тип person item

Тип personJtem определяет объект document, для которого может определяться объект person.

EXPRESS-спецификация:

*)

TYPE person_item = SELECT (document);

END_TYPE;

(* ’

261

ГОСТ Р ИСО 10303-216—2023

5.2.2.13 Тип person and organization item

Тип person_and_organization_item задает объект person_and_organization для объектов action, action_request_solution, executed_action, document и versioned_action_request, для которого может быть идентифицирован объект person_and_organization.

EXPRESS-спецификация:

*)

TYPE person_and_organization_item = SELECT

(action_request_solution,

document,

executed_action,

versioned_action_request,

action);

END_TYPE;

(* ’

5.2.3 Объекты теоретических обводов судна

5.2.3.1 Определения объектов теоретических обводов судна

5.2.3.1.1 Объект applied_action_assignment

Объект applied_action_assignment задает те объекты action_items, которым присваивается объект action_assignment.

EXPRESS-спецификация:

*)

ENTITY applied_action_assignment

SUBTYPE OF (action_assignment);

items : SET [1:?] OF action_item;

END_ENTITY;

(* ’

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

items: набор объектов action_item, к которым применяется конкретный объект action_assignment.

5.2.3.1.2 Объект applied_action_request_assignment

Объект applied_action_request_assignment задает те объекты action_request_items, которым присваивается привязанный объект action_request_assignment.

EXPRESS-спецификация:

*)

ENTITY applied_action_request_assignment

SUBTYPE OF (асtion_request_assignment);

items : SET [1:?] OF action_request_item;

END_ENTITY;

(*

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

items: набор объектов action_request_item, для которых применяется конкретный объект action_ request_assignment.

Соответствующие глобальные правила:

Для объекта applied_action_request_ assignment применяется следующее глобальное правило, определенное в настоящем стандарте:

- change_impact_with_versionable_object_change_event (см. 5.2.4.26).

5.2.3.1.3 Объект applied_approval_assignment

Объект applied_approval_assignment задает те объекты approval_items, которым присваивается объект approval_assignment.

EXPRESS-спецификация:

*)

ENTITY applied_apprоval_assignment

SUBTYPE OF (appгоval_assignment);

items : SET [1:?] OF approval_item;

WHERE

wrl: NOT((SELF\approval_assignment.role.name = 'proposed alternative')) OR (SIZEOF(QUERY( app <*

262

ГОСТ Р ИСО 10303-216—2023

USEDIN (SELF\approval_assignment.assigned_approval,

'SHIP_MOULDED_FORM_SCHEMA.APPROVAL_ASSIGNMENT.ASSIGNED_APPROVAL') |

('SHIP_MOULDED_FORM_SCHEMA.APPLIED_APPROVAL_ASSIGNMENT'

IN TYPEOF (app)) AND

(app\approval_assignment.role.name='subj ect')))=!);

END_ENTITY; (* ’

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

items: набор объектов approvaljtem, к которым применяется конкретный объект approval_ assignment.

Формальное высказывание:

WR1: Каждый объект applied_approval_assignment с атрибутом role, определяющим объект object_role со значением атрибута name, равным 'proposed alternative', должен указывать объект approval через атрибут assigned_approval. Этот объект approval должен быть указан другим объектом applied_approval_assignment через атрибут assigned approval с атрибутом role, определяющим объект object_role со значением атрибута name, равным 'subject'.

Соответствующие глобальные правила:

Для объекта applied_approval_assignment применяется следующее глобальное правило, определенное в настоящем стандарте:

- approval_history_approves_same_definition (см. 5.2.4.9).

5.2.3.1.4 Объект applied_classification_assignment

Объект applied_classification_assignment задает те объекты classification Jtems, которым присваивается привязанный объект classification_assignment.

EXPRESS-спецификация:

ENTITY applied_classification_assignment SUBTYPE OF (classification_assignment); items : SET [1:?] OF classification_item;

END_ENTITY; (*

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

items: набор объектов classificationjtem, к которым применяется конкретный объект classificationassignment.

Соответствующие глобальные правила:

Для объекта applied_classification_assignment применяются следующие глобальные правила, определенные в настоящем стандарте:

- action_request_solution_withjdentification_assignment (см. 5.2.4.2);

- action_withjdentification_assignment (см. 5.2.4.3);

- centrejocation_compound_representation_has_specified_name (см. 5.2.4.25);

- class_and_statutory_designation_has_properties (см. 5.2.4.28);

- class_parameters_has_properties (см. 5.2.4.30);

- compound_representationjtem_with_classjd_knot (см. 5.2.4.32);

- compound_representationjtem_with_sectionjdentifier (см. 5.2.4.33);

- compound_representationjtem_with_hydrostatic_properties (см. 5.2.4.31);

- floating_position_compound_representation_with_name (см. 5.2.4.43);

- global_axis_placement_has_properties (см. 5.2.4.44);

- globaljdjs_unique (см. 5.2.4.45);

- hull_mouldedjorm_design_parameter_with_class_references (см. 5.2.4.46);

- hydrostatic_properties_with_specified_class (см. 5.2.4.47);

- hydrostatic_property_with_specified_name (см. 5.2.4.48);

- offset_pointjable_model_compound_representation_has_name (см. 5.2.4.54);

- principal_characteristics_has_properties (см. 5.2.4.55);

- product_definitionjor_regulation (см. 5.2.4.64);

- product_definitionjor_class_notation (см. 5.2.4.57);

- product_definitionjor_owning_company (см. 5.2.4.62);

- product_definition_relationship_withjdentification_assignment (см. 5.2.4.69);

263

ГОСТ Р ИСО 10303-216—2023

- product definition shape withJdentification assignment (см. 5.2.4.70);

- product_definition_for_call_sign (см. 5.2.4.56);

- product_definition_for_flag_state (см. 5.2.4.58);

- product defmition_for_port_of_registration (см. 5.2.4.63);

- product_definition_for_shipyard (см. 5.2.4.65);

- product_definition_for_managing_company (см. 5.2.4.60);

- product_definition_for_ordering_company (см. 5.2.4.61);

- product_definition_for_stability_definition (см. 5.2.4.66);

- product_definition_for_hydrostatic_definition_requires_reference (см. 5.2.4.59);

- product_definition_with_identification_assignment (см. 5.2.4.71);

- product_definition_relationship_related_to_class_moulded_form (см. 5.2.4.68);

- product_related_product_category_with identification assignment (см. 5.2.4.72);

- product_with_identification_assignment (см. 5.2.4.73);

- propeller_moulded_form_design_parameter_with_class_references (см. 5.2.4.74);

- property_definition_for_class_notation (см. 5.2.4.78);

- property_definition_for_rudder_moulded_form_design_parameter (см. 5.2.4.86);

- property_definition_for_moulded_form_function_parameters (см. 5.2.4.84);

- property_definition_for_local_coordinate_system_with_position (см. 5.2.4.83);

- property_definition_for_class_society (см. 5.2.4.79);

- property_definition_for_thruster_moulded_form_design_parameter (см. 5.2.4.87);

- property_definition_with_identification_assignment (см. 5.2.4.89);

- property_definition_for_deck_moulded_form_design_parameter (см. 5.2.4.80);

- property_definition_for_thruster_propeUer_parameter (см. 5.2.4.88);

- property_definition_for_appendage_moulded_form_design_parameter (см. 5.2.4.75);

- property_definition_for_bottom_moulded_form_design_parameter (см. 5.2.4.76);

- property_definition_for_bulb_moulded_form_design_parameter (см. 5.2.4.77);

- property_definition_for_local_coordinate_system (см. 5.2.4.82);

- property_definition_of_propeller_moulded_form_design_parameter (см. 5.2.4.85);

- property_definition_for_hull_moulded_form_design_parameter (см. 5.2.4.81);

- representation_for_stability_table_restricted_by_class_id (см. 5.2.4.111);

- representation_for_offset_point_table_model_for_section (см. 5.2.4.105);

- representation_for_hydrostatic_table_restricted (см. 5.2.4.98);

- representation_for_midship_tumble_restricted_by_class_id (см. 5.2.4.102);

- representation_for_hydrostatic_table_restricted_by_class_id (см. 5.2.4.99);

- representation_for_propeller_location_restricted_by_class_id (см. 5.2.4.107);

- representation_for_offset_table_shape_representation_restricted (см. 5.2.4.106);

- representation_for_hydrostatic_table_constrained (см. 5.2.4.97);

- representation_for_stability_table_restricted (см. 5.2.4.110);

- representation_item_for_transformation_to_parent (см. 5.2.4.125);

- ship_curve_has_name (см. 5.2.4.135);

- ship_curve_segment_has_class (см. 5.2.4.136);

- ship_curve_with_spacing_position_has_class (см. 5.2.4.137);

- ship_designation_has_one_specified_names (см. 5.2.4.138);

- ship_overall_dimensions_has_properties (см. 5.2.4.140);

- ship_point_compound_representation_has_name (см. 5.2.4.141);

- ship_surface_compound_representation_has_name (см. 5.2.4.142);

- spacing_position_compound_representation_has_name (см. 5.2.4.143);

- spacing_position_with_offset_compound_representation_has_class (см. 5.2.4.144);

- spacing_position_with_offset_compound_representation_has_name (см. 5.2.4.145);

- stability_properties_for_floating_position_has_name (см. 5.2.4.147);

- stability_properties_for_floating_position_has_class (см. 5.2.4.146);

- stability_property_has_name (см. 5.2.4.148);

- valid_product_definition_for_class_moulded_form (см. 5.2.4.153);

- versioned_action_request_with_identification_assignment (см. 5.2.4.165).

5.2.3.1.5 Объект applied_date_and_time_assignment

Объект applied_date_and_time_assignment задает те объекты date_and_time_items, которым присваивается указанный объект date_and_time_assignment.

264

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

ENTITY applied_date_and_time_assignment

SUBTYPE OF (date_and_time_assignment);

items : SET [1:?] OF date_and_time_item;

END_ENTITY;

(*

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

items: набор объектов date_and_time_item, для которых применяется конкретный объект date_ and_time_assignment.

Соответствующие глобальные правила:

Для объекта applied_date_and_time_assignment применяются следующие глобальные правила, определенные в настоящем стандарте:

- caused_when_for_check (см. 5.2.4.20);

- caused_when_for_version_creation (см. 5.2.4.22);

- caused_when_for_version_deletion (см. 5.2.4.24);

- caused_when_for_version_modification (см. 5.2.4.23);

- caused_when_for_envisaged_version_creation (см. 5.2.4.21);

- date_time_for_change_plan (см. 5.2.4.34);

- date_time_for_change_realisation (см. 5.2.4.36);

- date_time_for_change_request (см. 5.2.4.35).

5.2.3.1.6 Объект applied_document_reference

Объект applied_document_reference задает те объекты document_reference_items, которым присваивается привязанный объект document_reference.

EXPRESS-спецификация:

*)

ENTITY applied_document_reference

SUBTYPE OF (document_reference);

items : SET [1:?] OF document_reference_item;

END_ENTITY;

(*

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

items: набор объектов document_reference_item, для которых применяется конкретный объект document_reference.

5.2.3.1.7 Объект applied_effectivity_assignment

Объект applied_effectivity_assignment задает те объекты effectivity_items, которым присваивается привязанный объект effectivity_assignment.

EXPRESS-спецификация:

*)

ENTITY applied_effeetivity_assignment

SUBTYPE OF (effectivity_assignment);

items : SET [1:?] OF effectivity_item;

END_ENTITY;

(*

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

items: набор объектов effectivity_item, для которых применяется конкретный объект effectivity_ assignment.

5.2.3.1.8 Объект applied_external_identification_assignment

Объект applied_external_identification_assignment задает те объекты external_identification_ items, которым присваивается привязанный объект external_identification_assignment.

EXPRESS-спецификация:

*)

ENTITY applied_external_identification_assignment

SUBTYPE OF (external_identification_assignment);

items : SET [1:?] OF external_identification_item;

END_ENTITY;

(*

265

ГОСТ Р ИСО 10303-216—2023

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

items: набор объектов externaljdentificationjtem, для которых применяется конкретный объект external_identification_assignment.

Соответствующие глобальные правила:

Для объекта applied_externaljdentification_assignment применяется следующее глобальное правило, определенное в настоящем стандарте:

- document_reference_with_address_has_at least_one_references (см. 5.2.4.39).

5.2.3.1.9 Объект applied_group_assignment

Объект applied_group_assignment задает те объекты groupitems, которым присваивается привязанный объект group_assignment.

EXPRESS-спецификация:

*)

ENTITY applied_group_assignment

SUBTYPE OF (group_assignment);

items : SET [1:?] OF group_item;

END_ENTITY;

(*

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

items: набор объектов groupjtem, для которых применяется конкретный объект group_ assignment.

Соответствующие глобальные правила:

Для объекта appliedgroupassignment применяются следующие глобальные правила, определенные в настоящем стандарте:

- approval_history_approves_same_definition (см. 5.2.4.9);

- approval_history_has_atjeast_one_member (см. 5.2.4.10);

- approvals_references_approval_history (см. 5.2.4.11);

- changejmpact_with_versionable_object_change_event (см. 5.2.4.26);

- members_is_referenced_by_at_least_one_revision (см. 5.2.4.52);

- revision_with_context_referencedjor_context_of_revision (см. 5.2.4.134);

- version_history_referenced_by_multiple_roles (см. 5.2.4.159);

- version_history_is_referenced_by_at_least_one_versions (см. 5.2.4.157);

- unique_approvalsjn_approval_history (см. 5.2.4.150);

- version_history_referenced_by_exactly_one_current_version (см. 5.2.4.158);

- version_history_has_exactly_one_assigned_group (см. 5.2.4.156);

- versionsjs_referenced_by_atjeast_one_version_history (см. 5.2.4.166).

5.2.3.1.10 Объект appliedJdentification_assignment

Объект appliedjdentification_assignment задает те объекты identificationjtems, которым присваивается привязанный объект identification_assignment.

EXPRESS-спецификация:

*)

ENTITY applied_identification_assignment

SUBTYPE OF (identification_assignment);

items : SET [1:?] OF identification_item;

END_ENTITY;

(*

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

items: набор объектов identificationjtem, для которых применяется конкретный объект identificationassignment.

Соответствующие глобальные правила:

Для объекта appliedjdentification assignment применяются следующие глобальные правила, определенные в настоящем стандарте:

- compound_representationjtem_with_sectionjdentifier (см. 5.2.4.33);

- globaljdjs_unique (см. 5.2.4.45);

- product_definitionjor_port_of_registration (см. 5.2.4.63);

- product_definitionjor_call_sign (см. 5.2.4.56);

- product_definitionjorjlag_state (см. 5.2.4.58);

- representationJor_offset_pointJable_modelJor_point (см. 5.2.4.104);

266

ГОСТ Р ИСО 10303-216—2023

- ship_designation_has_one_specified_names (см. 5.2.4.138);

- version_relationship_associates_with_versionable_object (см. 5.2.4.161);

- versionable object has one version id (см. 5.2.4.164).

5.2.3.1.11 Объект applied_organization_assignment

Объект applied_organization_assignment задает те объекты organization_items, которым присваивается привязанный объект organization_assignment.

EXPRESS-спецификация:

*)

ENTITY applied_organization_assignment

SUBTYPE OF (organization_assignment);

items : SET [1:?] OF оrganization_item;

END_ENTITY;

(* ’

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

items: набор объектов organization_item, для которых применяется конкретный объект organization_assignment.

Соответствующие глобальные правила:

Для объекта applied_organization_assignment применяются следующие глобальные правила, определенные в настоящем стандарте:

- property_definition_for_class_society (см. 5.2.4.79);

- product_definition_for_managing_company (см. 5.2.4.60);

- product_definition_for_ordering_company (см. 5.2.4.61);

- product_definition_for_owning_company (см. 5.2.4.62);

- product_definition_for_shipyard (см. 5.2.4.65).

5.2.3.1.12 Объект applied_person_assignment

Объект applied_person_assignment задает те объекты personitems, которым присваивается привязанный объект person_assignment.

EXPRESS-спецификация:

*) ;

ENTITY applied_person_assignment

SUBTYPE OF (person_ass ignment);

items : SET [1:?] OF person_item;

END_ENTITY;

(*

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

items: набор объектов person_item, для которых применяется конкретный объект person_ assignment.

Соответствующие глобальные правила:

Для объекта applied_organization_assignment применяются следующие глобальные правила, определенные в настоящем стандарте:

- document_has_exactly_one_author (см. 5.2.4.38).

5.2.3.1.13 Объект applied_person_and_organization_assignment

Объект applied_person_and_organization_assignment задает те объекты person_and_ organization items, которым присваивается объект person_and_organization_assignment.

EXPRESS-спецификация:

*)

ENTITY applied_person_and_organization_assignment

SUBTYPE OF (person_and_organization_assignment);

items : SET [1:?] OF person_and_organization_item;

END_ENTITY;

(*

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

items: набор объектов person_and_organization_item, для которых применяется конкретный объект person_and_organization_assignment.

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

items: набор объектов person_item, для которых применяется конкретный объект person_ assignment.

267

ГОСТ Р ИСО 10303-216—2023

Соответствующие глобальные правила:

Для объекта applied_organization_assignment применяются следующие глобальные правила, определенные в настоящем стандарте:

- author for change plan (см. 5.2.4.12);

- author_for_change_realisation (см. 5.2.4.13);

- author_for_change_request (см. 5.2.4.14);

- caused_by_for_check (см. 5.2.4.15);

- caused_by_for_envisaged_version_creation (см. 5.2.4.16);

- caused_by_for_version_creation (см. 5.2.4.17);

- caused_by_for_version_deletion (см. 5.2.4.18);

- caused_by_for_version_modification (см. 5.2.4.19);

- initiator_for_change_request (см. 5.2.4.50).

5.2.3.1.14 Объект class

Объект class является типом объекта group, который задает тип присвоения классификации.

EXPRESS-спецификация:

*)

ENTITY class

SUBTYPE OF (group) ;

WHERE

WRI: (SIZEOF (QUERY ( oa <* USEDIN(SELF,

'SHIP_MOULDED_FORM_SCHEMA.GROUP_ASSIGNMENT.ASSIGNED_GROUP')| NOT ('SHIP_MOULDED_FORM_SCHEMA.APPLIED_GROUP_ASSIGNMENT' IN TYPEOF(oa)) )) =0);

END_ENTITY;

(*

Формальное высказывание:

WR1: Каждый объект class не должен привязываться каким-либо объектом applied_group_ assignment через атрибут assigned_group.

5.2.3.2 Модификация (изменение) объектов, импортированных в теоретические обводы судна

5.2.3.2.1 Изменение объекта action

Основное описание объекта action дано в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта action применяются следующие глобальные правила, определенные в настоящем стандарте:

- action_request_solution_connected_to_action (см. 5.2.4.1);

- caused_by_for_check (см. 5.2.4.15);

- caused_by_for_envisaged_version_creation (см. 5.2.4.16);

- caused_by_for_version_creation (см. 5.2.4.17);

- caused_by_for_version_modification (см. 5.2.4.19);

- caused_by_for_version_deletion (см. 5.2.4.18);

- caused_when_for_check (см. 5.2.4.20);

- caused_when_for_envisaged_version_creation (см. 5.2.4.21);

- caused_when_for_version_creation (см. 5.2.4.22);

- caused_when_for_version_deletion (см. 5.2.4.24);

- caused_when_for_version_modification (см. 5.2.4.23);

- envisaged_version_creation_has_mandatory_attribute_description (см. 5.2.4.40);

- version_creation_has_mandatory_attribute_description (см. 5.2.4.154);

- version_deletion_has_mandatory_attribute_description (см. 5.2.4.155);

- version_modification_has_mandatory_attribute_description (см. 5.2.4.160).

5.2.3.2.2 Изменение объекта action_request_solution

Основное описание объекта action request solution приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта action request solution применяются следующие глобальные правила, определенные в настоящем стандарте:

- action_request_solution_connected_to_action (см. 5.2.4.1);

268

ГОСТ Р ИСО 10303-216—2023

- change_plan_has_mandatory_attribute_description (см. 5.2.4.27);

- date time for change plan (см. 5.2.4.34).

5.2.3.2.3 Изменение объекта approval

Основное описание объекта approval приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта action_request_solution применяются следующие глобальные правила, определенные в настоящем стандарте:

- approval_event_with_approval_date_time (см. 5.2.4.8);

- approval_event_with_approval_person_organization (см. 5.2.4.7);

- no_approvals_except_in_approval_history (см. 5.2.4.53).

5.2.3.2.4 Изменение объекта approval_date_time

Основное описание объекта approval_date_time приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта approval date time применяется следующее глобальное правило, определенное в настоящем стандарте:

- approval_event_with_approval_date_time (см. 5.2.4.8).

5.2.3.2.5 Изменение объекта approval_person_organization

Основное описание объекта approval_person_organization приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта approval_person_organization применяется следующее глобальное правило, определенные в настоящем стандарте:

- approval_event_with_approval_person_organization (см. 5.2.4.7).

5.2.3.2.6 Изменение объекта compound_representation_item

Основное описание объекта compound_representation_item приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта compound_representation_item применяются следующие глобальные правила, определенные в настоящем стандарте:

- centre_location_compound_representation_has_specified_name (см. 5.2.4.25);

- compound_representation_item_with_section_identifier (см. 5.2.4.33);

- compound_representationJtem with classJd knot (см. 5.2.4.32);

- compound_representation_item_with_hydrostatic_properties (см. 5.2.4.31);

- floating_position_compound_representation_with_name (см. 5.2.4.43);

- hydrostatic_properties_with_specified_class (см. 5.2.4.47);

- hydrostatic_property_with_specified_name (см. 5.2.4.48);

- offset_point_table_model_compound_representation_has_name (см. 5.2.4.54);

- ship_curve_has_name (см. 5.2.4.135);

- ship_curve_segment_has_class (см. 5.2.4.136);

- ship_curve_with_spacing_position_has_class (см. 5.2.4.137);

- ship_point_compound_representation_has_name (см. 5.2.4.141);

- ship_surface_compound_representation_has_name (см. 5.2.4.142);

- spacing_position_compound_representation_has_name (см. 5.2.4.143);

- spacing_position_with_offset_compound_representation_has_name (см. 5.2.4.145);

- spacing_position_with_offset_compound_representation_has_class (см. 5.2.4.144);

- stability_properties_for_floating_position_has_name (см. 5.2.4.147);

- stability_properties_for_floating_position_has_class (см. 5.2.4.146);

- stability_property_has_name (см. 5.2.4.148).

5.2.3.2.7 Изменение объекта date_time_role

Основное описание объекта date_time_role приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта date_time_role применяются следующие глобальные правила, определенные в настоящем стандарте:

- caused when for check (см. 5.2.4.20);

269

ГОСТ Р ИСО 10303-216—2023

- caused_when_for_envisaged_version_creation (см. 5.2.4.21);

- caused_when_for_version_creation (см. 5.2.4.22);

- caused_when_for_version_deletion (см. 5.2.4.24);

- caused_when_for_version_modification (см. 5.2.4.23);

- date_time_for_change_plan (см. 5.2.4.34);

- date_time_for_change_realisation (см. 5.2.4.36);

- date_time_for_change_request (см. 5.2.4.35).

5.2.3.2.8 Изменение объекта document

Основное описание объекта document приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта document применяются следующие глобальные правила, определенные в настоящем стандарте:

- document_has_exactly_one_author (см. 5.2.4.38);

- document_reference_with_address_has_at_least_one_references (см. 5.2.4.39).

5.2.3.2.9 Изменение объекта document_representation_type

Основное описание объекта document_representation_type приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта document_representation_type применяются следующие глобальные правила, определенные в настоящем стандарте:

- document_has_at_least_one_references (см. 5.2.4.37);

- document_has_exactly_one_author (см. 5.2.4.38).

5.2.3.2.10 Изменение объекта executed_action

Основное описание объекта executed action приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта executed_action применяются следующие глобальные правила, определенные в настоящем стандарте:

- author_for_change_realisation (см. 5.2.4.13);

- date_time_for_change_realisation (см. 5.2.4.36).

5.2.3.2.11 Изменение объекта external_source

Основное описание объекта external_source приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта external_source применяется следующее глобальное правило, определенное в настоящем стандарте:

- mandatory_entity_type_for_external_instance_reference (см. 5.2.4.51).

5.2.3.2.12 Изменение объекта external_source_relationship

Основное описание объекта external_source_relationship приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Для объекта external_source_relationship применяется следующее глобальное правило, определенное в настоящем стандарте:

- mandatory_entity_type_for_external_instance_reference (см. 5.2.4.51).

5.2.3.2.13 Изменение объекта group

Основное описание объекта group приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта group применяются следующие глобальные правила, определенные в настоящем стандарте:

- approval_history_has_at_least_one_member (см. 5.2.4.10);

- approvals_references_approval_history (см. 5.2.4.11);

- change_impact_with_versionable_object_change_event (см. 5.2.4.26);

- class_and_statutory_designation_has_properties (см. 5.2.4.28);

- class_parameters_has_properties (см. 5.2.4.30);

- global_axis_placement_has_properties (см. 5.2.4.44);

270

ГОСТ Р ИСО 10303-216—2023

- members_is_referenced_by_atjeast_one_revision (см. 5.2.4.52);

- principal characteristics has properties (см. 5.2.4.55):

- product_definition_for_regulation (см. 5.2.4.64);

- product_definition_for_shipyard (см. 5.2.4.65);

- product_definition_for_owning_company (см. 5.2.4.62);

- product definition for ordering company (см. 5.2.4.61);

- product_definition_for_managing_company (см. 5.2.4.60);

- product_definition_for_class_notation (см. 5.2.4.57);

- product_definition_for_port_of_registration (см. 5.2.4.63);

- product_definition_for_flag_state (см. 5.2.4.58);

- product_definition_for_call_sign (см. 5.2.4.56);

- product_related_product_category_with_identification_assignment (см. 5.2.4.72);

- property_definition_for_local_coordinate_system_with_position (см. 5.2.4.83);

- property_definition_for_class_notation (см. 5.2.4.78);

- property_definition_for_class_society (см. 5.2.4.79);

- representation_item_for_transformation_to_parent (см. 5.2.4.125);

- revision_has_mandatory_attribute_description (см. 5.2.4.133);

- revision_with_context_referenced_for_context_of_revision (см. 5.2.4.134);

- ship_designation_has_one_specified_names (см. 5.2.4.138);

- spacing_position_compound_representation_has_name (см. 5.2.4.143);

- spacing_position_with_offset_compound_representation_has_class (см. 5.2.4.144);

- spacing_position_with_offset_compound_representation_has_name (см. 5.2.4.145);

- unique_approvals_in_approval_history (см. 5.2.4.150);

- version_history_has_exactly_one_assigned_group (см. 5.2.4.156);

- version_history_is_referenced_by_at_least_one_versions (см. 5.2.4.157);

- version_history_referenced_by_exactly_one_current_version (см. 5.2.4.158);

- version_history_referenced_by_multiple_roles (см. 5.2.4.159);

- versions_is_referenced_by_at_least_one_version_history (см. 5.2.4.166).

5.2.3.2.14 Изменение объекта group_assignment

Основное описание объекта group assignment приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта group assignment применяются следующее глобальное правило, определенное в настоящем стандарте:

- valid_product_definition_for_class_moulded_form (см. 5.2.4.153).

5.2.3.2.15 Изменение объекта identification_assignment_relationship

Основное описание объекта identification_assignment_relationship приведено в ИСО 10303-41.

Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта identification assignment relationship применяются следующие глобальные правила, определенные в настоящем стандарте:

- alternative_version_relationship_has_mandatory_description (см. 5.2.4.4);

- alternative_version_relationship_has_unique_versions (см. 5.2.4.5);

- alternative_version_relationship_versionable_object (см. 5.2.4.6);

- version_relationship_has_mandatory_attribute_description (см. 5.2.4.162);

- version_relationship_has_unique_versions (см. 5.2.4.163).

5.2.3.2.16 Изменение объекта identification_role

Основное описание объекта identification_role приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта identification role применяются следующие глобальные правила, определенные в настоящем стандарте:

- global_id_is_unique (см. 5.2.4.45);

- identification_role_optional_attribute_description_required (см. 5.2.4.49);

- representation_has_global_unit_assigned_context (см. 5.2.4.114).

271

ГОСТ Р ИСО 10303-216—2023

5.2.3.2.17 Изменение объекта mappedjtem

Основное описание объекта identification_role приведено в ИСО 10303-43. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта identification_role применяется следующее глобальное правило, определенное в настоящем стандарте:

- representationJtemJorJransformationJo_parent (см. 5.2.4.125).

5.2.3.2.18 Изменение объекта object_role

Основное описание объекта object_role приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта object_role применяется следующее глобальное правило, определенное в настоящем стандарте:

- approvals_references_approval_history (см. 5.2.4.11).

5.2.3.2.19 Изменение объекта person_and_organization_role

Основное описание объекта person_and_organization_role приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта person_and_organization_role применяются следующие глобальные правила, определенные в настоящем стандарте:

- authorjor_change_plan (см. 5.2.4.12);

- author for change realisation (см. 5.2.4.13);

- authorJor_change_request (см. 5.2.4.14);

- caused_byjor_check (см. 5.2.4.15);

- caused_byjor_envisaged_version_creation (см. 5.2.4.16);

- caused_byjor_version_creation (см. 5.2.4.17);

- caused_byjor_version_deletion (см. 5.2.4.18);

- caused_byjor_version_modification (см. 5.2.4.19);

- initiator_for_change_request (см. 5.2.4.50).

5.2.3.2.20 Изменение объекта product_definition

Основное описание объекта product_definition приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта product_definition применяются следующие глобальные правила, определенные в настоящем стандарте:

- class_and_statutory_designation_has_properties (см. 5.2.4.28);

- class_parameters_has_properties (см. 5.2.4.30);

- product_definition_for_call_sign (см. 5.2.4.56);

- product_defmitionjorjlag_state (см. 5.2.4.58);

- product_definitionjor_managing_company (см. 5.2.4.60);

- product definition for ordering company (см. 5.2.4.61);

- product definition for owning company (см. 5.2.4.62);

- product_definition_for_port_of_registration (см. 5.2.4.63);

- product_definitionjor_regulation (см. 5.2.4.64);

- product_definitionjor_shipyard (см. 5.2.4.65);

- property_definition_for_class_notation (см. 5.2.4.78);

- ship_designation_has_one_specified_names (см. 5.2.4.138);

- valid_product_definition_for_class_moulded_form (см. 5.2.4.153).

5.2.3.2.21 Изменение объекта product_definition_shape

Основное описание объекта product_definition_shape приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта product definition shape применяется следующее глобальное правило, определенное в настоящем стандарте:

- product_definition_shape_withjdentification_assignment (см. 5.2.4.70).

272

ГОСТ Р ИСО 10303-216—2023

5.2.3.2.22 Изменение объекта product_definition_relationship

Основное описание объекта product_definition_relationship приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта product_definition_relationship применяются следующие глобальные правила, определенные в настоящем стандарте:

- product_definition_relationship_references_are_distinct (см. 5.2.4.67);

- product_definition_relationship_related_to_class_moulded_form (см. 5.2.4.68);

- ship_moulded_form_revision_has_description (см. 5.2.4.139).

5.2.3.2.23 Изменение объекта property_definition

Основное описание объекта property_definition приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта property definition применяются следующие глобальные правила, определенные в настоящем стандарте:

- class_and_statutory_designation_has_properties (см. 5.2.4.28);

- hull_moulded_form_design_parameter_with_class_references (см. 5.2.4.46);

- product_definition_for_hydrostatic_definition_requires_reference (см. 5.2.4.59);

- product_definition_for_regulation (см. 5.2.4.64);

- product_definition_for_stability_definition (см. 5.2.4.66);

- propeller_moulded_form_design_parameter_with_class_references (см. 5.2.4.74);

- property_definition_for_appendage_moulded_form_design_parameter (см. 5.2.4.75);

- property_definition_for_bottom_moulded_form_design_parameter (см. 5.2.4.76);

- property_definition_for_bulb_moulded_form_design_parameter (см. 5.2.4.77);

- property_definition_for_class_notation (см. 5.2.4.78);

- property_definition_for_class_society (см. 5.2.4.79);

- property_definition_for_hull_moulded_form_design_parameter (см. 5.2.4.81);

- property_definition_for_local_coordinate_system (см. 5.2.4.82);

- property_definition_for_local_coordinate_system_with_position (см. 5.2.4.83);

- property_definition_for_moulded_form_function_parameters (см. 5.2.4.84);

- property_definition_of_propeller_moulded_form_design_parameter (см. 5.2.4.85);

- property_definition_for_rudder_moulded_form_design_parameter (см. 5.2.4.86);

- property_definition_for_thruster_moulded_form_design_parameter (см. 5.2.4.87);

- property_definition_for_thruster_propeller_parameter (см. 5.2.4.88);

- representation_item_for_transformation_to_parent (см. 5.2.4.125);

- ship_overall_dimensions_has_properties (см. 5.2.4.140).

5.2.3.2.24 Изменение объекта property_definition_representation

Основное описание объекта property_definition_representation приведено в ИСО 10303-41.

Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта property_definition_representation применяются следующие глобальные правила, определенные в настоящем стандарте:

- class_and_statutory_designation_has_properties (см. 5.2.4.28);

- class_notation_with_named_representation_items (см. 5.2.4.29);

- class_parameters_has_properties (см. 5.2.4.30);

- global_axis_placement_has_properties (см. 5.2.4.44);

- hull_moulded_form_design_parameter_with_class_references (см. 5.2.4.46);

- principal_characteristics_has_properties (см. 5.2.4.55):

- propeller_moulded_form_design_parameter_with_class_references (см. 5.2.4.74);

- property_definition_for_appendage_moulded_form_design_parameter (см. 5.2.4.75);

- property_definition_for_bottom_moulded_form_design_parameter (см. 5.2.4.76);

- property_definition_for_bulb_moulded_form_design_parameter (см. 5.2.4.77);

- property_definition_for_hull_moulded_form_design_parameter (см. 5.2.4.81);

- property_definition_for_local_coordinate_system (см. 5.2.4.82);

- property_definition_for_local_coordinate_system_with_position (см. 5.2.4.83);

- property_definition_for_moulded_form_function_parameters (см. 5.2.4.84);

273

ГОСТ Р ИСО 10303-216—2023

- property_definition_of_propeller_moulded_form_design_parameter (см. 5.2.4.85);

- property_definition_for_rudder_moulded_form_design_parameter (см. 5.2.4.86);

- property definition_for_thruster_moulded_form_design_parameter (см. 5.2.4.87);

- property_definition_for_thruster_propeller_parameter (см. 5.2.4.88);

- representation_for_class_and_statutory_designation (см. 5.2.4.93);

- representation_for_global_axis_placement (см. 5.2.4.95);

- representation_for_local_coordinate_system (см. 5.2.4.100);

- representation_of_local_coordinate_system_with_position_reference (см. 5.2.4.101);

- representation_items_optional_for_class_notation (см. 5.2.4.126);

- representation_items_optional_for_principal_characteristics (см. 5.2.4.128);

- representation_restricted_by_name_principal_characteristics (см. 5.2.4.131);

- representation_restricted_by_name_class_notation (см. 5.2.4.129);

- representation_restricted_by_name_class_parameters (см. 5.2.4.130);

- ship_overall_dimensions_has_properties (см. 5.2.4.140).

5.2.3.2.25 Изменение объекта representation

Основное описание объекта representation приведено в ИСО 10303-43. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта representation применяются следующие глобальные правила, определенные в настоящем стандарте:

- class_notation_with_named_representation_items (см. 5.2.4.29);

- hull_moulded_form_design_parameter_with_class_references (см. 5.2.4.46);

- propeller_moulded_form_design_parameter_with_class_references (см. 5.2.4.74);

- representation_for_moulded_form_function_parameters (см. 5.2.4.103);

- representation_for_local_coordinate_system (см. 5.2.4.100);

- representation_for_offset_point_table_model_for_section (см. 5.2.4.105);

- representation_for_deck_moulded_form_design_parameter (см. 5.2.4.94);

- representation_for_class_and_statutory_designation (см. 5.2.4.93);

- representation_for_class_and_statutory_designation (см. 5.2.4.93);

- representation_for_global_axis_placement (см. 5.2.4.95);

- representation_for_rudder_moulded_form_design_parameter (см. 5.2.4.109);

- representation_for_propeller_moulded_form_design_parameter (см. 5.2.4.108);

- representation_for_propeller_location_restricted_by_class_id (см. 5.2.4.107);

- representation_for_hydrostatic_table_restricted_by_class_id (см. 5.2.4.99);

- representation_for_offset_point_table_model_for_point (см. 5.2.4.104);

- representation_for_hydrostatic_table_restricted (см. 5.2.4.98);

- representation_for_hydrostatic_table_constrained (см. 5.2.4.97);

- representation_for_stability_table_restricted_by_class_id (см. 5.2.4.111);

- representation_for_stability_table_restricted (см. 5.2.4.110);

- representation_for_offset_table_shape_representation_restricted (см. 5.2.4.106);

- representation_for_thruster_moulded_form_design_parameter (см. 5.2.4.112);

- representation_for_bottom_moulded_form_design_parameter (см. 5.2.4.91);

- representation_for_appendage_moulded_form_design_parameter (см. 5.2.4.90);

- representation_for_hull_moulded_form_design_parameter (см. 5.2.4.96);

- representation_for_midship_tumble_restricted_by_class_id (см. 5.2.4.102);

- representation_for_bulb_moulded_form_design_parameter (см. 5.2.4.92);

- representation_has_global_unit_assigned_context (см. 5.2.4.114);

- representation_has_global_uncertainty_assigned_context (см. 5.2.4.113);

- representation_items_for_deck_moulded_form_design_parameter (см. 5.2.4.118);

- representation_items_for_rudder_moulded_form_design_parameter (см. 5.2.4.123);

- representation_items_optional_for_owner_designation (см. 5.2.4.127);

- representation_items_propeller_moulded_form_design_parameter (см. 5.2.4.122);

- representation_items_for_hull_moulded_form_design_parameter (см. 5.2.4.119);

- representation_items_for_bulb_moulded_form_design_parameter (см. 5.2.4.117);

- representation_items_of_thruster_moulded_form_design_parameter (см. 5.2.4.124);

- representation_item_for_transformation_to_parent (см. 5.2.4.125);

274

ГОСТ Р ИСО 10303-216—2023

- representation_items_optional_for_class_notation (см. 5.2.4.126);

- representation_iteiT)s_optional_for_principal_characteristics (см. 5.2.4.128);

- representation_items_propeller_moulded_form_design_parameter (см. 5.2.4.122);

- representation_items_for_bottom_moulded_form_design_parameter (см. 5.2.4.116);

- representation_items_appendage_moulded_form_design_parameter (см. 5.2.4.115);

- representation_items_for_moulded_form_function_parameters (см. 5.2.4.121);

- representation_items_for_moulded_form_design_paramters (см. 5.2.4.120);

- representation_of_local_coordinate_system_with_position_reference (см. 5.2.4.101);

- representation_restricted_by_name_principal_characteristics (см. 5.2.4.131);

- representation_restricted_by_name_class_notation (см. 5.2.4.129);

- representation_restricted_by_name_class_parameters (см. 5.2.4.130);

- representation_restricted_by_name_ship_overall_dimensions (см. 5.2.4.132);

- user_def_appendage_type_description_required (см. 5.2.4.151);

- user_def_function_description_required (см. 5.2.4.152).

5.2.3.2.26 Изменение объекта representationjtem

Основное описание объекта representationjtem приведено в ИСО 10303-43. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта representationjtem применяются следующие глобальные правила, определенные в настоящем стандарте:

- class_notation_with_named_representationjtems (см. 5.2.4.29);

- representation_for_class_and_statutory_designation (см. 5.2.4.93);

- representation_for_global_axis_placement (см. 5.2.4.95);

- representationJorJocal_coordinate_system (см. 5.2.4.100);

- representation_ofjocal_coordinate_system_with_position_reference (см. 5.2.4.101);

- representationjtems_optional_for_class_notation (см. 5.2.4.126);

- representationJtems_optionalJor_owner_designation (см. 5.2.4.127);

- representation Jtems_optionalJor_principal_characteristics (см. 5.2.4.128);

- representation_restricted_by_name_class_notation (см. 5.2.4.129);

- representation_restricted_by_name_class_parameters (см. 5.2.4.130);

- representation_restricted_by_name_principal_characteristics (см. 5.2.4.131).

5.2.3.2.27 Изменение объекта versioned_action_request

Основное описание объекта versionedactionrequest приведено в ИСО 10303-41. Уточнение данного описания приведено в настоящем стандарте.

Соответствующие глобальные правила:

Для объекта versioned_action_request применяются следующие глобальные правила, определенные в настоящем стандарте:

- author_for_change_request (см. 5.2.4.14);

- datejime_for_change_request (см. 5.2.4.35);

- initiatorjor_change_request (см. 5.2.4.50).

5.2.4 Определения правил в теоретических обводах судна

5.2.4.1 Правило action_request_solution_connectedjo_action

Правило action_request_solution_connected_to_action определяет, что каждый экземпляр типа объекта action_request_solution с классификацией 'change plan' должен быть связан с экземпляром типа объекта action с классификацией 'change' через экземпляр объекта action_method.

EXPRESS-спецификация:

*)

RULE

action_request_solution_connected_to_action FOR(action_request_solution, action);

LOCAL

tl_set: SET OF action_request_solution := [];

t2_set: SET OF action := [];

set_3 : SET OF ACTION_METHOD := [];

violate: LOGICAL := FALSE;

END LOCAL;

275

ГОСТ Р ИСО 10303-216—2023

tl_set := QUERY(а <* action_request_solution |

VALUE_IN(WHICH_CLASS(а), 'change plan'));

t2_set := QUERY(b <* action | VALUE_IN(WHICH_CLASS(b), 'change'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

set_3 := [];

REPEAT j := 1 TO HIINDEX(t2_set);

set_3 := set_3 + [t2_set[j].chosen_method] ;

END_REPEAT;

violate := VALUE_IN(set_3, tl_set[i].method);

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(* ’

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

action_request_solution: набор всех экземпляров объектов action_request_solution.

action: набор всех экземпляров объектов action.

Формальные высказывания:

WR1: Каждый экземпляр объекта action_method со значением chosen_method для экземпляра объекта action должен одновременно иметь значение method для экземпляра объекта action_ requestsolution.

5.2.4.2 Правило action_request_solution_with_identification_assignment

Правило action_request_solution_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется объектом applied_identification_ assignment.

EXPRESS-спецификация:

*)

RULE action_request_solution_with_identification_assignment FOR (A₽PLIED_CLASSIFICATION_ASSIGNMENT); LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF action_request_solution := [];

t2_set: SET OF applied_identification_assignment := [];

arg_list: LIST OF STRING := [ 'change plan'];

violation: LOGICAL := FALSE;

END_LOCAL;

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME = arg_LIST[j]);

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

t2_set := QUERY ( j <* t2_set I j.role.name = 'globally unambiguous identifier');

violation := NOT (SIZEOF(t2_set) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

276

ГОСТ Р ИСО 10303-216—2023

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

applied_classification_assignment: набор всех экземпляров объекта applied_classification_ assignment.

Формальные высказывания:

WR1: Для каждого экземпляра объекта action_request_solution, на который ссылается объект applied_classification_assignment с объектом assigned_class, чей атрибут name имеет значение 'change plan', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

5.2.4.3 Правило action_with_identification_assignment

Правило action_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется объектом applied_identification_assignment.

EXPRESS-спецификация:

*)

RULE action_with_identification_assignment FOR (APPLIED_CLASSIFICATION_ASSIGNMENT); LOCAL

с_а_зеТ; SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set:SET OF action := [];

t2_set:SET OF applied_identification_assignment := [];

arg_list: LIST OF STRING := [ 'change', 'versionable object change event', 'check']; violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances *)

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME = arg_LIST[j]);

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

t2_set := QUERY ( j <* t2_set I j.role.name = 'globally unambiguous identifier'); violation := NOT (SIZEOF(t2_set) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied classification assignment: набор всех экземпляров объекта applied_classification_ assignment.

Формальные высказывания:

WR1: Для каждого экземпляра объекта action, на который ссылается объект applied_classification_ assignment с объектом assigned_class, чей атрибут name имеет значение 'change', 'versionable object change event' или 'check', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

5.2.4.4 Правило alternative_version_relationship_has_mandatory_description

Правило alternative_version_relationship_has_mandatory_description определяет, что для экземпляра объекта identification assignment relationship с идентификатором класса 'alternative version relationship' приведен экземпляр необязательного атрибута description.

277

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE alternative_version_relationship_has_mandatory_description FOR (identification_assignment_relationship);

LOCAL

tl_set: SET OF identification_assignment_relationship := [];

violate: LOGICAL := FALSE;

END_LOCAL;

(* get all instances of identification_assignment_relationship *)

(* being classified as 'alternative version relationship' *)

tl_set := QUERY(i <* identification_assignment_relationship |

VALUE_IN(WHICH_CLASS(i), 'alternative version relationship'));

(* from all instances found above, find those for which attribute description is not instantiated *)

violate := (SIZEOF(QUERY(k <* tl_set I NOT EXISTS (k.description))) > 0);

WHERE

wrl: NOT violate;

END_RULE;

(*

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

identification_assignment_relationship: набор всех экземпляов объектов identification_ assignment_relationship.

Формальные высказывания:

WR1: Необязательный атрибут description должен существовать для каждого экземпяра объекта identification_assignment_relationship, у которого есть объект applied classification assignment со значением 'alternative version relationship' для assigned_class.name.

5.2.4.5 Правило alternative_version_relationship_has_unique_versions

Правило alternative_version_relationship_has_unique_versions определяет, что для всех экземпляров объекта identification_assignment_relationship с классификацией 'alternative version relationship', версифицируемые объекты (versionable objects) alternative_1 и alternative_2 должны быть разными, то есть у них должны быть разные versionjds.

EXPRESS-спецификация:

*)

RULE alternative_version_relationship_has_unique_versions

FOR (identification_assignment_relationship);

LOCAL

tl_set: SET OF identification_assignment_relationship := [];

violate: LOGICAL := FALSE;

END_LOCAL;

(* get all instances of identification_assignment_relationship with *)

(* class 'alternative version relationship' *)

tl_set := QUERY(a <* identification_assignment_relationship |

VALUE_IN(WHICH_CLASS(a), 'alternative version relationship'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate; violate :=

( tl_set[i].relating_identification_assignment.assigned_id = tl_set[i].related_identification_assignment.assigned_id ); END_REPEAT;

WHERE

wrl: NOT violate;

END_RULE;

(*

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

identification_assignment_relationship: набор всех экземпляров объектов identification_ assignment_relationship.

278

ГОСТ Р ИСО 10303-216—2023

Формальные высказывания:

WR1: Объекты assignedJds объекта related_identification_assignment и объекта relating_ identification_assignment каждого экземпляра объекта identification_assignment_relationship, у которого имеется объект applied_classification_assignment, значение applied_classification_assignment. assigned_class.name которого равно 'alternative version relationship', должны отличаться.

5.2.4.6 Правило alternative_version_relationship_versionable_object

Правило alternativeversionrelationshipversionableobject задает экземпляр объекта identification_assignment_relationship с классификацией 'alternative version relationship', который связывает только экземпляры типа applied_identification_assignment, чей атрибут items указывает на экземпляры класса со значением 'versionable object'.

EXPRESS-спецификация:

*)

RULE alternative_version_relationship_versionable_obj ect

FOR (app1i ed_ident i f i cat i on_as s ignment,

identification_assignment_relationship);

LOCAL

violate: LOGICAL := FALSE;

END_LOCAL;

(* get all instances of applied_identification_assignment *)

REPEAT i := 1 TO HIINDEX(applied_identification_assignment) BY 1 WHILE NOT violate;

IF ( (SIZEOF(USEDIN(applied_identification_assignment[i],

('SHIP_MOULDED_FORM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.' +'RELATING_IDENTIFICATION_ASSIGNMENT'))) > 0) OR (SIZEOF(USEDIN(applied_identification_assignment[i],

('SHIP_MOULDED_FORM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'

+'RELATED_IDENTIFICATION_ASSIGNMENT'))) > 0) ) THEN

REPEAT j := 1 to HIINDEX(applied_identification_assignment [i].items) BY 1 WHILE NOT violate;

violate:=NOTVALUE_IN(which_class(applied_identification_assignment

[i].items[j]),'versionable object');

END_REPEAT;

END_IF;

END_REPEAT;

WHERE

wrl: NOT violate;

END_RULE;

(*

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

appliedidentificationassignment: набор всех экземпляров объектов applied_identification_ assignment.

identification_assignment_relationship: набор всех экземпляров объектов identification_ assignment_relationship.

Формальные высказывания:

WR1: Каждый экземпляр объекта identification_assignment_relationship, у которого имеется объект applied classification assignment со значением 'alternative version relationship' для атрибута assigned_class.name, должен указывать только экземпляры объекта applied_identification_ assignment с атрибутом items, чье значение указывает на экземпляр, у которого есть объект applied_classification_assignment со значением 'versionable object' для assigned class.name.

5.2.4.7 Правило approval_event_with_approval_person_organization

Правило approval_event_with_approval_person_organization определяет, что на экземпляр объекта approval с идентификатором класса 'approval event' приведена ссылка только из одного экземпляра объекта approval_person_organization через authorized_approval.

279

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE

approval_event_with_approval_person_organi zation

FOR(approval);

LOCAL

tl_set:SET OF approval := [];

t2_set:SET OF approval_person_organization := [];

violate: LOGICAL : = FALSE;

END_LOCAL;

tl_set := QUERY(i <* approval |

VALUE_IN(WHICH_CLASS(i), 'approval event'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPROVAL_PERSON_ORGANIZATION.' + 'AUTHORIZED_APPROVAL'));

violate := NOT (SIZEOF(t2_set) = 1);

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

approval: набор всех экземпляров объектов approval.

Формальные высказывания:

WR1: На каждый экземпляр объекта approval, у которого имеется объект applied_classification_ assignment, чей assignee_class является group со значением 'approval event' для атрибута name, ссылается только экземпляр объекта approval_person_organization через authorized_approval.

5.2.4.8 Правило approval_event_with_approval_date_time

Правило approval_event_with_approval_date_time определяет, что на экземпляр объекта approval с идентификатором класса 'approval event' приведена ссылка только из одного экземпляра объекта approval_date_time через dated_approval.

EXPRESS-спецификация:

*)

RULE

approval_event_with_approval_date_time FOR(approval) ;

LOCAL

tl_set: SET OF approval := [];

t2_set: SET OF approval_date_time := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(i <* approval |

VALUE_IN(WHICH_CLASS(i), 'approval event'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPROVAL_DATE_TIME.' +

'DATED_APPROVAL')); violate := NOT (SIZEOF(t2_set) = 1);

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

approval: набор всех экземпляров объектов approval.

280

ГОСТ Р ИСО 10303-216—2023

Формальные высказывания:

WR1: На каждый экземпляр объекта approval, у которого имеется объект applied_classification_ assignment, чей assigned_class является объектом group со значением 'approval event' для атрибута name, ссылается только экземпляр объекта approval_date_time через dated_approval.

5.2.4.9 Правило approval history approves same definition

Правило approvalhistoryapprovessamedefinition определяет, что все члены в объекте group с идентификатором класса 'approval history' должны утверждать один и тот же экземпляр с классификацией 'definition'.

EXPRESS-спецификация:

*)

RULE

approval_history_approves_same_definition

FOR (applied_group_assignment, applied_approval_assignment); LOCAL

t2_set: SET OF APPLIED_GROUP_ASSIGNMENT := [];

t3_set: SET OF APPROVAL :=[];

t4_set: SET OF group_item :=[];

t5_set: SET OF APPLIED_APPROVAL_ASSIGNMENT := [];

violate: LOGICAL := FALSE;

END_LOCAL;

t2_set := QUERY(a <* APPLIED_GROUP_ASSIGNMENT |

VALUE_IN(WHICH_CLASS(a.ASSIGNED_GROUP), 'approval history'));

t3_set := QUERY(b <* t2_set[1].items |

'SHIP_MOULDED_FORM_SCHEMA.APPROVAL' IN TYPEOF (b) ) ;

t4_set := QUERY(b <* t2_set[1].items |

VALUE_IN(WHICH_CLASS(b) , 'DEFINITION' ) ) ;

violate := NOT(SIZEOF(t4 set) = 1);

REPEAT i := 1 TO HIINDEX(t3_set) WHILE NOT violate;

t5_set := QUERY(a <* APPLIED_APPROVAL_ASSIGNMENT |

(a.ASSIGNED_APPROVAL = t3_set[i]) AND

(NOT (VALUE_IN(a.items, t4_set[1]))));

violate := (SIZEOF(t5_set) > 0);

END_REPEAT;

WHERE

WRI: NOT violate;

wr2: (SIZEOF(t4_set) = 1);

END_RULE;

(*

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

appliedgroupassignment: набор всех экземпляров объектов appliedgroupassignment. applied_approval_assignment: набор всех экземпляров объектов applied_approval_assignment. Формальные высказывания:

WR1: Каждый экземпляр объекта approval, входящий в состав атрибута items экземпляра объекта applied_group_assignment, чей объект assigned group является экземпляром объекта group, у которого имеется объект applied_classification_assignment, чей объект assigned classification представляет собой объект group со значением 'approval history' для атрибута name, должен представлять собой assigned_approval экземпляра объекта applied_approval_assignment, который собирает такой же экземпляр, имеющий объект applied_classification_assignment, чей объект assigned_classification представляет собой объект group со значением 'definition' для атрибута name в своем атрибуте items.

5.2.4.10 Правило approval_history_has_at_least_one_member

Правило approval_history_has_at_least_one_member определяет, что каждый объект group с идентификатором класса 'approval history' используется только одним объектом applied_group_ assignment.

281

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE

approval_history_has_at_least_one_member

FOR (group, applied_group_assignment);

LOCAL

tl_set: SET OF GROUP := [];

t2_set: SET OF APPLIED_GROUP_ASSIGNMENT := [];

violate: LOGICAL := FALSE;

END_LOCAL;

Tl_set := QUERY(i <* group | VALUE_IN(WHICH_CLASS(i), 'approval history'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

t2_set := QUERY(a <* APPLIED_GROUP_ASSIGNMENT |

a.ASSIGNED_GROUP = tl_set[i]);

violate := NOT(SIZEOF(t2_set) = 1);

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_group_assignment: набор всех экземпляров объектов applied_group_assignment.

group: набор всех экземпляров объектов group.

Формальные высказывания:

WR1: Каждый экземпляр объекта group, имеющий объект appliedclassificationassignment, чей assignedclassification представляет собой объект group со значением 'approval history' для атрибута name, должен представлять собой объект assigned_group только в одном экземпляре объекта applied_group_assignment.

5.2.4.11 Правило approvals_references_approval_history

Правило approvals_references_approval_history определяет, что на каждый экземпляр типа group с классификацией 'approval history' должна быть дана ссылка только присваиваниями типа applied_group_assignment со значением роли 'approvals' через атрибут assigned group.

EXPRESS-спецификация:

*)

RULE approvals_references_approval_history FOR(applied_group_assignment, group); LOCAL

tl_set: SET OF group := [];

a_set: SET OF applied_group_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* group I VALUE_IN(WHICH_CLASS(a), 'approval history'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_group_assignment I

NOT ((b.assigned_group = tl_set[i]) AND (b.role.name = 'approvals')));

violate := SIZEOF(a_set) > 0;

END_REPEAT;

WHERE

wrl: NOT violate;

END_RULE;

(* ’

282

ГОСТ Р ИСО 10303-216—2023

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

applied_group_assignment: набор всех экземпляров объектов applied_group_assignment.

group: набор всех экземпляров объектов group.

Формальные высказывания:

WR1: На каждый экземпляр объекта group, у которого имеется объект applied_classification_ assignment, чей атрибут assigned_classification идентифицирует объект со значением 'approval history' для атрибута name, должна быть дана ссылка только из экземпляров типа applied_group_assignment со значением роли 'approvals', через атрибут assigned_group.

5.2.4.12 Правило author_for_change_plan

Правило author_for_change_plan определяет, что на экземпляр объекта action_request_solution с классификацией 'change plan' приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment со значением роли (role) 'author'.

EXPRESS-спецификация:

*)

RULE

author_for_change_plan

FOR(applied_person_and_organization_assignment, action_request_solution);

LOCAL

tl_set: SET OF action_request_solution := [];

a_set: SET OF applied_person_and_organization_assignment := []; violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* action_request_solution |

VALUE_IN(WHICH_CLASS(a), 'change plan'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERYfb <* applied_person_and_organization_assignment |

(VALUE_IN(b.items, tl_set[i]) AND

(b.role.name = 'author')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_person_and_organization_assignment: набор всех экземпляров объектов applied_ person_and_organization_assignment.

action_request_solution: набор всех экземпляров объектов action_request_solution.

Формальные высказывания:

WR1: На каждый экземпляр объекта action_request_solution с классификацией 'change plan' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'author'.

5.2.4.13 Правило author_for_change_realisation

Правило author_for_change_realisation определяет, что на экземпляр объекта executed_action с классификацией 'change realization' приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment, у которого роль имеет значение 'author'.

EXPRESS-спецификация:

*)

RULE

author_for_change_realisation

FOR(applied_person_and_organi zat ion_ass ignment,executed_action);

LOCAL

tl_set: SET OF executed_action := [];

a_set: SET OF applied_person_and_organization_assignment := [];

violate: LOGICAL := FALSE;

END LOCAL;

283

ГОСТ Р ИСО 10303-216—2023

tl_set := QUERY(а <* executed_action |

VALUE_IN(WHICH_CLASS(а), 'change realization'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_person_and_organization_assignment I (VALUE_IN(b.items, tl_set[i]) AND (b.role.name = 'author')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT; WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_person_and_organization_assignment: набор всех экземпляров объектов applied_ person_and_ organization_assignment.

executed_action: набор всех экземпляров объектов executed_action.

Формальные высказывания:

WR1: На каждый экземпляр объекта executed_action с классификацией 'change realization' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'author'.

5.2.4.14 Правило author_for_change_request

Правило author_for_change_request определяет, что на экземпляр объекта versioned_action_ request со значением 'change request' для class приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment, у которого role имеет значение 'author'.

EXPRESS-спецификация:

*)

RULE

author_for_change_request

FOR(applied_person_and_organization_assignment, versioned_action_request); LOCAL

tl_set: SET OF versioned_action_request := [];

a_set: SET OF app1ied_person_and_organization_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* versioned_action_request | VALUE_IN(WHICH_CLASS(a), 'change request'));

REPEAT i := 1 TO HIINDEX (tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_person_and_organization_assignment | (VALUE_IN(b.items, tl_set[iT) AND (b.role.name = 'author')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_person_and_organization_assignment: набор экземпляров объектов applied_person_ and_organization_assignment.

versioned_action_request: набор всех экземпляров объектов versioned_action_request.

Формальные высказывания:

WR1: На каждый экземпляр объекта versioned_action_request с классификацией 'change request' для class приведена ссылка только из одного экземпляра объекта applied_person_and_organization_ assignment со значением роли 'author'.

284

ГОСТ Р ИСО 10303-216—2023

5.2.4.15 Правило caused_by_for_check

Правило caused_by_for_check определяет, что на экземпляр объекта action с классификацией 'check' приведена ссылка только из одного экземпляра присваивания типа applied_person_and_ organization_assignment со значением роли 'caused by'.

EXPRESS-спецификация:

*)

RULE

caused_by_for_check

FOR(applied_person_and_organization_assignment, action);

LOCAL

tl_set: SET OF action := [];

a_set: SET OF applied_person_and_organization_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* action | VALUE_IN(WHICH_CLASS(a), 'check'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_person_and_organization_assignment I

(VALUE_IN(b.items, tl_set[i]) AND (b.role.name = 'caused by')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_person_and_organization_assignment: набор экземяров объектов applied_person_ and_organization_assignment.

action: набор всех экземпляров объектов action.

Формальные высказывания:

WR1: На каждый экземпляр объекта action с классификкацией 'check' приведена ссылка только из одного экземпляра объекта applied person and organization assignment со значением роли 'caused by'.

5.2.4.16 Правило caused_by_for_envisaged_version_creation

Правило caused_by_for_envisaged_version_creation определяет, что на экземпляр объекта action с классификацией 'envisaged version creation' приведена ссылка только из одного экземпляра присваивания типа appliedpersonandorganizationassignment со значением роли 'caused_by'.

EXPRESS-спецификация:

*)

RULE

caused_by_for_envisaged_version_creation FOR(applied_person_and_organization_ assignment, action) ;

LOCAL

tl_set: SET OF action := [];

r a_set: SET OF applied_person_and_organization_assignment := []; violate: LOGICAL := FALSE; f

END_LOCAL;

tl_set := QUERY(a <* action |

VALUE_IN(WHICH_CLASS(a), 'envisaged version creation'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_person_and_organization_assignment I

(VALUE_IN(b.items, tl_set[i]) AND

(b.role.name = 'caused by')));

violate := SIZEOF (a_set) <> 1;

285

ГОСТ Р ИСО 10303-216—2023

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_person_and_organization_assignment: набор всех экземпляров объектов applied_ person_and_organization_assignment.

action: набор всех экземпляров объектов action.

Формальные высказывания:

WR1: На каждый экземпляр объекта action с классификацией 'change realization' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'caused by'.

5.2.4.17 Правило caused_by_for_version_creation

Правило caused_by_for_version_creation определяет, что на экземпляр объекта action с классификацией 'version creation' приведена ссылка только из одного экземпляра присваивания типа applied_ person_and_organization_assignment со значением роли 'caused by'.

EXPRESS-спецификация:

*)

RULE

caused_by_for_version_creation

FOR(applied_person_and_organization_assignment, action);

LOCAL

tl_set: SET OF action := [];

a_set: SET OF applied_person_and_organization_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* action I

VALUE_IN(WHICH_CLASS(a), 'version creation'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_person_and_organization_assignment |

(VALUE_IN(b.items, tl_set[i]) AND

(b.role.name = 'caused by')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_person_and_organization_assignment: набор всех экземпляров объектов applied_ person_and_organization_assignment.

action: набор всех экземпляров объектов action.

Формальные высказывания:

WR1: На каждый экземпляр объекта action с классификацией 'version creation' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'caused by'.

5.2.4.18 Правило caused_by_for_version_deletion

Правило caused_by_for_version_deletion определяет, что на экземпляр объекта action с классификацией 'version deletion' приведена ссылка только из одного экземпляра присваивания типа applied_ personandorganizationassignment со значением роли 'caused by'.

EXPRESS-спецификация:

*)

RULE

caused_by_for_version_deletion

FOR(applied_person_and_organization_assignment, action);

286

ГОСТ Р ИСО 10303-216—2023

LOCAL

tl_set: SET OF action := [];

a_set: SET OF applied_person_and_organization_assignment := []; violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* action |

VALUE_IN(WHICH_CLASS(a), 'version deletion'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_person_and_organization_assignment | (VALUE_IN(b.items, tl_set[i]) AND (b.role.name = 'caused by')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT; WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_person_and_organization_assignment: набор всех экземпляров объектов applied_ personandorganizationassignment.

action: набор всех экземпляров объектов action.

Формальные высказывания:

WR1: На каждый экземпляр объекта action с классификацией 'version deletion' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'caused by'.

5.2.4.19 Правило caused_by_for_version_modification

Правило caused_by_for_version_modification определяет, что на экземпляр объекта action с классификацией 'version modification' приведена ссылка только из одного экземпляра присваивания типа applied_person_and_organization_assignment со значением роли 'caused by'.

EXPRESS-спецификация:

*)

RULE

caused_by_for_version_modification

FOR(applied_person_and_organization_assignment, action); LOCAL

tl_set: SET OF action := [];

a_set: SET OF applied_person_and_organization_assignment := []; violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* action |

VALUE_IN(WHICH_CLASS(a), 'version modification'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_person_and_organization_assignment | (VALUE_IN(b.items, tl_set[i]) AND (b.role.name = 'caused by')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT; WHERE

WRI: NOT violate;

END_RULE;

(* '

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

applied person and organization assignment: набор всех экземпляров объектов applied_ person_and_organization_assignment.

action: набор всех экземпляров объектов action.

287

ГОСТ Р ИСО 10303-216—2023

Формальные высказывания:

WR1: На каждый экземпляр объекта action с классификацией 'version modification' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'caused by'.

5.2.4.20 Правило caused_when_for_check

Правило caused_when_for_check определяет, что на экземпляр объекта action с классификацией 'check' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_ assignment со значением роли 'caused when'.

EXPRESS-спецификация:

*)

RULE

caused_when_for_check

FOR(applied_date_and_time_assignment, action);

LOCAL

tl_set: SET OF action := [];

a_set: SET OF applied_date_and_time_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* action | VALUE_IN(WHICH_CLASS(a), 'check'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_date_and_time_assignment I

(VALUE_IN(b.items, tl_set[i]) AND

(b.role.name = 'caused when')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE; (*

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

applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_ assignment.

action: набор всех экземпляров объектов action.

Формальные высказывания:

WR1: На каждый экземпляр объекта action с классификацией 'check' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'caused when'.

5.2.4.21 Правило caused_when_for_envisaged_version_creation

Правило caused_when_for_envisaged_version_creation определяет, что на экземпляр объекта action с классификацией 'envisaged version creation' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'caused when'.

EXPRESS-спецификация:

*)

RULE

caused_when_for_envisaged_version_creation FOR(applied_date_and_time_assignment, action); LOCAL

tl_set: SET OF action := [];

a_set: SET OF applied_date_and_time_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* action | VALUE_IN(WHICH_CLASS(a), 'envisaged version creation'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_date_and_time_assignment I

(VALUE IN(b.items, tl set[i]) AND

288

ГОСТ Р ИСО 10303-216—2023

(b.role.name = 'caused when')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_ assignment.

action: набор всех экземпляров объектов action.

Формальные высказывания:

WR1: На каждый экземпляр объекта action с классификацией 'envisaged version creation' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'caused when'.

5.2.4.22 Правило caused_when_for_version_creation

Правило caused_when_for_version_creation определяет, что на экземпляр объекта action с классификацией 'version creation' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'caused when'.

EXPRESS-спецификация:

*)

RULE

caused_when_for_version_creation

FOR(applied_date_and_time_assignment, action);

LOCAL

tl_set: SET OF action := [];

a_set: SET OF applied_date_and_time_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* action I

VALUE_IN(WHICH_CLASS(a) , 'version creation'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_date_and_time_assignment |

(VALUE_IN(b.items, tl_set[i]) AND

(b.role.name = 'caused when')));

violate : = SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_ assignment.

action: набор всех экземпляров объектов action.

Формальные высказывания:

WR1: На каждый экземпляр объекта action с классификацией 'version creation' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'caused when'.

5.2.4.23 Правило caused_when_for_version_modification

Правило caused_when_for_version_modification определяет, что на экземпляр объекта action с классификацией 'version modification' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'caused when'.

EXPRESS-спецификация:

*)

RULE

caused_when_for_version_modification FOR(applied_date_and_time_assignment, action);

289

ГОСТ Р ИСО 10303-216—2023

LOCAL

tl_set: SET OF action := [];

a_set: SET OF applied_date_and_time_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* action |

VALUE_IN(WHICH_CLASS(a), 'version modification'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_date_and_time_assignment | (VALUE_IN(b.items, tl_set[i]) AND (b.role.name = 'caused when')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT; WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_ assignment.

action: набор всех экземпляров объектов action.

Формальные высказывания:

WR1: На каждый экземпляр объекта action с классификацией 'version modification’ приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'caused when'.

5.2.4.24 Правило caused_when_for_version_deletion

Правило caused_when_for_version_deletion определяет, что на экземпляр объекта action с классификацией 'version deletion' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'caused when'.

EXPRESS-спецификация:

*)

RULE

caused_when_for_version_deletion FOR(applied_date_and_time_assignment, action); LOCAL

tl_set: SET OF action := [];

a_set: SET OF applied_date_and_time_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* action |

VALUE_IN(WHICH_CLASS(a), 'version deletion'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_date_and_time_assignment I (VALUE_IN(b.items, tl_set[i]) AND (b.role.name = 'caused when')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT; WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_ assignment.

action: набор всех экземпляров объектов action.

290

ГОСТ Р ИСО 10303-216—2023

Формальные высказывания:

WR1: На каждый экземпляр объекта action с классификацией 'version deletion' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'caused when'.

5.2.4.25 Правило centre_location_compound_representation_has_specified_name

Правило centrejocation_compound_representation_has_specified_name определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'centre location' в объекте list_representation_item для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE centre_location_compound_representation_has_specified_name

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_item := [];

t2_set: SET OF representation_item := [];

arg_list: LIST OF STRING := ['longitudinal location', 'transversal location', 'vertical location'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'centre location' *) c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'centre location');

(* get all instances of compound_representation_item that have class id 'centre location' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found above; stop, if one of them has not exactly one rep_item for each name in the arg_list

*)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set I items.name = arg_list[j])) <> 1); END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representationjtem, имеющего объект hat has an applied classification assignment co значением атрибута assignedclassification.name, равным 'centre location', должен быть свой атрибут item_element, экземпляр которого должен создаваться как list_representationjtem, который должен для каждого из следующих значений: 'longitudinal location', 'transversal location', 'vertical location' забирать только один экземпляр объекта representationjtem с атрибутом name, значение которого равно этому значению.

291

ГОСТ Р ИСО 10303-216—2023

5.2.4.26 Правило change_impact_with_versionable_object_change_event

Правило change_impact_with_versionable_object_change_event определяет, что каждое присваивание типа applied_action_request_assignment со значением 'change impact' для role должно ссылаться хотя бы на один элемент с классификацией 'versionable object change event' через его атрибут items.

EXPRESS-спецификация:

*)

RULE

change_impact_with_versionable_obj ect_change_event

FOR(applied_action_request_assignment);

LOCAL

tl_set: SET OF applied_action_request_assignment := [];

a_set: SET OF action := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(b <* applied_action_request_assignment | (b.role.name= 'change impact'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* tl_set[i].items I

('SHIP_MOULDED_FORM_SCHEMA.ACTION' INTYPEOF(b)) AND

VALUE_IN(WHICH_CLASS(b), 'versionable object change event'));

violate := SIZEOF(a_set) = 0;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_action_request_assignment: набор всех экземпляров объектов applied_action_request_ assignment.

Формальные высказывания:

WR1: Каждый экземпляр объекта appliedactionrequestassignment, значение для role которого равно 'change impact', должен ссылаться хотя бы на один экземпляр, содержащий объект applied_ classification_assignment, чей объект assigned_class представляет собой объект group с атрибутом name, равным 'versionable object change event', через его атрибут items.

5.2.4.27 Правило change_plan_has_mandatory_attribute_description

Правило change_plan_has_mandatory_attribute_description определяет, что для экземпляра объекта action_request_solution со значением идентификатора класса 'alternative version relationship' приведен экземпляр необязательного атрибута description.

EXPRESS-спецификация:

*)

RULE

change_plan_has_mandatory_attribute_description FOR (action_request_solution);

LOCAL

tl_set: SET OF action_request_solution := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(i <* action_request_solution |

VALUE_IN(WHICH_CLASS(i), 'change plan'));

violate := (SIZEOF(QUERY(k <* tl_set I

NOT EXISTS (k.description))) > 0);

WHERE

WRI: NOT violate;

END_RULE;

(*

292

ГОСТ Р ИСО 10303-216—2023

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

action_request_solution: набор всех экземпляров объектов action_request_solution.

Формальные высказывания:

WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта action_ request_solution, содержащего объект applied_classification_assignment, чей объект assigned_class представляет собой group с атрибутом name, значение которого равно 'change plan'.

5.2.4.28 Правило class_and_statutory_designation_has_properties

Правило class_and_statutory_designation_has_properties определяет, что на объект product_ definition с идентификатором класса 'class and statutory designation' должна быть дана ссылка из одного объекта property_definition_representation со значением 'class and statutory designation' для name через объект property_definition.

EXPRESS-спецификация:

*)

RULE class_and_statutory_designation_has_properties FOR (property_definition_ representation, applied_classification_assignment);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_list: LIST OF product_definition := [];

t2_set: SET OF property_definition_representation := [];

t3_list: LIST OF property_definition := [];

t4_list: LIST OF product_definition := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME =

'class and statutory designation');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_list := tl_list + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

t2_set:= QUERY(i <* PROPERTY_DEFINITION_REPRESENTATION |

i.NAME = 'class and statutory designation');

REPEAT i := 1 TO HIINDEX(t2_set);

t3_list := t3_list + t2_set[i].definition;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t3_list) ;

t4_list := t4_list + t3_list[i].definition;

END_REPEAT;

violation := tl_list <> t4_list;

WHERE

WRI: NOT violation;

END_RULE;

(*

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

property_definition_representation: набор всех экземпляров объектов property_definition_ representation.

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый экземпляр объекта product definition, содержащий объект applied_ classification_assignment, чей атрибут assigned_classification представляет собой group со значением 'class and statutory designation' для атрибута name, должна быть дана ссылка только их одного экземпляра объекта property definition через атрибут definition, на который, в свою очередь, приведена

293

ГОСТ Р ИСО 10303-216—2023

ссылка из экземпляра объекта property_definition_representation через атрибут definition, значение атрибута name которого равно 'class and statutory designation'.

5.2.4.29 Правило class_notation_with_named_representation_items

Правило class_notation_with_named_representationjtems определяет наличие для атрибута items объекта representation для каждой записи в перечне одного или нескольких объектов representation_items, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_ representation, значение атрибута name которого равно 'class notation'.

EXPRESS-спецификация:

*)

RULE class_notation_with_named_representation_items FOR (representation); LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['class notations hull', violation: LOGICAL := FALSE;

END_LOCAL;

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'class notation') ) ) > 0 ) ;

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name = arg_list[j])) < 1);

END_REPEAT;

END_REPEAT;

WHERE

WRI: NOT violation;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Каждый экземпляр объекта representation, представляющего собой объект the used_ representation в экземплре объекта property_definition_representation, значение атрибута name которого равно 'class notation', должен для каждого из следующих значений 'class notations hull' или 'class notations machinery' собирать хотя бы один экземпляр объекта representationjtem в его атрибуте items, чей атрибут name равен этому значению.

5.2.4.30 Правило class_parameters_has_properties

Правило class_parameters_has_properties определяет, что на объект product_definition с идентификатором класса 'class parameters' приведена ссылка из одного объекта property_definition_ representation со значением 'class parameters' для name через объект property_definition.

EXPRESS-спецификация:

*)

RULE class_parameters_has_properties FOR (property_definition_representation, applied_classification_assignment);

LOCAL

294

ГОСТ Р ИСО 10303-216—2023

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: LIST OF product_definition := [];

t2_set: SET OF property_definition_representation := [];

t3_set: LIST OF property_definition := [];

t4_set: LIST OF product_definition := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_sot := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i . assigned_class.NAME = 'class parameters');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items); tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

t2_set:= QUERY(i <* PROPERTY_DEFINITION_REPRESENTATION |

i.NAME = 'class parameters');

REPEAT i := 1 TO HIINDEX(t2_set);

t3_set := t3_set + t2_set[i].definition;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t3_set) ;

t4_set := t4_set + t3_set[i].definition;

END_REPEAT;

violation := tl_set <> t4_set;

WHERE

WR1: NOT violation;

END_RULE;

(*

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

property definition representation: набор всех экземпляров объектов property_definition_ representation.

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_ classification assignment, чей атрибут assignedclass представляет собой group со значением 'class parameters' для атрибута name, должна быть дана ссылка только их одного экземпляра объекта property_definition через атрибут definition, на который в свою очередь приведена ссылка из экземпляра объекта property definition representation через атрибут definition, значение атрибута name которого равно 'class parameters'.

5.2.4.31 Правило compound_representation_item_with_hydrostatic_properties

Правило compound_representation_item_with_hydrostatic_properties определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'hydrostatic properties for constant floating position' в объекте list_representation_item для каждой записи в перечне одного или нескольких объектов representation item, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE

compound_representation_item_with_hydrostatic_properties

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT); LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

295

ГОСТ Р ИСО 10303-216—2023

tl_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];

t2_set: LIST OF representation_item := [];

arg_list: LIST OF STRING := ['hydrostatic property value'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'hydrostatic properties for constant floating position' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_class.name = 'hydrostatic properties for constant floating position');

(* get all instances of compound_representation_item that have class id 'hydrostatic properties for constant floating position' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].iterns[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found above; stop, if one of them has not one or more rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set I items.name = arg_list[j])) < 1);

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT violation;

END_RULE;

(* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_ classification assignment со значением атрибута assigned_class.name, равным 'hydrostatic properties for constant floating position', должен быть свой атрибут item_element, экземпляр которого создавался как list_representation_item, который должен для каждого из следующих значений: 'hydrostatic property value' забирать хотя бы один экземпляр объекта representationjtem с атрибутом name, значение которого равно этому значению.

5.2.4.32 Правило compound_representationjtem_with_classjd_knot

Правило compound representation item_with_class_id_knot определяет наличие для атрибута item_element объекта compound_representationjtem с идентификатором класса 'knot' в объекте list_representationjtem двух или более объектов compound_representationjtem с идентификатором класса 'ship curve'.

EXPRESS-спецификация:

*)

RULE compound_representation_item_with_class_id_knot

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_S6t: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

C_a_set2 : SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

tl_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];

296

ГОСТ Р ИСО 10303-216—2023

t2_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];

t3_set: SET OF REPRESENTATION_IТЕМ := [] ;

l_rep_item : list_representation_item;

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'knot' *) c_a_set := QUERY (i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'knot');

(* get all instances of compound_representation_item that have class id 'knot' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all classification_assignment instances with id 'ship curve' *)

C_a_set2 := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.ASSIGNED_CLASS.NAME = 'ship curve');

(* get all instances of compound_representation_item that have class id 'ship curve' *) REPEAT i := 1 TO HIINDEX(c_a_set2);

REPEAT j := 1 TO HIINDEX(c_a_set2[i].items);

t2_set := t2_set + c_a_set2[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found in the first list; then iterate over all item_element for each compound_representation_item, check that the intersection of these item_elements and the second list of compound_ representation_item is greater then or equal to 2 *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

l_rep_item := tl_set[i].item_element;

REPEAT j := 1 TO HIINDEX(tl_set[i].item_element);

t3_set := t3_set + l_rep_item[j];

END_REPEAT;

violation := (SIZEOF(t3_set * t2_set) < 2);

t3_set:= [];

WHERE

wri: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assignedclass.name равен значению 'knot', должен быть свой атрибут item_element, экземпляр которого приведен как list representation item, который должен собирать хотя бы два экземпляра объекта compound_representation_item, содержащего объект appliedclassificationassignment, чей атрибут assigned class равен значению 'ship curve'.

5.2.4.33 Правило compound_representation_item_with_section_identifier

Правило compound representation item with section identifier определяет, что на экземпляр объекта compound_representation_item с идентификатором класса 'section of offset point table' приведена ссылка только из одного экземпляра объекта applied identification assignment через items, атрибут role которого имеет значение 'section identifier'.

297

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE compound_representation_item_with_section_identifier

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF compound_representation_item := [];

t2_set: SET OF applied_identification_assignment := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'section of offset point table' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'section of offset point table');

(* get all instances of compound_representation_item that have class id 'section of offset point table' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of compound_representation_item in tl_set:

get the applied_identification_assignment instances that are referencing a compound_representation_item instance via items, filter out those applied_ identification_assignment instances whose attribute role has the value 'section identifier' check if their number equals 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.

'+'APPLIED_IDENTIFICATION_ASSIGNMENT' + '.ITEMS'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set I t2_inst.role.name = 'section identifier')) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект compound_representation_item, на который дана ссылка из объекта applied classification assignment, где name = 'section of offset point table', приведена ссылка только из одного объекта appliedidentificationassignment.items, где applied_identification_assignment.role = 'section identifier'.

5.2.4.34 Правило date_time_for_change_plan

Правило date_time_for_change_plan определяет, что на экземпляр объекта action_request_ solution с классификацией 'change plan' приведена ссылка только из одного экземпляра присваивания типа applied date and time assignment со значением роли 'date time'.

EXPRESS-спецификация:

*)

RULE

date_time_for_change_plan

FOR(applied_date_and_time_assignment, action_request_solution);

298

ГОСТ Р ИСО 10303-216—2023

LOCAL

tl_set: SET OF action_request_solution := [];

a_set: SET OF applied_date_and_time_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* action_request_solution | VALUE_IN(WHICH_CLASS(a), 'change plan'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_date_and_time_assignment I (VALUE_IN(b.items, tl_set[i]) AND (b.role.name = 'date time')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT; WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_ assignment.

action_request_solution: набор всех экземпляров объектов action_request_solution.

Формальные высказывания:

WR1: На каждый экземпляр объекта action_request_solution с классификацией 'change plan' для role приведена ссылка только из одного экземпляра объекта applieddateandtimeassignment со значением роли 'date time'.

5.2.4.35 Правило date_time_for_change_request

Правило date_time_for_change_request определяет, что на экземпляр объекта versioned_action с классификацией 'change request' приведена ссылка только из одного экземпляра присваивания типа applied date and time assignment со значением роли 'date time'.

EXPRESS-спецификация:

*)

RULE

date_time_for_change_request

FOR(applied_date_and_time_assignment, versioned_action_request); LOCAL

tl_set: SET OF versioned_action_request := [];

a_set: SET OF applied_date_and_time_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* versioned_action_request I VALUE_IN(WHICH_CLASS(a), 'change request'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_date_and_time_assignment I (VALUE_IN(b.items, tl_set[i]) AND (b.role.name = 'date time')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT; WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied date and time assignment: набор всех экземпляров объектов applied_date_and_time_ assignment.

versionedactionrequest: набор всех экземпляров объектов versionedactionrequest.

299

ГОСТ Р ИСО 10303-216—2023

Формальные высказывания:

WR1: На каждый экземпляр объекта versioned_action_request с классификацией 'change request' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'date time'.

5.2.4.36 Правило date_time_for_change_realisation

Правило date_time_for_change_realisation определяет, что на экземпляр объекта executed_ action с классификацией 'change realization' приведена ссылка только из одного экземпляра присваивания типа applied_date_and_time_assignment со значением роли 'date time'.

EXPRESS-спецификация:

*)

RULE

date_time_for_change_realisation

FOR(applied_date_and_time_assignment, executed_action);

LOCAL

tl_set: SET OF executed_action := [];

a_set: SET OF applied_date_and_time_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* executed_action |

VALUE_IN(WHICH_CLASS(a), 'change realisation'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_date_and_time_assignment |

(VALUE_IN(b.items, tl_set[i]) AND

(b.role.name = 'date time')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_date_and_time_assignment: набор всех экземпляров объектов applied_date_and_time_ assignment.

executed_action: набор всех экземпляров объектов executed_action.

Формальные высказывания:

WR1: На каждый экземпляр объекта executed_action с классификацией 'change realization' приведена ссылка только из одного экземпляра объекта applied_date_and_time_assignment со значением роли 'date time'.

5.2.4.37 Правило document_has_at_least_one_references

Правило document_has_at_least_one_references определяет, что на экземпляр объекта document с классификацией 'document' приведена ссылка хотя бы из одного экземпляра объекта document_representation_tyре через represented_document.

EXPRESS-спецификация:

*)

RULE document_has_at_least_one_references

FOR(document);

LOCAL

tl_set: SET OF document := [];

t2_set: SET OF document_representation_type := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(i <* document | VALUE_IN(WHICH_CLASS(i),'document'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

t2_set := bag_to_set(USEDIN(tl_set[i],

300

ГОСТ Р ИСО 10303-216—2023

’SHIP_MOULDED_FORM_SCHEMA.DOCUMENT_REPRESENTATION_TYPE.'+

'REPRESENTED_DOCUMENT' ) ) ;

violate := SIZEOF(t2_set) < 1;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

document: набор всех экземпляров объектов document.

Формальные высказывания:

WR1: На каждый экземпляр объекта document, содержащего объект applied_classification_ assignment, где assigned_class представляет собой group со значением атрибута name, равным 'document', должна быть дана ссылка из одного или нескольких экземпляров объекта document_ representation type через атрибут represented_document.

5.2.4.38 Правило document_has_exactly_one_author

Правило document has exactly one author определяет, что на каждый экземпляр типа document должна быть дана ссылка только из одного экземпляра типа applied_person_assignment или applied_organization_assignment, или applied_person_and_organization_assignment, где последний экземпляр содержит роль со значением 'author'.

EXPRESS-спецификация:

*)

RULE document_has_exactly_one_author FOR(document);

LOCAL

bag_l: BAG OF applied_person_assignment := [];

bag_2: BAG OF applied_person_and_organization_assignment := [];

bag_3: BAG OF applied_organization_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

REPEAT i := 1 TO SIZEOF(document) WHILE (NOT violate);

bag_l := USEDIN(document[i], 'SHIP_MOULDED_FORM_SCHEMA.' +

'APPLIED_PERSON_ASSIGNMENT.ITEMS');

bag_l := QUERY( assign <* bag_l | assign.role.name = 'author');

bag_2 := USEDIN(document[i], 'SHIP_MOULDED_FORM_SCHEMA.' +

'APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT.ITEMS');

bag_2 := QUERY( assign <* bag_2 | assign.role.name = 'author');

bag_3 := USEDIN(document[i], 'SHIP_MOULDED_FORM_SCHEMA.' +

'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS');

bag_3 := QUERY( assign <* bag_3 I assign.role.name = 'author');

violate := NOT ( (SIZEOF ( bag_l ) + SIZEOF ( bag_2 )+ SIZEOF( bag_3 )) = 1); END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

document: набор всех экземпляров объектов document.

Формальные высказывания:

WR1: На каждый экземпляр объекта document должна быть дана ссылка только из одного экземпляра объекта applied_person_assignment, applied organization assignment или applied_person_ and_organization_assignment со значением роли 'author'.

5.2.4.39 Правило document_reference_with_address_has_at_least_one_references

Правило document_reference_with_address_has_at_least_one_references определяет, что на экземпляр объекта document с идентификатором класса 'document reference with address' должна быть дана ссылка хотя бы из одного экземпляра объекта applied external identification assignments через items.

301

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE document_reference_with_address_has_at_least_one_references FOR(document);

LOCAL

tl_set: SET OF document := [];

t2_set: SET OF applied_external_identification_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(i <* document I VALUE_IN(WHICH_CLASS(i), 'document reference with address'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT.ITEMS')); violate := SIZEOF(t2_set) < 1;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(* ’

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

document: набор всех экземпляров объектов document.

Формальные высказывания:

WR1: На каждый экземпляр объекта document, содержащего объект applied_classification_ assignment, где assigned_class представляет собой group со значением атрибута name, равным 'document reference with address', должна быть дана ссылка из одного или нескольких экземпляров объекта applied_external_identification_assignments через атрибут items.

5.2.4.40 Правило envisaged_version_creation_has_mandatory_attribute_description

Правило envisaged_version_creation_has_mandatory_attribute_description определяет, что для экземпляра объекта action с идентификатором класса 'alternative version relationship' приведен экземпляр необязательного атрибута description.

EXPRESS-спецификация:

*)

RULE

envisaged_version_creation_has_mandatory_attгibute_description FOR (action);

LOCAL

tl_set: SET OF action := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(i <* action | VALUE_IN(WHICH_CLASS(i), 'envisaged version creation'));

violate := (SIZEOF(QUERY(k <* tl_set |

NOT EXISTS (k.description))) > 0);

WHERE

WRI: NOT violate;

END_RULE;

(*

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

action: набор всех экземпляров объектов action.

Формальные высказывания:

WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта action, содержащего объект applied_classification_assignment, чей объект assigned_class представляет собой group с атрибутом name, значение которого равно 'envisaged version creation'.

5.2.4.41 Правило executed_action_with_identification_assignment

Правило executed_action_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется объектом applied_identification_ assignment.

302

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE executed_action_with_identification_assignment

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set; SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF executed_action := [];

t2_set: SET OF applied_identification_assignment := [];

arg_list: LIST OF STRING := [ 'change realization'];

violation: LOGICAL := FALSE;

END_LOCAL;

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME = arg_LIST[j]);

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.APPLIED IDENTIFICATION_ASSIGNMENT.ITEMS' ) ) ;

t2_set := QUERY ( j <* t2_set | j.role.name = 'globally unambiguous identifier') ;

iolation := NOT (SIZEOF(T2_SET) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* "

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Для каждого экземпляра объекта executed action, на который приведена ссылка из объекта application classification assignment, чей объект assigned_class содержит атрибут name со значением 'change realization', должен требоваться объект application_identification_assignment для определения идентификатора экземпляра.

5.2.4.42 Правило external_instance_reference_has_same_identifier

Правило external instance reference has same identifier подтверждает, что глобальный идентификатор, хранящийся в атрибуте assignedid объекта applied external identification assignment, идентичен глобальному идентификатору, хранящемуся в атрибуте assigned id объекта applied_ identification_assignment, для каждого объекта, на который приведена ссылка из обоих объектов, applied external identification assignment и applied identification assignment.

EXPRESS-спецификация:

*)

RULE external_instance_reference_has_same_identifier FOR ( applied_external_identification_assignment);

LOCAL

violation : LOGICAL := FALSE;

extref_set : SET OF applied_external_identification_assignment := []; aia_set : SET OF applied_identification_assignment := [];

303

ГОСТ Р ИСО 10303-216—2023

END_LOCAL;

extref_set := QUERY ( i <* applied_external_identification_assignment I (i.role.name = 'external instance reference') );

REPEAT i := 1 TO HIINDEX(extref_set) BY 1 WHILE NOT violation;

aia_set := bag_to_set(USEDIN(extref_set[i].items[1],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

violation := NOT (aia_set[1].assigned_id = extref_set[i].assigned_id); END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE; — external_instance_reference_has_same_identifier (*

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

applied_external_identification_assignment: набор всех экземпляров объектов applied_external_ identification_assignment.

Формальные высказывания:

WR1: Для каждого экземпляра, на который приведена ссылка и из объекта applied_external_ identification_assignment в роли со значением 'external instance reference', и из объекта applied_ identification_assignment, значение, хранящееся в атрибуте assigned id каждого из этих объектов присваивания, должно быть одинаковым.

5.2.4.43 Правило floating_position_compound_representation_with_name

Правило floating_position_compound_representation_with_name определяет наличие у атрибута item_element объекта compound representation item с идентификатором класса 'floating position' в объекте list_representation_item для каждой записи в перечне только одного объекта representation_ item, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE floating_position_compound_representation_with_name

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET 0F APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_item := [];

t2_set: SET OF representation_item := [];

arg_list: LIST OF STRING := ['moulded form displacement', 'draught at amidships', 'length of waterline', 'breadth of waterline', 'angle of trim', 'angle of heel'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'floating position' *) c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_class.name = 'floating position');

(* get all instances of compound_representation_item that have class id 'floating position' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found above; stop, if one of them has not exactly one rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl set) WHILE (NOT violation);

304

ГОСТ Р ИСО 10303-216—2023

REPEAT j:=l ТО HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) <> 1); END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Для каждого экземпляра объекта compound representation item, содержащего объект applied_classification_assignment, чей атрибут assigned_class.name равен 'floating position', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который для каждого из следующих значений: 'moulded form displacement', 'draught at amidships', 'length of waterline', 'breadth of waterline', 'angle of trim', 'angle of heel' должен забирать только один экземпляр объекта representation item, чей атрибут name равен этому значению.

5.2.4.44 Правило global_axis_placement_has_properties

Правило global_axis_placement_has_properties определяет, что на объект product_definition с идентификатором класса 'global axis placement' приведена ссылка из одного объекта property_definition_ representation со значением 'global axis placement' для name через объект property_definition.

EXPRESS-спецификация:

*)

RULE global_axis_placement_has_properties

FOR (property_definition_representation, group, applied classification assignment); LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: LIST OF product_definition := [];

t2_set: SET OF property_definition_representation := [];

t3_set: LIST OF property_definition := [];

t4_set: LIST OF product_definition := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_3et := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME =

'global axis placement');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

t2_set:= QUERY(i <* PROPERTY_DEFINITION_REPRESENTATION |

i.NAME = 'global axis placement');

REPEAT i := 1 TO HIINDEX(t2_set);

t3_set := t3_set + t2_set[i].definition;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t3_set) ;

t4_set := t4_set + t3_set[i].definition;

END_REPEAT;

violation := tl set <> t4 set;

305

ГОСТ Р ИСО 10303-216—2023

WHERE

WRI: NOT violation;

END_RULE;

(*

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

property_definition_representation: набор всех экземпляров объектов property_definition_ representation.

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_ classification_assignment, чей атрибут assigned_class представляет собой group со значением 'global axis placement' для атрибута name, должна быть дана ссылка только их одного экземпляра объекта property_definition через атрибут definition, на который, в свою очередь, должна быть дана ссылка из экземпляра объекта property_definition_representation через атрибут definition, значение атрибута name которого равно 'global axis placement'.

5.2.4.45 Правило global_id_is_unique

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

EXPRESS-спецификация:

*)

RULE global_id_is_unique

FOR (APPLIED_IDENTIFICATION_ASSIGNMENT);

LOCAL

set_l: SET OF APPLIED_IDENTIFICATION_ASSIGNMENT:= [];

bag_2: BAG OF STRING := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all instances of guid *)

set_l := QUERY(i <* APPLIED_IDENTIFICATION_ASSIGNMENT |

(i.role.name = 'globally unambiguous identifier'));

REPEAT i := 1 TO HIINDEX(set_l);

bag_2 := bag_2 + [set_l[i].assigned_id];

END_REPEAT;

violation := SIZEOF (QUERY(i <* set_l | (SIZEOF(i.items) =1))) <> v SIZEOF(set_l); WHERE

WRI: VALUE_UNIQUE(bag_2);

WR2: NOT violation;

END_RULE;

(* ’

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

appliedjdentification assignment: набор всех экземпляров объектов applied_identification_ assignment.

Формальные высказывания:

WR1: У каждого объекта applied_identification_assignment имеется атрибут role, указывающий объект identification_role с name = 'globally unambiguous identifier', и должно быть уникальное значение для assigned_id.

WR2: Каждый объект applied_identification_assignment, содержащий атрибут role, указывающий объект identification_role с name = 'globally unambiguous identifier', должен указывать только один определяемый предмет в атрибуте terns.

306

ГОСТ Р ИСО 10303-216—2023

5.2.4.46 Правило hull_moulded_form_design_parameter_with_class_references

Правило hull_moulded_form_design_parameter_with_class_references определяет, что на экземпляр объекта property_definition с идентификатором класса 'hull moulded form design parameter' приведена ссылка не более чем из одного экземпляра объекта property_definition_representation, чей атрибут used_representation указывает на представление (representation) с идентификатором класса 'midshiptumble'.

EXPRESS-спецификация:

*)

RULE hull_moulded_form_design_parameter_with_class_references FOR(APPLIED_ CLASSIFICATION_ASSIGNMENT); LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

t3_set: SET OF representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id

'hull moulded form design parameter' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'hull moulded form design parameter');

(* get all instances of property_definition that have class id

'hull moulded form design parameter' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set:

get the property_definition_representation instances that are referencing a property_ definition instance via definition, get those property_definition_representation.used_ representation instances whose class id is 'midship_tumble' and make sure their number is less than or equal to 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'DEFINITION'));

REPEAT j := 1 to HIINDEX(t2_set) ;

t3_set := t3_set + t2_set[j].used_representation;

END_REPEAT;

violation := SIZEOF(QUERY(t2_inst <* t3_set I 'midship tumble' IN WHICH_CLASS(t2_inst))) > 1; END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(*

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

applied classification assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый экземпляр объекта property_definition, содержащий объект applied_ classification assignment, где у assigned_class имеется атрибут name со значением 'hull moulded

307

ГОСТ Р ИСО 10303-216—2023

form design parameter', должна быть дана ссылка из одного или менее экземпляров объекта property_ definition_representation, который указывает представление (representation) через свой атрибут used_ representation, содержащий объект applied_classification_assignment, где у assigned_class имеется атрибут name о значением 'midship tumble'.

5.2.4.47 Правило hydrostatic_properties_with_specified_class

Правило hydrostatic_properties_with_specified_class определяет наличие у атрибута item_ element объекта compound_representation_item с идентификатором класса 'hydrostatic properties for constant floating position' в объекте list_representation_item только одного объекта compound_ representationitem с идентификатором класса 'floating position'.

EXPRESS-спецификация:

*)

RULE

hydrostatic_properties_with_speci f ied_class

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT); LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

c_a_set2 : SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];

t2_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];

t3_set: SET OF REPRESENTATION_ITEM := [];

l_rep_item : list_representation_item; violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'hydrostatic properties for constant floating position' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_class.name = 'hydrostatic properties for constant floating position');

(* get all instances of compound_representation_item that have class id 'hydrostatic properties for constant floating position' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all classification_assignment instances with id 'floating position' *) C_a_set2 := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_class.name = 'floating position');

(* get all instances of compound_representation_item that have class id 'floating position' *)

REPEAT i := 1 TO HIINDEX(c_a_set2);

REPEAT j := 1 TO HIINDEX(c_a_set2[i].items);

t2_set := t2_set + c_a_set2[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found in the first list; then iterate over all item_element for each compound_representation_item, check that the intersection of these item_elements and and the second list of compound_ representation_item is equal 1 *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

l_rep_item := tl_set[i].item_element;

REPEAT j := 1 TO HIINDEX(tl_set[i].item_element);

308

ГОСТ Р ИСО 10303-216—2023

t3_set := t3_set + l_rep_item[j];

END_REPEAT;

violation := (SIZEOF(t3_set * t2_set) <> 1);

t3_set:= [];

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound representation item, содержащего объект applied_classification_assignment, чей атрибут assigned_class.name равен значению 'hydrostatic properties for constant floating position', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен забирать только один экземпляр объекта сот-pound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class равен значению 'floating position'.

5.2.4.48 Правило hydrostatic_property_with_specified_name

Правило hydrostatic_property_with_specified_name определяет наличие у атрибута item_ element объекта compound_representation_item с идентификатором класса 'hydrostatic property' в объекте list representation item для каждой записи в перечне только одного объекта representation_ item, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE hydrostatic_property_with_specified_name

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT); LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_item := [];

t2_set: SET OF representation_item := [];

arg_list: LIST OF STRING := ['property type'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'hydrostatic property' *) c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_class.name = 'hydrostatic property');

(* get all instances of compound_representation_item that have class id 'hydrostatic property' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found above; stop, if one of them has not exactly one rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set I items.name = arg_list[j])) <> 1); END_REPEAT;

309

ГОСТ Р ИСО 10303-216—2023

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE; (*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound representation item, содержащего объект applied classification assignment со значением атрибута assigned class.name равным 'hydrostatic property', должен быть свой атрибут item element, экземпляр которого приведен как list_representation_ item, который должен для каждого из следующих значений 'property type' забирать только один экземпляр объекта representation item с атрибутом name, значение которого равно этому значению.

5.2.4.49 Правило identification_role_optional_attribute_description_required

Правило identification_role_optional_attribute_description_required определяет, что для всех экземпляров типа identification_role представлен необязательный атрибут description, если значение атрибута name этого экземпляра равно 'external reference'.

EXPRESS-спецификация:

*)

RULE identification_role_optiопаl_attгibute_description_required FOR (identification_role);

WHERE

WRI: SIZEOF(QUERY(i <* identification_role I ((i.name = 'external reference')

AND NOT (EXISTS (i.description))))) = 0;

END_RULE;

(*

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

identification role: набор всех экземпляров объектов identification role.

Формальные высказывания:

WR1: Необязательный атрибут description каждого экземпляра объекта identification role существует, если имя (name) равно 'external reference'.

5.2.4.50 Правило initiator_for_change_request

Правило initiator_for_change_request определяет, что на экземпляр объекта versioned_action_ request с классификацией 'change request' приведена ссылка только из одного экземпляра присваивания типа applied person and organization assignment со значением роли 'initiator'.

EXPRESS-спецификация:

*)

RULE

initiator_for_change_request

FOR(applied_person_and_organization_assignment, versioned_action_request);

LOCAL

tl_set: SET OF versioned_action_request := [];

a_set: SET OF applied_person_and_organization_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* versioned_action_request |

VALUE_IN(WHICH_CLASS(a) , 'change request'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_person_and_organization_assignment |

(VALUE IN(b.items, tl set[i]) AND

310

ГОСТ Р ИСО 10303-216—2023

(b.role.name = 'initiator')));

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

appliedpersonandorganizationassignment: набор всех экземпляров объектов applied_ person_and_organization_assignment.

versioned_action_request: набор всех экземпляров объектов versioned_action_request.

Формальные высказывания:

WR1: На каждый экземпляр объекта versioned_action_request с классификацией 'change request' приведена ссылка только из одного экземпляра объекта applied_person_and_organization_assignment со значением роли 'initiator'.

5.2.4.51 Правило mandatory_entity_type_for_external_instance_reference

Правило mandatory_entity_type_for_external_instance_reference определяет, что каждый экземпляр объекта external_source, где объект description имеет значение 'schema name', должно быть в обязательном порядке объектом relating_source экземпляра объекта external_source_relationship, где related_source представляет собой экземпляр объекта external_source, содержащий description со значением 'entity type'.

EXPRESS-спецификация:

*)

RULE mandatory_entity_type_for_external_instance_reference FOR(external_source, external_source_relationship); LOCAL

bag_l: BAG OF external_source := [];

violate: LOGICAL := FALSE;

END_LOCAL;

bag_l := QUERY(a <* external_source | a.description = 'schema name');

REPEAT i := 1 TO SIZEOF(bag_l) WHILE (NOT violate); violate := (SIZEOF( QUERY(

a <* external_source_relationship | (a.relating_source :=: bag_l[i]) AND

(a.related_source.description = 'entity type'))) = 0 ); END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

external_source: набор всех экземпляров объектов external_souгее.

external_source_relationship: набор всех экземпляров объектов external_source_relationship.

Формальные высказывания:

WR1: Каждый экземпляр объекта external_source, где объект description имеет значение 'schema name', должно быть в обязательном порядке объектом relating_source экземпляра объекта external_ source_relationship, где related_source представляет собой экземпляр объекта external_source, содержащий description со значением 'entity type'.

5.2.4.52 Правило members_is_referenced_by_at_least_one_revision

Правило members_is_referenced_by_at_least_one_revision определяет, что на каждый экземпляр типа group с классификацией 'revision' должна быть дана ссылка хотя бы из одного присваивания типа applied group assignment со значением роли 'members' через атрибут assigned_group.

EXPRESS-спецификация:

*)

RULE members_is_referenced_by_at_least_one_revision FOR(applied_group_assignment, group); LOCAL

311

ГОСТ Р ИСО 10303-216—2023

tl_set: SET OF group := [];

a_set: SET OF applied_group_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* group I VALUE_IN(WHICH_CLASS(a), ’revision'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_group_assignment I

(b.assigned_group :=: tl_set[i]) AND (b.role.name = 'members'));

violate := SIZEOF(a_set) < 1;

END_REPEAT;

WHERE

wrl: NOT violate;

END_RULE;

(*

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

applied_group_assignment: набор всех экземпляров объектов applied_group_-assignment.

group: набор всех экземпляров объектов group.

Формальные высказывания:

WR1: На каждый экземпляр объекта group, содержащий объект applied_-classification_ assignment, чей assigned_class идентифицирует объект с атрибутом name со значением 'revision', должна быть дана ссылка из одного или нескольких экземпляров типа объекта applied_group_ assignment со значением роли 'members' через атрибут assigned_group.

5.2.4.53 Правило no_approvals_except_in_approval_history

Правило no_approvals_except_in_approval_history определяет, что не должно быть экземпляров типа объекта approval с классификацией 'approval event', не входящих в состав объекта group с классификацией 'approval history'.

EXPRESS-спецификация:

*)

RULE

no_approvals_except_in_approval_history FOR (approval);

LOCAL

tl_set: SET OF approval := [];

t2_set: SET OF APPLIED_GROUP_ASSIGNMENT := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* approval | VALUE_IN(WHICH_CLASS(a), 'approval event'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_GROUP_ASSIGNMENT.ITEMS'));

violate := (SIZEOF(t2_set) = 0) ;

REPEAT k := 1 TO HIINDEX(t2_set) WHILE NOT violate;

violate := NOT (VALUE_IN (WHICH_CLASS (t2_set [k] . ASSIGNED_GROUP) , 'approval history')); END_REPEAT;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

approval: набор всех экземпляров объектов approval.

Формальные высказывания:

WR1: Каждый экземпляр объекта approval, содержащий объект applied_classification_ assignment, чей объект assigned_class представляет собой group со значением 'approval event' для 312

ГОСТ Р ИСО 10303-216—2023

атрибута name, должен собираться в объекте items экземпляра объекта applied_group_assignment, чей объект assigned_group содержит объект applied_classification_assignment, где assigned_class представляет собой group со значением 'approval history' для атрибута name.

5.2.4.54 Правило offset_point_table_model_compound_representation_has_name

Правило offset point table model compound representation has name определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'offset point table model' в объекте list_representation_item для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE offset_point_table_model_compound_representation_has_name

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_item := [];

t2_set: SET OF representation_item := [];

arg_list: LIST OF STRING := ['offset point table type'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'offset point table model' *) c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'offset point table model');

(* get all instances of compound_representation_item that have class id 'offset point table model' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found above; stop, if one of them has not exactly one rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set I items.name = arg_list[j])) <> 1); END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* '

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

applied classification assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representationjtem, имеющего объект applied_ classification_assignment со значением атрибута assigned_class.name равным 'offset point table model', должен быть свой атрибут item element, экземпляр которого приведен как list_representation_ item, который должен для каждого из следующих значений 'offset point table type' забирать только один экземпляр объекта representationjtem с атрибутом name, значение которого равно этому значению.

5.2.4.55 Правило principal_characteristics_has_properties

Правило principal_characteristics_has_properties определяет, что на объект product_definition с идентификатором класса 'principal characteristics' приведена ссылка из одного объекта property_ definition_representation со значением имени 'principal characteristics' через объект property_definition.

313

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE principal_characteristics_has_properties

FOR (property_definition_representation, applied_classification_assignment); LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: LIST OF product_definition := [];

t2_set: SET OF property_definition_representation := [];

t3_set: LIST OF property_definition := [];

t4_set: LIST OF product_definition := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME =

'principal characteristics');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

t2_set:= QUERY(i <* PROPERTY_DEFINITION_REPRESENTATION |

i.NAME = 'principal characteristics');

REPEAT i := 1 TO HIINDEX(t2_set);

t3_set := t3_set + t2_set[i].definition;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t3_set);

t4_set := t4_set + t3_set[i].definition;

END_REPEAT;

violation := tl_set <> t4_set; WHERE

WRI: NOT violation;

END_RULE;

(*

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

property_definition_representation: набор всех экземпляров объектов property_definition_ representation.

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый экземпляр объекта product definition, содержащий объект applied_ classification assignment, чей атрибут assigned_class представляет собой group со значением 'principal characteristics' для атрибута name, должна быть дана ссылка только их одного экземпляра объекта property_definition через атрибут definition, на который, в свою очередь, приведена ссылка из экземпляра объекта property_definition_representation через атрибут definition, атрибут name которого имеет значение 'principal characteristics'.

5.2.4.56 Правило product_definition_for_call_sign

Правило product_definition_for_call_sign определяет, что на экземпляр объекта productdefini-tion с идентификатором класса 'ship designation' приведена ссылка только из одного экземпляра объекта applied_identification_assignment через items, атрибут role.name которого имеет значение 'call sign'.

EXPRESS-спецификация:

*)

RULE

314

ГОСТ Р ИСО 10303-216—2023

product_definition_for_call_sign

FOR(applied_classification_assignment);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product_definition := [];

t2_set: SET OF applied_identification_assignment := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_3et := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = 'ship designation');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS' ) ) ;

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set |

t2_inst.role.name = 'call sign')) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

Определение аргументов:

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект product definition, на который дана ссылка из объекта applied_ classification_assignment с классификацией 'ship designation', приведена ссылка только из одного атрибута items объекта applied_identification_assignment, где для объекта applied_identification_ assignment атрибут role.name = 'call sign'.

5.2.4.57 Правило product_definition_for_class_notation

Правило product definition for class notation определяет, что на объект product_definition с идентификатором класса 'class and statutory designation' приведена ссылка только из одного экземпляра объекта property_definition с идентификатором класса 'class notation' через definition.

EXPRESS-спецификация:

*)

RULE

product_definition_for_class_notation

FOR(applied_classification_assignment);

LOCAL

C_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product_definition := [];

t2_set: SET OF property_definition := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = 'class and statutory designation');

REPEAT i := 1 TO HIINDEX(c_a_set);

315

ГОСТ Р ИСО 10303-216—2023

REPEAT j := 1 ТО HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION.DEFINITION'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | 'class notation'

IN WHICH_CLASS(t2_inst))) = 1);

END_REPEAT;

WHERE

WRI: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_ classification_assignment, чей атрибут assigned_class содержит объект с атрибутом name со значением 'class and statutory designation', должна быть дана ссылка только из одного экземпляра объекта property_definition, содержащего объект applied_classification_assignment, где assigned_class является объектом с атрибутом name со значением 'class notation', через атрибут definition.

5.2.4.58 Правило product_definition_for_flag_state

Правило product_definition_for_flag_state определяет, что на экземпляр объекта product_ definition с идентификатором класса 'ship designation' приведена ссылка только из одного экземпляра объекта applied_identification_assignment через items, атрибут role.name которого имеет значение 'flag state'.

EXPRESS-спецификация:

*)

RULE

product_definition_for_flag_state

FOR(applied_classification_assignment) ;

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product_definition := [];

t2_set: SET OF applied_identification_assignment := []; violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = 'ship designation');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.role.name = 'flag state')) = 1);

END_REPEAT;

316

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект product_definition, на который дана ссылка из объекта applied_ classification_assignment с классификацией 'ship designation', приведена ссылка только из одного атрибута items объекта applied_identification_assignment, где для объекта applied_identification_ assignment атрибут role.name = 'flag state'.

5.2.4.59 Правило product_definition_for_hydrostatic_definition_requires_reference

Правило product_definition_for_hydrostatic_definition_requires_reference определяет, что на объект property_definition с идентификатором класса 'hydrostatic definition' приведена ссылка из одного или нескольких объектов representations с идентификатором класса 'hydrostatic table' через property_definition_representation.

EXPRESS-спецификация:

*)

RULE product_definition_for_hydrostatic_definition_requires_reference FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

tl_set: SET OF property_definition := [];

t2_set: SET OF representation := [];

t3_set: SET OF property_definition_representation := [];

t4_set: SET OF property_definition := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'hydrostatic definition' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'hydrostatic definition');

(* get all instances of property_definition that have class id 'hydrostatic definition' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all classification_assignment instances with id 'hydrostatic table' *) c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'hydrostatic table');

(* get all instances of representation that have class id 'hydrostatic table' *) REPEAT i := 1 TO HIINDEX(c2_a_set);

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items);

t2_set := t2_set + c2_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all property_definition_representation instances which have as the .used_ representation the representation instances that have class id 'hydrostatic table' *)

317

ГОСТ Р ИСО 10303-216—2023

REPEAT i := 1 ТО HIINDEX(t2_set);

t3_set := t3_set + bag_to_set(USEDIN(t2_set[i],

’SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_-REPRESENTATION.USED_REPRESENTATION')); END REPEAT;

(* get all property_definition instances which are the .definition of the property_definition_representation *)

REPEAT i := 1 TO HIINDEX(t3_set);

t4_set := t4_set + t3_set[i].definition;

END REPEAT;

(* compare both lists with property_definition instances which have to be identical *)

violation := tl set <> t4 set;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Каждый экземпляр объекта property definition, содержащий объект applied_classification_ assignment, чей атрибут assigned_class имеет значение 'hydrostatic definition', должен представлять определение одного или более экземпляров объекта property_definition_representation, где used_representation является экземпляром объекта representation, содержащего объект applied_ classification_assignment, атрибут assigned_class.name которого имеет значение 'hydrostatic table'.

5.2.4.60 Правило product_definition_for_managing_company

Правило product definition for managing company определяет, что на экземпляр объекта product definition с идентификатором класса 'owner designation' приведена ссылка только из одного экземпляра объекта appliedorganizationassignment через items, атрибут role.name которого имеет значение 'managing company'.

EXPRESS-спецификация:

*)

RULE

product_definition_for_managing_company FOR(applied_classification_assignment);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product_definition := [];

t2_set: SET OF applied_organization_assignment := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = 'owner designation');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].iterns[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +

318

ГОСТ Р ИСО 10303-216—2023

'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set I t2_inst.role.name = 'managing company')) = 1); END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект product_definition, на который дана ссылка из объекта applied_ classification_assignment с классификацией 'owner designation', приведена ссылка только из одного атрибута items объекта applied_organization_assignment, где для объекта applied_organization_ assignment атрибут role.name = 'managing company'.

5.2.4.61 Правило product_definition_for_ordering_company

Правило product_definition_for_ordering_company определяет, что на экземпляр объекта product_ definition с идентификатором класса 'owner designation' приведена ссылка только из одного экземпляра объекта applied_organization_assignment через items, атрибут role.name которого имеет значение 'ordering company'.

EXPRESS-спецификация:

*)

RULE

product_definition_for_ordering_company

FOR(applied_classification_assignment);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product_definition := [];

t2_set: SET OF applied_organization_assignment := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = 'owner designation');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j] ;

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_tO_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' + 'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set I t2_inst.role.name = 'ordering company')) = 1) ;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект product definition, на который дана ссылка из объекта applied_ classification assignment с классификацией 'owner designation', приведена ссылка только из одного

319

ГОСТ Р ИСО 10303-216—2023

атрибута items объекта applied_organization_assignment, где для объекта applied_organization_ assignment атрибут role.name = 'ordering company'.

5.2.4.62 Правило product_definition_for_owning_company

Правило product_definition_for_owning_company определяет, что на экземпляр объекта product_ definition с идентификатором класса 'owner designation' приведена ссылка только из одного экземпляра объекта applied_organization_assignment через items, атрибут role.name которого имеет значение 'owing company'.

EXPRESS-спецификация:

*)

RULE

product—definition—for_owning_company

FOR(applied—classification_assignment);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product—definition := [];

t2_set: SET OF applied—organization—assignment := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME = 'owner designation');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items); tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set I

t2_inst.role.name = 'owning company')) = 1);

END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(*

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект product definition, на который дана ссылка из объекта applied_ classification_assignment с классификацией 'owner designation', приведена ссылка только из одного атрибута items объекта applied_organization_assignment, где для объекта applied_organization_ assignment атрибут role.name = 'owning company'.

5.2.4.63 Правило product_definition_for_port_of_registration

Правило product_definition_for_port_of_registration определяет, что на экземпляр объекта product_ definition с идентификатором класса 'ship designation' приведена ссылка только из одного экземпляра объекта applied identification assignment через items, атрибут role.name которого имеет значение 'port of registration'.

EXPRESS-спецификация:

*)

RULE

product—definition_for_port—of_registration

320

ГОСТ Р ИСО 10303-216—2023

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product_definition := [];

t2_set: SET OF applied_identification_assignment := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = 'ship designation');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set |

t2_inst.role.name = 'port of registration')) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект product definition, на который дана ссылка из объекта applied_ classification assignment с классификацией 'ship designation', приведена ссылка только из одного атрибута items объекта appliedidentificationassignment, где для объекта applied_identification_ assignment атрибут role.name = 'port of registration'.

5.2.4.64 Правило product_definition_for_regulation

Правило product_definition_for_regulation определяет, что на объект product_definition с идентификатором класса 'class and statutory designation' приведена ссылка только из одного экземпляра объекта property_definition с идентификатором класса 'regulation' через definition.

EXPRESS-спецификация:

*)

RULE

product_definition_for_regulation

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product_definition := [];

t2_set: SET OF property_definition := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = 'class and statutory designation');

REPEAT i := 1 TO HIINDEX(c_a_set);

321

ГОСТ Р ИСО 10303-216—2023

REPEAT j := 1 ТО HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION.DEFINITION'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | 'regulation'

IN WHICH_CLASS(t2_inst))) = 1);

END_REPEAT;

WHERE

WRI: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_ classification_assignment, где assigned_class представляет собой объект с атрибутом name со значением 'class and statutory designation', должна быть дана ссылка только из одного экземпляра объекта property_definition, содержащего объект applied_classification_assignment, где assigned_class является объектом с атрибутом name со значением 'regulation', через атрибут definition.

5.2.4.65 Правило product_definition_for_shipyard

Правило product_definition_for_shipyard определяет, что на экземпляр объекта product_ definition с идентификатором класса 'ship designation' приведена ссылка только из одного экземпляра объекта applied_identification_assignment через items, атрибут role.name которого имеет значение 'shipyard'.

EXPRESS-спецификация:

*)

RULE

product_definition_for_shipyard

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product_definition := [];

t2_set: SET OF app1ied_organization_assignment := []; violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME = 'shipyard designation');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j : = 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.role.name = 'shipyard')) = 1); END_REPEAT ;

322

ГОСТ Р ИСО 10303-216—2023

WHERE wrl: NOT violation; END_RULE;

(* ’

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект product_definition, на который дана ссылка из объекта applied_ classification_assignment с классификацией 'shipyard designation', приведена ссылка только из одного атрибута items объекта applied_organization_assignment, где для объекта applied_organization_ assignment атрибут role.name = 'shipyard'.

5.2.4.66 Правило product_definition_for_stability_definition

Правило product_definition_for_stability_definition определяет, что на объект property_definition с идентификатором класса 'stability definition' приведена ссылка из одного или нескольких объектов representations с идентификатором класса 'stability table' через property_definition_representation.

EXPRESS-спецификация:

*)

RULE product_definition_for_stability_definition

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

tl_set: SET OF property_definition := [];

t2_set: SET OF representation := [];

t3_set: SET OF property_definition_representation := [];

t4_set: SET OF property_definition := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'stability definition' *) c_a_set := QUERY (i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_class.name = 'stability definition');

(* get all instances of property_definition that have class id 'stability definition' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all classification_assignment instances with id 'stability table' *) c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_c1ass.name = 'stability table');

(* get all instances of representation that have class id 'stability table' *) REPEAT i := 1 TO HIINDEX(c2_a_set);

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items);

t2_set := t2_set + c2_a_set[i].items[j] ;

END_REPEAT;

END_REPEAT;

(* get all property_definition_representation instances which have as the .used_ representation the representation instances that have class id 'stability table' *)

REPEAT i := 1 TO HIINDEX(t2_set);

t3_set := t3_set + bag_to_set(USEDIN(t2_set[i],

323

ГОСТ Р ИСО 10303-216—2023

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_-REPRESENTATION.USED_REPRESENTATION')); END_REPEAT;

(* get all property_definition instances which are the .definition of the property_definition_representaiton *)

REPEAT i := 1 TO HIINDEX(t3_set);

t4_set := t4_set + t3_set[i].definition;

END_REPEAT;

(* compare both lists with property_definition instances which have to be identical *) violation := tl_set <> t4_set;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Каждый экземпляр объекта property definition, содержащий объект applied_classification_ assignment, чей атрибут assigned_class имеет значение 'stability definition', должен представлять определение одного или более экземпляров объекта property_definition_representation, где used_representation является экземпляром объекта representation, содержащего объект applied_ classification assignment, чей атрибут assigned_class.name имеет значение 'stability table'.

5.2.4.67 Правило product_definition_relationship_references_are_distinct

Правило product_definition_relationship_references_are_distinct определяет, что экземпляры, связанные атрибутами related_product_definition и relating_product_definition отношения product_ definition relationship, должны быть разными.

EXPRESS-спецификация:

*)

RULE product_definition_relationship_references_are_distinct FOR (product_definition_relationship);

LOCAL

cyclic_relationship: LOGICAL := FALSE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(product_definition_relationship) WHILE NOT cyclic_relationship;

cyclic_relationship:= product_definition_relationship[i].related_product_definition :=: product_definition_relationship[i].relating_product_definition;

END_REPEAT;

WHERE

wrl: NOT cyclic_relationship;

END_RULE;

(*

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

product_definition_relationship: набор всех экземпляров объектов product_definition_ relationship.

Формальные высказывания:

WR1: Экземпляры объектов, на которые ссылаются атрибуты related_product_definition, и экземпляр relating_product_definition объекта product definition relationship, не должны быть идентичными.

5.2.4.68 Правило product_definition_relationship_related_to_dass_moulded_form

Правило product_definition_relationship_related_to_class_moulded_form определяет, что атрибут related или relating объекта product definition relationship с классификацией 'moulded form relationship' должен представлять собой тип product definition с классификацией 'moulded form'.

324

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE

product_definition_relationship_related_to_class_moulded_form

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

с2_а_зеС: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product_definition_RELATIONSHIP := [];

t2_set: SET OF product_definition := [];

t3_set: SET OF product_definition := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'moulded form relationship' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'moulded form relationship');

(* get all instances of product_definition_relationship that have class id 'moulded form relationship' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j ] ;

END_REPEAT;

END_REPEAT;

(* get all related_product_definition attribute instances and relating_product_ definition attribute instances of the product_definition_relationship *)

REPEAT i := 1 TO HIINDEX(tl_set);

t2_set := t2_set + tl_set[i].related_product_definition;

t2_set := t2_set + tl_set[i].relating_product_definition;

END_REPEAT;

(* get all classification_assignment instances with id 'moulded form' *)

c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'moulded form');

(* get all instances of product_definition that have class id 'moulded form' *)

REPEAT i := 1 TO HIINDEX(c2_a_set);

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items);

t3_set := t3_set + c2_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

violation := NOT(t2_set<= t3_set);

WHERE

wrl: NOT violation;

END_RULE;

(*

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Объект related_product_definition и relating product definition каждого экземпляра объекта productdefinitionrelationship, содержащего объект applied_classification_assignment,

325

ГОСТ Р ИСО 10303-216—2023

где значение assigned_class.name равно 'moulded form relationship', должны представлять собой экземпляры объектов product_definition, содержащие applied_classification_assignment, где значение assigned_class.name равно 'moulded form'.

5.2.4.69 Правило product_definition_relationship_with_identification_assignment

Правило productdefinitionrelationshipwithidentificationassignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется атрибутом applied_ identification_assignment.

EXPRESS-спецификация:

*)

RULE product_definition_relationship_with_identification_assignment

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product_definition_relationship := [];

t2_set: SET OF applied_identification_assignment := [];

arg_list: LIST OF STRING := ['item relationship'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id in arg_list *)

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME = arg_LIST[j]);

END_REPEAT;

(* get all instances of property_definition_representation *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ IDENTIFICATION_ASSIGNMENT.ITEMS' ) ) ;

t2_set := QUERY ( j <* t2_set I j.role.name = 'globally unambiguous identifier');

violation := NOT (SIZEOF(T2_SET) = 1);

END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(* ’

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Для каждого экземпляра объекта product_definition_relationship, на который приведена ссылка из объекта applied classification assignment, чей объект assigned_class содержит атрибут name со значением 'item relationship', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

5.2.4.70 Правило product_definition_shape_with_identification_assignment

Правило product_definition_shape_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется атрибутом applied_ identificationassignment.

326

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE product_definition_shape_with_identification_assignment FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT : = [];

tl_set: SET OF product_definition_shape := [];

t2_set: SET OF applied_identification_assignment := [];

arg_list: LIST OF STRING := ['definition'];

violation: LOGICAL := FALSE;

END LOCAL;

(* get all classification_assignment instances with id in arg_list *) REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME = arg_LIST[j]);

END_REPEAT;

(* get all instances of product_definition_shape that have class id *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation; t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS')); t2_set := QUERY ( j <* t2_set I

j.role.name = 'globally unambiguous identifier');

violation := NOT (SIZEOF(T2_SET) = 1);

END REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Для каждого экземпляра объекта product definition shape, на который приведена ссылка из объекта applied classification assignment, чей объект assigned class содержит атрибут name со значением 'definition', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

5.2.4.71 Правило product_definition_with_identification_assignment

Правило product_definition_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется атрибутом applied_identification_ assignment.

EXPRESS-спецификация:

*)

RULE product_definition_with_identification_assignment

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

327

ГОСТ Р ИСО 10303-216—2023

tl_set: SET OF product_definition := [];

t2_set: SET OF applied_identification_assignment := [];

arg_list: LIST OF STRING := [ 'definition', 'definable object'];

violation: LOGICAL : = FALSE;

END_LOCAL;

(* get all classification_assignment instances *)

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME = arg_LIST[j]);

END_REPEAT;

(* get all instances of product_definition that have class id *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS' ) ) ;

t2_set := QUERY ( j <* t2_set I j.role.name = 'globally unambiguous identifier');

violation := NOT (SIZEOF(T2_SET) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Для каждого экземпляра объекта product definition, на который приведена ссылка из объекта applied_classification_assignment, чей объект assigned_class содержит атрибут name со значением 'definition' или 'definable object', должен требоваться объект applied identification assignment для определения идентификатора экземпляра.

5.2.4.72 Правило product_related_product_category_with_identification_assignment

Правило product_related_product_category_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется атрибутом applied_ identification_assignment.

EXPRESS-спецификация:

*)

RULE product_related_product_category_with_identification_assignment

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product_related_product_category := [];

t2_set: SET OF applied_identification_assignment := [];

arg_list: LIST OF STRING := [ 'Shiptype'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id *)

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

328

ГОСТ Р ИСО 10303-216—2023

i.assigned_class.NAME = arg_LIST[j]); END_REPEAT;

(* get all instances that have class id *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j] ;

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

t2_set := QUERY ( j <* t2_set I j.role.name = 'globally unambiguous identifier');

violation := NOT (SIZEOF(T2_SET) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

appliedclassificationassignment: набор всех экземпляров объектов applied_-classification_ assignment.

Формальные высказывания:

WR1: Для каждого экземпляра объекта product_related_product_categor, на который приведена ссылка из объекта appliedclassificationassignment, чей объект assignedclass содержит атрибут name со значением 'Shiptype', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

5.2.4.73 Правило product_with_identification_assignment

Правило product_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется атрибутом applied_identification_assignment.

EXPRESS-спецификация:

*)

RULE product_with_identification_assignment

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product := [];

t2_set: SET OF applied_identification_assignment := [];

arg_list: LIST OF STRING := [ 'ship'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances *)

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME = arg_LIST[j]);

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set) ;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

329

ГОСТ Р ИСО 10303-216—2023

REPEAT i := 1 ТО HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

’SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS');

t2_set := QUERY ( j <* t2_set I j.role.name = 'globally unambiguous identifier'); violation := NOT (SIZEOF(T2_SET) = 1);

END_REPEAT;

WHERE wrl: NOT violation; END_RULE; (*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Для каждого экземпляра объекта product, на который приведена ссылка из объекта applied classification assignment, чей объект assigned_class содержит атрибут name со значением 'ship', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

5.2.4.74 Правило propeller_moulded_form_design_parameter_with_class_references

Правило propeller_moulded_form_design_parameter_with_class_references определяет, на что экземпляр объекта property_definition с идентификатором класса 'propeller moulded form design parameter' приведена ссылка не более чем из одного экземпляра объекта property_definition_ representation, чей атрибут used_representation указывает на представление (representation) с идентификатором класса 'propeller location'.

EXPRESS-спецификация:

*)

RULE propeller_moulded_form_design_parameter_with_class_references

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

t3_set: SET OF representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'propeller moulded form design parameter');

(* get all instances of property_definition that have class id 'propeller moulded form design parameter' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set:

get the property_definition_representation instances that are referencing a property_definition instance via definition, get those property_definition_ representation.used_representation instances whose class id is 'midship_tumble' and make sure their number is less than or equal to 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

330

ГОСТ Р ИСО 10303-216—2023

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+ 'DEFINITION'));

REPEAT j := 1 to HIINDEX(t2_set);

t3_set := t3_set + t2_set[j].used_representation;

END_REPEAT;

violation := SIZEOF(QUERY(t2_inst <* t3_set I 'propeller location' IN WHICH_ CLASS(t2_inst))) > 1;

END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(*

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый экземпляр объекта property definition, содержащий объект applied_ classification assignment, где у assigned_class имеется атрибут name со значением 'propeller moulded form design parameter', должна быть дана ссылка из одного или менее экземпляров объекта property_ definition_representation, который указывает представление (representation) через свой атрибут used_ representation, содержащий объект applied_classification_assignment, где у assigned_class имеется атрибут name со значением 'propeller location'.

5.2.4.75 Правило property_definition_appendage_moulded_form_design_parameter

Правило property_definition_for_appendage_moulded_form_design_parameter определяет, что на экземпляр объекта property definition с идентификатором класса 'appendage moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'appendage moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE property_definition_appendage_moulded_form_design_parameter

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

C_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'appendage moulded form design parameter' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'appendage moulded form design parameter');

(* get all instances that have class id 'appendage moulded form design parameter' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set:

get the property_definition_representation instances that are referencing a property_definition instance via definition, filter out those property_ definition_representation instances whose attribute name has the value 'appendage moulded form design parameter' check if their number equals 1 *)

331

ГОСТ Р ИСО 10303-216—2023

REPEAT i := 1 ТО HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION' + ' .DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'appendage moulded form design parameter')) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property definition, на который приведена ссылка из объекта applied_ classification assignment с assigned_class.name = 'appendage moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_ definition_representation.name = 'appendage moulded form design parameter'.

5.2.4.76 Правило property_definition_for_bottom_moulded_form_design_parameter

Правило property_definition_for_bottom_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'bottom moulded form design parameter' приведена ссылка только из одного экземпляра объекта property definition representation через definition, атрибут name которого имеет значение 'bottom moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE property_definition_for_bottom_moulded_form_design_parameter

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'bottom moulded form design parameter' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'bottom moulded form design parameter');

(* get all instances that have class id 'bottom moulded form design parameter' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set:

get the property_definition_representation instances that are referencing a property_definition instance via definition, filter out those property_ definition_representation instances whose attribute name has the value 'bottom moulded form design parameter' check if their number equals 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION' ) ) ;

332

ГОСТ Р ИСО 10303-216—2023

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'bottom moulded form design parameter')) = 1);

END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_ classification assignment с assigned_class.name = 'bottom moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_ definition_representation.name = 'appendage moulded form design parameter'.

5.2.4.77 Правило property_definition_for_bulb_moulded_form_design_parameter

Правило property_definition_for_bulb_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'bulb moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'bulb moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE property_definition_for_bulb_moulded_form_design_parameter FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'bulb moulded form design parameter' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'bulb moulded form design parameter');

(* get all instances that have class id 'bulb moulded form design parameter' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set:

get the property_definition_representation instances that are referencing a property_definition instance via definition, filter out those property_ definition_representation instances whose attribute name has the value 'bulb moulded form design parameter' check if their number equals 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'bulb moulded form design parameter')) = 1);

END_REPEAT;

333

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_ classification_assignment с assigned_class.name = 'bulb moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_ definition_representation.name = 'bulb moulded form design parameter'.

5.2.4.78 Правило property_definition_for_class_notation

Правило propertydefinitionforclassnotation определяет, что на экземпляр объекта property_ definition с идентификатором класса 'class notation' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'class notation'.

EXPRESS-спецификация:

*)

RULE

property_definition_for_class_notation FOR(applied_classification_assignment);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = 'class notation');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set I t2_inst.name = 'class notation')) = 1); END_REPEAT ;

WHERE

WRI: NOT violation;

END—RULE;

(* "

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

applied classification assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property_definition, на который дана ссылка только из одного объекта applied_classification_assignment с assigned_class.name = 'class notation', приведена ссылка только из одного атрибута definition для объекта property_definition_representation, где значение атрибута name для объекта property definition representation = 'class notation'.

334

ГОСТ Р ИСО 10303-216—2023

5.2.4.79 Правило property_definition_for_dass_society

Правило property_definition_for_class_society определяет, что на экземпляр объекта property_ definition с идентификатором класса 'class notation' приведена ссылка только из одного экземпляра объекта applied_organization_assignment через items, атрибут role.name которого имеет значение 'class society'.

EXPRESS-спецификация:

*)

RULE

property_definition_for_class_society

FOR(applied_classification_assignment);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF applied_organization_assignment := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = 'class notation');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set |

t2_inst.role.name = 'class society')) = 1);

END_REPEAT;

WHERE

WRI: NOT violation;

END_RULE;

(* '

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property_definition, на который дана ссылка только из одного объекта applied_classification_assignment с assigned_class.name = 'class notation', приведена ссылка только из одного атрибута items для объекта applied_organization_assignment, где значение атрибута role, name для объекта appliedorganizationassignment = 'class society'.

5.2.4.80 Правило property_definition_for_deck_moulded_form_design_parameter

Правило property_definition_for_deck_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'deck moulded form design parameter' приведена ссылка только из одного экземпляра объекта property definition representation через definition, атрибут name которого имеет значение 'deck moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE property_definition_for_deck_moulded_form_design_parameter

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

335

ГОСТ Р ИСО 10303-216—2023

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'deck moulded form design parameter' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'deck moulded form design parameter');

(* get all instances that have class id 'deck moulded form design parameter' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set:

get the property_definition_representation instances that are referencing a property_definition instance via definition, filter out those property_ definition_representation instances whose attribute name has the value 'deck moulded form design parameter' check if their number equals 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +

'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'deck moulded form design parameter')) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property definition, на который дана ссылка из объекта applied_ classification_assignment с assigned_class.name = 'deck moulded form design parameter', приведена ссылка только из одного объекта property definition -representation.definition, где property_ definition representation.name = 'deck moulded form design parameter'.

5.2.4.81 Правило property_definition_for_hull_moulded_form_design_parameter

Правило property _definition_for_hull_moulded_form_design_parameter определяет, что на экземпляр объекта property definition с идентификатором класса 'hull moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'hull moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE property_definition_for_hull_moulded_form_design_parameter

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'hull moulded form

336

ГОСТ Р ИСО 10303-216—2023

design parameter' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'hull moulded form design parameter');

(* get all instances that have class id 'hull moulded form design parameter' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set:

get the property_definition_representation instances that are referencing a property_definition instance via definition, filter out those property_ definition_representation instances whose attribute name has the value 'hull moulded form design parameter' check if their number equals 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +

'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'hull moulded form design parameter')) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property definition, на который дана ссылка из объекта applied_ classification_assignment с assigned_class.name = 'hull moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_ definition_representation.name = 'hull moulded form design parameter'.

5.2.4.82 Правило property_definition_for_local_coordinate_system

Правило property_definition_for_local_coordinate_system определяет, что на экземпляр объекта рго ре rty_defi nition с идентификатором класса 'local со ordinate system' приведена ссылка только из одного экземпляра объекта property definition representation через definition, атрибут name которого имеет значение 'local coordinate system'.

EXPRESS-спецификация:

*)

RULE property_definition_for_local_coordinate_system

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'local co ordinate system' *) c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'local co ordinate system');

(* get all instances that have class id 'local co ordinate system' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

337

ГОСТ Р ИСО 10303-216—2023

REPEAT j := 1 ТО HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set: get the property_ definition_representation instances that are referencing a property_definition instance via definition, filter out those property_definition_representation instances whose attribute name has the value 'local coordinate system' check if their number equals 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +

'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set I t2_inst.name = 'local coordinate system')) = 1);

END REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_ classification assignment с assignedclass.name = 'local со ordinate system', приведена ссылка только из одного объекта property_definition_representation.definition, где property_definition_ representation.name = 'local coordinate system'.

5.2.4.83 Правило property_definition_for_local_coordinate_system_with_position

Правило property_definition_for_local_coordinate_system_with_position определяет, что на экземпляр объекта property_definition с идентификатором класса 'local со ordinate system with position reference' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'local coordinate system with position reference'.

EXPRESS-спецификация:

*)

RULE

property_definition_for_local_coordinate_system_with_position

FOR(AP PLIE D_CLAS SIFICATION_AS SIGNMENT) ;

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = 'local co ordinate system with position reference');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT ;

REPEAT i := 1 TO HIINDEX(tl set) WHILE NOT violation;

338

ГОСТ Р ИСО 10303-216—2023

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set I t2_inst.name = 'local coordinate system with position reference')) = 1);

END_REPEAT;

WHERE

WRI: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property definition, на который дана ссылка из объекта applied_ classification_assignment с assigned class.name = 'local со ordinate system with position reference', приведена ссылка только из одного объекта property_definition_representation атрибутом definition, где для объекта property_definition_representation атрибут name = 'local coordinate system with position reference'.

5.2.4.84 Правило property_definition_for_moulded_form_function_parameters

Правило property_definition_for_moulded_form_function_parameters определяет, что на экземпляр объекта property_definition с идентификатором класса 'moulded form functional definition' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'moulded form functional definition'.

EXPRESS-спецификация:

*)

RULE

property_definition_for_moulded_form_function_parameters FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'moulded form functional definition' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'moulded form functional definition');

(* get all instances that have class id 'moulded form functional definition' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set:

get the property_definition_representation instances that are referencing a property_definition instance via definition, filter out those property_ definition_representation instances whose attribute name has the value 'moulded form function parameters' check if their number equals 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i] , 'SHIP_MOULDED_FORM_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY(t2 inst <* t2 set | t2 inst.name = 'moulded

339

ГОСТ Р ИСО 10303-216—2023

form function parameters')) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_ classification_assignment с assigned_class.name = 'moulded form functional definition', приведена ссылка только из одного объекта property_definition_representation.definition, где property_definition_ representation.name = 'moulded form functional definition'.

5.2.4.85 Правило property_definition_of_propeller_moulded_form_design_parameter

Правило property_definition_of_propeller_moulded_form_design_paramete определяет, что на экземпляр объекта property_definition с идентификатором класса 'propeller moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'propeller moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE property_definition_of_propeller_moulded_form_design_parameter FOR(APPLIED_ CLASSIFICATION_ASSIGNMENT);

LOCAL

C_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'propeller moulded form design parameter' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.ASSIGNED_CLASS.NAME = 'propeller moulded form design parameter');

(* get all instances that have class id 'propeller moulded form design parameter' *)

REPEAT i := 1 TO HIINDEX(c_a_set) ;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set:

get the property_definition_representation instances that are referencing a property_definition instance via definition, filter out those property_ definition_representation instances whose attribute name has the value 'propeller moulded form design parameter' check if their number equals 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' +

'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set I t2_inst.name = 'propeller moulded form design parameter')) = 1) ;

END_REPEAT;

WHERE

340

ГОСТ Р ИСО 10303-216—2023

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_ classification_assignment с assigned_class.name = 'propeller moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_ definition_representation.name = 'propeller moulded form design parameter'.

5.2.4.86 Правило property_definition_for_rudder_moulded_form_design_parameter

Правило property_definition_for_rudder_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'rudder moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'rudder moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE property_definition_for_rudder_moulded_form_design_parameter FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET 0F APPLIED_CLASSIFICATION_ASSIGNMENT : = [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'rudder moulded form design parameter' *)

c_a_set : = QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'rudder moulded form design parameter');

(* get all instances that have class id 'rudder moulded form design parameter' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set:

get the property_definition_representation instances that are referencing a property_definition instance via definition, filter out those property_ definition_representation instances whose attribute name has the value 'rudder moulded form design parameter' check if their number equals 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.name = 'rudder moulded form design parameter')) = 1);

END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(*

341

ГОСТ Р ИСО 10303-216—2023

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_ classification_assignment с assigned_class.name = 'rudder moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_ definition_representation.name = 'rudder moulded form design parameter'.

5.2.4.87 Правило property_definition_for_thruster_moulded_form_design_parameter

Правило property_definition_for_thruster_moulded_form_design_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'thruster moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'thruster moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE property_definition_for_thruster_moulded_form_design_parameter

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET 0F APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'thruster moulded form design parameter' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'thruster moulded form design parameter');

(* get all instances that have class id 'thruster moulded form design parameter' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].iterns[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set:

get the property_definition_representation instances that are referencing a property_definition instance via definition, filter out those property_ definition_representation instances whose attribute name has the value 'thruster moulded form design parameter' check if their number equals 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set I t2_inst.name = 'thruster moulded form design parameter')) = 1) ;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

342

ГОСТ Р ИСО 10303-216—2023

Формальные высказывания:

WR1: На каждый объект property_definition, на который дана ссылка из объекта applied_ classification_assignment с assigned_class.name = 'thruster moulded form design parameter', приведена ссылка только из одного объекта property_definition_representation.definition, где property_ definition_representation.name = 'thruster moulded form design parameter'.

5.2.4.88 Правило property_definition_for_thruster_propeller_parameter

Правило property_definition_for_thruster_propeller_parameter определяет, что на экземпляр объекта property_definition с идентификатором класса 'thruster moulded form design parameter' приведена ссылка только из одного экземпляра объекта property_definition_representation через definition, атрибут name которого имеет значение 'thruster propeller parameter'.

EXPRESS-спецификация:

*)

RULE property_definition_for_thruster_prOpeller_parameter

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_relationship := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'thruster moulded form design parameter' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.ASSIGNED_CLASS.NAME = 'thruster moulded form design parameter');

(* get all instances that have class id 'thruster moulded form design parameter' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* for all instances of property_definition in tl_set:

get the property_definition_relationship instances that are referencing a property_definition instance via relating_property_- definition, filter out those property_definition_relationship instances whose attribute name has the value 'thruster propeller parameter' check if their number equals 1 *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.' + 'PROPERTY_DEFINITION_RELATIONSHIP' + '.RELATING_PROPERTY_DEFINITION'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set I t2_inst.name = 'thruster propeller parameter')) = 1) ;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property definition, на который дана ссылка из объекта applied_ classification_assignment с assigned_class.name = 'thruster moulded form design parameter', приведена

343

ГОСТ Р ИСО 10303-216—2023

ссылка только из одного объекта property_definition_relationship.relating_property_definition, где property_definition_relationship.name = 'thruster propeller parameter'.

5.2.4.89 Правило property_definition_with_identification_assignment

Правило propertydefinitionwithidentificationassignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется атрибутом applied_identification_ assignment.

EXPRESS-спецификация:

*)

RULE property_definition_with_identi fication_assignment

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF applied_identification_assignment := [];

arg_list: LIST OF STRING := [ 'moulded form characteristics definition', 'moulded form functional definition', 'local co ordinate system', 'spacing table', 'hydrostatic definition', 'stability definition'];

violation: LOGICAL := FALSE;

END_LOCAL;

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

c_a_set := QUERY (i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = arg_LIST[j]);

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS' ) ) ;

t2_set := QUERY ( j <* t2_set I

j.role.name = 'globally unambiguous identifier');

violation := NOT (SIZEOF(T2_SET) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

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

applied classification assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Для каждого экземпляра объекта property_definition, на который приведена ссылка из объекта appliedclassificationassignment, где у объекта assigned_class имеется атрибут name со значением 'moulded form characteristics definition', 'moulded form functional definition', 'local co ordinate system', 'spacing table', 'hydrostatic definition', 'stability definition', должен требоваться объект applied_ identification assignment для определения идентификатора экземпляра.

344

ГОСТ Р ИСО 10303-216—2023

5.2.4.90 Правило representation_for_appendage_moulded_form_design_parameter

Правило representation_for_appendage_moulded_form_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_ representation, атрибут name которого имеет значение 'appendage moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representation_for_appendage_moulded_form_design_parameter FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['appendage length’,’appendage breadth', 'appendage depth','type of appendage'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* find all instances of representation which are used by a property_ definition_representation with name equal TO 'appendage moulded form design parameter' *)

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'appendage moulded form design parameter') ) ) > 0 ) ;

(* iterate over all representations found above; stop, if one of *)

(* them has not exactly one rep_item with for each name of the arg_list *) REPEAT i:=l TO HIINDEX(reps) WHILE (NOT violation);

REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items I

rep_item.name = arg_list[j])) <> 1) ;

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT violation; END_RULE; (*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Каждый объект property definiton representation с name = 'appendage moulded form design parameter', должен использовать объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation item с именем (name), имеющим одно из значений: 'appendage length', 'appendage breadth', 'appendage depth' или 'type of appendage'.

5.2.4.91 Правило representation_for_bottom_moulded_form_design_parameter

Правило representation_for_bottom_moulded_form_design_parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне только одного объекта represen-tation_item, значение атрибута name которого указано в этом перечне, если объект representation

345

ГОСТ Р ИСО 10303-216—2023

представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'bottom moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representation_for_bottom_moulded_form_design_parameter

FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['bilge radius','rise of floor','aft end of flat of bottom','front end of flat of bottom','flat of bottom breadth','rake of keel'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* find all instances of representation which are used by a property_definition_ representation with name equal to 'bottom moulded form design parameter' *) reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_-REPRESENTATION'))

I (temp_prop_def_rep.name = 'bottom moulded form design parameter') ) ) > 0

) ;

(* iterate over all representations found above; stop, if one of them has not exactly one rep_item with for each name of the arg_list *)

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items I

rep_item.name = arg_list[j])) <> 1) ;

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'bottom moulded form design parameter' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name), имеющим одно из значений: 'bilge radius', 'rise of floor', 'aft end of flat of bottom', 'front end of flat of bottom', 'flat of bottom breadth', 'rake of keel'.

5.2.4.92 Правило representation_for_bulb_moulded_form_design_parameter

Правило representation for bulb moulded form design parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'bulb moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representation_for_bulb_moulded_form_design_parameter

346

ГОСТ Р ИСО 10303-216—2023

FOR (representation) ;

LOCAL

reps: BAG OF REPRESENTATION : = [];

arg_list: LIST OF STRING := ['bulb length','bulb length from pp'Jbulb breadthbulb breadth pp'Jbulb depth','bulb depth pp','bulb frame section area at pp','bulb location'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* find all instances of representation which are used by a property_definition_ representation with name equal to 'bulb moulded form design parameter' *)

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_-REPRESENTATION'))

I (temp_prop_def_rep.name = 'bulb moulded form design parameter') )

) > 0

) ;

(* iterate over all representations found above; stop, if one of them has not exactly one rep_item with for each name of the arg_list *)

REPEAT i:=l TO HIINDEX (reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items | rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'bulb moulded form design parameter' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name), имеющим одно из значений: 'bulb length', 'bulb length from pp', 'bulb breadth', 'bulb breadth pp', 'bulb depth', 'bulb depth pp', 'bulb frame section area at pp' или 'bulb location'.

5.2.4.93 Правило representation_for_class_and_statutory_designation

Правило representationJor class and statutory designation определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property definition representation, атрибут name которого имеет значение 'class and statutory designation'.

EXPRESS-спецификация:

*)

RULE

representat ion_for_cla s s_and_s tatutory_de s ignation FOR (representation) ;

LOCAL

reps: BAG OF REPRESENTATION := [];

347

ГОСТ Р ИСО 10303-216—2023

arg_list: LIST OF STRING := [’class number']; violation: LOGICAL := FALSE;

END_LOCAL;

reps := QUERY( temp_rep < * representation | SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+ ’USED_REPRESENTATION’)) I (temp_prop_def_rep.name = 'class and statutory designation') ) ) >0 ) ;

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation); violation := (SIZEOF(QUERY(rep_item <* reps[i].items I rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT ; WHERE wrl: NOT violation; END_RULE; (*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'class and statutory designation' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representation_item с именем (name) со значением 'class number'.

5.2.4.94 Правило representation_for_deck_moulded_form_design_parameter

Правило representation_for_deck_moulded_form_design_parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне только одного объекта represen-tation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used representation в объекте propertydefinitionrepresentation, атрибут name которого имеет значение 'deck moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representation_for_deck_moulded_form_design_parameter FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := []; arg_list: LIST OF STRING := ['camber','sheer at ap','sheer at fp']; violation: LOGICAL := FALSE;

END_LOCAL;

(* find all instances of representation which are used by a property_definition_ representation with name equal to 'deck moulded form design parameter' *) reps := QUERY ( temp_rep <* representation | SIZEOF (

QUERY(

348

ГОСТ Р ИСО 10303-216—2023

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_-REPRESENTATION'))

I (temp_prop_def_rep.name = 'deck moulded form design parameter') ) )>0

);

(* iterate over all representations found above; stop, if one of them has not exactly one rep_item with for each name of the arg_list *)

REPEAT i:=l TO HIINDEX (reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(* ’

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'deck moulded form design parameter' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name), имеющим одно из значений: 'camber', 'sheer at ар', 'sheer at fp'.

5.2.4.95 Правило representation_for_global_axis_placement

Правило representation_for_global_axis_placement определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'global axis placement'.

EXPRESS-спецификация:

*)

RULE representation_for_global_axis_placement

FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['global axes and origin',

'after perpendicular offset', 'orientation']; violation: LOGICAL := FALSE;

END_LOCAL;

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'global axis placement') ) ) > 0

) ;

REPEAT i:=l TO HIINDEX (reps) WHILE (NOT violation);

349

ГОСТ Р ИСО 10303-216—2023

REPEAT j:=l ТО HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF (QUERY(rep_item <* reps[i].items I

rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'global axis placement' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name), имеющим одно из значений: 'global axes and origin', 'after perpendicular offset' или 'orientation'.

5.2.4.96 Правило representation_for_hull_moulded_form_design_parameter

Правило representation for hull moulded form design parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used representation в объекте property definition representation, атрибут name которого имеет значение 'hull moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representation_for_hull_moulded_form_design_parameter FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['aft end of parallel midbody at design draught', 'front end of parallel midbody at design draught', 'aft end of flat of side', 'front end of flat of side', 'block coefficient', 'prismatic coefficient', 'max wetted frame section area', 'waterplane coefficient'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* find all instances of representation which are used by a property_definition_ representation with name egual to 'hull moulded form design parameter' *)

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_-REPRESENTATION'))

I (temp_prop_def_rep.name = 'hull moulded form design parameter') ) ) > 0

) ;

(* iterate over all representations found above; stop, if one of them has not exactly one rep_item with for each name of the arg_list *)

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT violation);

REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items I

rep_item.name = arg_list[j] ) ) <> 1);

END_REPEAT;

END_REPEAT ;

350

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: NOT violation;

END_RULE;

(* ’

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'hull moulded form design parameter' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name), имеющим одно из значений: 'aft end of parallel midbody at design draught', 'front end of parallel midbody at design draught', 'aft end of flat of side', 'front end of flat of side', 'block coefficient', 'prismatic coefficient', 'max wetted frame section area' и 'waterplane coefficient'.

5.2.4.97 Правило representation Jor_hydrostaticJable_constrained

Правило representationforhydrostatictableconstrained определяет наличие для атрибута items объекта representation с идентификатором класса 'hydrostatic table' одного или более объектов representationjtems с идентификатором класса 'hydrostatic properties for constant floating position'.

EXPRESS-спецификация:

*)

RULE representation_for_hydrostatic_table_constrained

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

tl_set: SET OF representation := [];

t2_set: SET OF representation_item := [];

t3_set: SET OF representation_item := [];

violation: LOGICAL := FALSE;

END_L0CAL;

(* get all classification_assignment instances with id 'hydrostatic table' *) c_a_set := QUERY (i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'hydrostatic table');

(* get all instances of representation that have class id 'hydrostatic table' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all classification_assignment instances with id 'hydrostatic properties for constant floating position' *)

c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'hydrostatic properties for constant floating position');

(* get all instances of representation_item that have class id 'hydrostatic properties for constant floating position' *)

REPEAT i := 1 TO HIINDEX(c2_a_set);

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items);

t2_set := t2_set + c2_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all representation_item instances which are the .items of the representation instances that have class id 'hydrostatic table' *)

351

ГОСТ Р ИСО 10303-216—2023

REPEAT i := 1 ТО HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j := 1 TO HIINDEX(tl_set[i].items);

(* compare both lists with representation_item instances and the intersection has to be greater 0 *)

t3_set := t3_set + tl_set[i].iterns[j];

END_REPEAT;

violation := (SIZEOF(t3_set* t2_set) < 1);

t3_set:= [];

END REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

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

applied classification assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_ assignment, где атрибут assigned_class.name имеет значение 'hydrostatic table', должен собирать хотя бы один экземпляр объекта representation_item, содержащий объект applied_classification_ assignment, где assigned_class.name имеет значение 'hydrostatic properties for constant floating position'.

5.2.4.98 Правило representation_for_hydrostatic_table_restricted

Правило representationforhydrostatictablerestricted определяет наличие для атрибута items объекта representation с идентификатором класса id 'hydrostatic table' одного или более объектов representationjtems с идентификатором класса 'hydrostatic property'.

EXPRESS-спецификация:

*)

RULE representstion_for_hydrostatic_table_restгicted

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

tl_set: SET OF representation := [];

t2_set: SET OF representation_item := [];

t3_set: SET OF representation_item := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'hydrostatic table' *) c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'hydrostatic table');

(* get all instances of representation that have class id 'hydrostatic table' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].iterns[j];

END_REPEAT;

END_REPEAT;

(* get all classification_assignment instances with id 'hydrostatic property' *) c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'hydrostatic property');

(* get all instances of representation_item that have class id 'hydrostatic property' *) REPEAT i := 1 TO HIINDEX(c2 a set);

352

ГОСТ Р ИСО 10303-216—2023

REPEAT j := 1 ТО HIINDEX(c2_a_set[i].items);

t2_set := t2_set + c2_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all representation_item instances which are the .items of the representation instances that have class id 'hydrostatic table' *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j := 1 TO HIINDEX(tl_set[i].items);

(* compare both lists with representation_item instances and the intersection has to be greater 0 *)

t3_set := t3_set + tl_set[i].iterns[j];

END_REPEAT;

violation := (SIZEOF(t3_set* t2_set) < 1);

t3_set:= [ ] ;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_ assignment, где атрибут assigned_class.name имеет значение 'hydrostatic table', должен собирать хотя бы один экземпляр объекта representationjtem, содержащий объект applied_classification_ assignment, где assigned_class.name имеет значение 'hydrostatic property'.

5.2.4.99 Правило representation_for_hydrostatic_table_restricted_by_class_id

Правило representation_for_hydrostatic_table_restricted_by_class_id определяет наличие у атрибута items объекта representation с идентификатором класса 'hydrostatic table' для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE representation_for_hydrostatic_table_restгicted_by_class_id

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

C_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

tl_set: SET OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['mean shell thickness'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'hydrostatic table' *) c_a_set := QUERY (i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'hydrostatic table');

(* get all instances of representation that have class id 'hydrostatic table' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

353

ГОСТ Р ИСО 10303-216—2023

(* iterate over all representation instances found above; stop, if one of them has not exactly one rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* tl_set[i].items I

rep_item.name = arg_list[j])) <> 1) ;

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT violation; END_RULE; (*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_ assignment, значение атрибута assigned_class.name которого равно 'hydrostatic table', должен собирать для каждого из значений 'mean shell thickness' только один экземпляр объекта representationjtem в своем атрибуте items, значение атрибута name которого равно этому значению.

5.2.4.100 Правило representationJorJocal_coordinate_system

Правило representation_forjocal_coordinate_system определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'local coordinate system'.

EXPRESS-спецификация:

*)

RULE representation_for_local_coordinate_system FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['local axes and origin'];

violation: LOGICAL := FALSE;

END_LOCAL;

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'local coordinate system') ) ) > 0

) ;

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items I

rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(*

354

ГОСТ Р ИСО 10303-216—2023

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

representation: набор всех экземпляров объектов representation

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'local coordinate system' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name) со значением 'local axes and origin'.

5.2.4.101 Правило representation_ofjocal_coordinate_system_with_position_reference

Правило representation_of_local_coordinate_system_with_position_reference определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representationjtem значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property _definition_repre-sentation, атрибут name которого имеет значение 'local coordinate system with position reference'.

EXPRESS-спецификация:

*)

RULE representation_of_local_coordinate_system_with_position_reference FOR (representation);

LOCAL reps: BAG OF REPRESENTATION := []; arg_list: LIST OF STRING := ['local axes and origin']; violation: LOGICAL := FALSE;

END_LOCAL;

reps := QUERY( temp_rep <* representation | SIZEOF ( QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'local coordinate system with position reference') ) ) > 0 ) ;

REPEAT i:=l TO HIINDEX (reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation); violation := (SIZEOF(QUERY(rep_item <* reps[i].items | rep_item.name = arg_list[j])) <> 1); END_REPEAT;

END_REPEAT; WHERE wrl: NOT violation; END_RULE; (* Определения аргументов: representation: набор всех экземпляров объектов representation. Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'local coordinate system with position reference' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name) со значением 'local axes and origin'.

5.2.4.102 Правило representation Jor_midshipJumble_restricted_by_classJd

Правило representationjor_midshipjumble_restricted_by_class_id определяет наличие у атрибута item объекта representation с идентификатором класса 'midship tumble' для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне.

355

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE representation_for_midship_tumble_restrieted_by_class_id

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

tl_set: SET OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['tumble out at bottom', 'tumble in at top', 'tumble out at side', 'tumble in at side'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'midship tumble' *) c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'midship tumble');

(* get all instances of representation that have class id 'midship tumble' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all representation instances found above; stop, if one of them has not exactly one rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* tl_set[i].items |

rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_ assignment, значение атрибута assigned_class.name которого равно 'midship tumble', должен для каждого из значений: 'tumble out at bottom', 'tumble in at top', 'tumble out at side' или 'tumble in at side' собирать только один экземпляр объекта representation_item в своем атрибуте items, значение атрибута name которого равно этому значению.

5.2.4.103 Правило representation_for_moulded_form_function_parameters

Правило representation_for_moulded_form_function_parameters определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_ item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'moulded form function parameters'.

EXPRESS-спецификация:

*)

RULE representation_for_moulded_form_function_parameters

FOR (representation);

LOCAL

356

ГОСТ Р ИСО 10303-216—2023

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['function'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* find all instances of representation which are used by a property_definition_ representation with name equal to 'moulded form function parameters' *)

reps := QUERY]

temp_rep <* representation |

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPER!Y_DEFINITION_REPRE SENTATION.USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'moulded form function parameters') ) ) > 0

) ;

(* iterate over all representations found above; stop, if one of them has not exactly one rep_item with for each name of the arg_list *)

REPEAT i:=l TO HIINDEX (reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name = arg_list[j])) <> 1) ;

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'moulded form function parameters' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name) со значением 'function'.

5.2.4.104 Правило representation_for_offset_point_table_model_for_point

Правило representation for offset point table model for point определяет наличие у атрибута item_element объекта compound_representationjtem с идентификатором класса 'section of offset point table' в объекте list_representationjtem для каждой записи в перечне одного или более объекта representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE representation_for_offset_point_table_model_for_point

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_item := [];

t2_set: SET OF representation_item := [];

arg_list: LIST OF STRING := ['section point'];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'section of offset point table');

357

ГОСТ Р ИСО 10303-216—2023

REPEAT i := 1 ТО HIINDEX(c_a_set) ;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found above; stop, if one of them has not one or more rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set I items.name = arg_list[j])) < 1); END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE; (* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compoundrepresentationitem, имеющего объект applied_ classification_assignment со значением атрибута assigned_class.name, равным 'section of offset point table', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_ item, который должен для каждого из следующих значений: 'section point' забирать один или более экземпляров объекта representationjtem с атрибутом name, значение которого равно этому значению.

5.2.4.105 Правило representation_for_offset_point_table_model_for_section

Правило representation_for_offset_point_table_model_for_section определяет наличие у атрибута item_element объекта compound_representationjtem с идентификатором класса 'offset point table model' в объекте list_representationjtem для каждой записи в перечне одного или более объектов representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE representation_for_offset_point_table_model_for_section FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_item := [];

t2_set: SET OF representation_item := [];

arg_list: LIST OF STRING := ['offset point table section'];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.ASSIGNED_CLASS.NAME = 'offset point table model');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found above; stop, if one of them has not one or more rep_item for each name in the arg_list *)

358

ГОСТ Р ИСО 10303-216—2023

REPEAT i:=l ТО HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set I items.name = arg_list[j])) < 1); END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(* ’

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_ classification_assignment со значением атрибута assigned_class.name, равным 'offset point table model', должен быть свой атрибут item_element, экземпляр которого созприведена как list_represen-tation item, который должен для каждого из значений 'offset point table section' забирать только один экземпляр объекта representationjtem с атрибутом name, значение которого равно этому значению.

5.2.4.106 Правило representation_for_offset_table_shape_representation_restricted

Правило representation_for_offset_table_shape_representation_restricted определяет наличие для атрибута items объекта representation с идентификатором класса 'offset table shape representation' одного или более объектов representation items с идентификатором класса 'offset point table model'.

EXPRESS-спецификация:

*)

RULE representation_for_offset_table_shape_representation_restricted FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

C_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

tl_set: SET OF representation := [];

t2_set: SET OF representation_item := [];

t3_set: SET OF representation_item := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'offset table shape representation' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'offset table shape representation');

(* get all instances of representation that have class id 'offset table shape representation' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all classification_assignment instances with id 'offset point table model' *)

c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.ASSIGNED_CLASS.NAME = 'offset point table model');

(* get all instances of representation_item that have class id 'offset point table model' *)

359

ГОСТ Р ИСО 10303-216—2023

REPEAT i := 1 ТО HIINDEX(c2_a_set);

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items);

t2_set := t2_set + c2_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all representation_item instances which are the .items of the representation instances that have class id 'offset table shape representation' *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j := 1 TO HIINDEX(tl_set[i].items);

(* compare both lists with representation_item instances and the intersection has to be greater than 0 *)

t3_set := t3_set + tl_set[i].items[j];

END_REPEAT;

violation := (SIZEOF(t3_set* t2_set) < 1);

t3_set:= [ ] ;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_ assignment, где атрибут assigned_class.name имеет значение 'offset table shape representation', должен собирать хотя бы один экземпляр объекта representationjtem, содержащий объект applied_ classification_assignment, где assigned_class.name имеет значение 'offset point table model'.

5.2.4.107 Правило representationJor_propellerJocation_restricted_by_classJd

Правило representation_for_propellerjocation_restricted_by_classjd определяет наличие у атрибута item объекта representation с идентификатором класса 'propeller location' для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE representation_for_propeller_location_restгicted_by_class_id

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

tl_set: SET OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['shaft line inclination x', 'shaft line inclination y', 'shaft line location', 'propeller location'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'propeller location' *) c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'propeller location');

(* get all instances of representation that have class id 'propeller location' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

360

ГОСТ Р ИСО 10303-216—2023

END_REPEAT;

END_REPEAT;

(* iterate over all representation instances found above; stop, if one of them has not exactly one rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* tl_set[i].items I

rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_ assignment, значение атрибута assigned_class.name которого равно 'propeller location', должен для каждого из значений: 'shaft line inclination х', 'shaft line inclination у', 'shaft line location' или 'propeller location' собирать только один экземпляр объекта representation_item в своем атрибуте items, значение атрибута name которого равно этому значению.

5.2.4.108 Правило representation_for_propeller_moulded_form_design_parameter

Правило representation_for_propeller_moulded_form_design_parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_repre-sentation, атрибут name которого имеет значение 'propeller moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representati on_for_prope1le r_moulded_f о rm_de si gn_pa rameter FOR (representation) ;

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['type of propulsion', 'propeller diameter', 'chord length at 0 7 radius', 'thickness at 0 7 radius', 'number of propeller blades', 'expanded area ratio', 'hub diameter ratio', 'nominal design pitch ratio', 'type of propeller blades', 'rake', 'skew', 'design sense of rotation'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* find all instances of representation which are used by a property_definition_ representation with name equal to 'propeller moulded form design parameter' *)

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_-REPRESENTATION'))

I (temp_prop_def_rep.name = 'propeller moulded form design parameter') )

) > 0

) ;

361

ГОСТ Р ИСО 10303-216—2023

(* iterate over all representations found above; stop, if one of them has not exactly one rep_item with for each name of the arg_list *)

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items I rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'propeller moulded form design parameter' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name), имеющим одно из значений: 'type of propulsion', 'propeller diameter', 'chord length at 0 7 radius', 'thickness at 0 7 radius', 'number of propeller blades', 'expanded area ratio', 'hub diameter ratio', 'nominal design pitch ratio', 'type of propeller blades', 'rake', 'skew', 'design sense of rotation'.

5.2.4.109 Правило representation_for_rudder_moulded_form_design_parameter

Правило representation for rudder moulded form design parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used representation в объекте property definition representation, атрибут name которого имеет значение 'rudder moulded form design parameter'.

EXPRESS-специсЬикация:

*)

RULE representation_for_rudder_moulded_form_design_parameter FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['rudder height', 'rudder mean height', 'rudder length', 'rudder mean length', 'rudder thickness', 'projected rudder area', 'type of the rudder', 'rudder location'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* find all instances of representation which are used by a property_definition_ representation with name equal to 'rudder moulded form design parameter' *)

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'rudder moulded form design parameter') )

) > 0

) ;

(* iterate over all representations found above; stop, if one of them has not exactly one rep_item with for each name of the arg_list *)

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT violation);

362

ГОСТ Р ИСО 10303-216—2023

REPEAT j:=l ТО HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name = arg_list[j])) <> 1) ;

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Каждый объект property_definiton_representation с name = 'rudder moulded form design parameter' должен использовать объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name), имеющим одно из значений: 'rudder height', 'rudder mean height', 'rudder length', 'rudder mean length', 'rudder thickness', 'projected rudder area', 'type of the rudder' или 'rudder location'.

5.2.4.110 Правило representationJor_stabilityJable_restricted

Правило representationjor_stabilityjable_restricted определяет наличие для атрибута items объекта representation с идентификатором класса 'stability table' одного или более объектов representationjtems с идентификатором класса 'stability properties for constant floating position'.

EXPRESS-спецификация:

*)

RULE

representation_for_stability_table_restricted FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

c2_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

tl_set: SET OF representation := [];

t2_set: SET OF representation_item := [];

t3_set: SET OF representation_item := [];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'stability table' *) c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_class.name = 'stability table');

(* get all instances of representation that have class id 'stability table' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all classification_assignment instances with id 'stability properties for one floating position' *)

c2_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_class.name = 'stability properties for one floating position');

(* get all instances of representation_item that have class id 'stability properties for one floating position' *)

REPEAT i := 1 TO HIINDEX(c2_a_set);

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items);

t2_set := t2_set + c2_a_set[i] .items [j];

363

ГОСТ Р ИСО 10303-216—2023

END_REPEAT;

END_REPEAT;

(* get all representation_item instances which are the .items of the representation instances that have class id 'stability table' *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j := 1 TO HIINDEX(tl_set[i].items);

(* compare both lists with representation_item instances and the intersection has to be greater 0 *)

t3_set := t3_set + tl_set[i].items[j];

END_REPEAT;

violation := (SIZEOF(t3_set* t2_set) < 1);

t3_set:= [];

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_ assignment, где атрибут assigned_class.name имеет значение 'stability table', должен собирать хотя бы один экземпляр объекта representation item, содержащий объект applied classification assignment, где assigned_class.name имеет значение 'stability properties for one floating position'.

5.2.4.111 Правило representation_for_stability_table_restricted_by_class_id

Правило representation_for_stability_table_restricted_by_class_id определяет наличие у атрибута items объекта representation с идентификатором класса 'stability table' для каждой записи в перечне только одного объекта representation_item, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE representation_for_stability_table_restricted_by_class_i.

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

tl_set: SET OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['mean shell thickness'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'stability table' *) c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_class.name = 'stability table');

(* get all instances of representation that have class id 'stability table' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all representation instances found above; stop, if one of them has not exactly one rep_item for each name in the arg_list *)

364

ГОСТ Р ИСО 10303-216—2023

REPEAT i:=l ТО HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* tl_set[i].items |

rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Каждый экземпляр объекта representation, содержащий объект applied_classification_ assignment, значение атрибута assigned_class.name которого равно 'stability table', должен собирать для каждого из значений 'mean shell thickness' только один экземпляр объекта representationjtem в своем атрибуте items, значение атрибута name которого равно этому значению.

5.2.4.112 Правило representationJorJhruster_mouldedJorm_design_parameter

Правило representation for thruster_moulded form_design_parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект usedrepresentation в объекте property definition representation, атрибут name которого имеет значение 'thruster moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representation_for_thruster_moulded_form_design_parameter FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['thruster tunnel diameter', 'thruster tunnel min length', 'thruster tunnel max length', 'geometric thruster location', 'thruster location'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* find all instances of representation which are used by a property_definition_ representation with name equal to 'thruster moulded form design parameter' *)

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'thruster moulded form design parameter') ) ) > 0

) ;

(* iterate over all representations found above; stop, if one of them has not exactly one rep_item with for each name of the arg_list *)

REPEAT i:=l TO HIINDEX (reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name = arg_list[j])) <> 1) ;

365

ГОСТ Р ИСО 10303-216—2023

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Каждый объект property_definiton_representation с name = 'thruster moulded form design parameter' должен использовать объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name), имеющим одно из значений: 'thruster tunnel diameter', 'thruster tunnel min length', 'thruster tunnel max length', 'geometric thruster location' или 'thruster location'.

5.2.4.113 Правило representation_has_global_uncertainty_assigned_context

Правило representation_has_global_uncertainty_assigned_context определяет, что перечень типов для объекта, на который приведена ссылка из объекта shape_representation.context_ofjtems, включает объект global_uncertainty_assigned_context.

EXPRESS-спецификация:

*)

RULE repre s entat ion_has_global_uncerta intу_а s s igned_context

FOR (SHAPE_REPRESENTATION);

LOCAL

has_gunac: LOGICAL := TRUE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(SHAPE_REPRESENTATION) WHILE has_gunac; has_gunac := ('SHIP_MOULDED_FORM_SCHEMA.GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT’ IN

TYPEOF(SHAPE_REPRESENTATION[i].CONTEXT_OF_ITEMS)); END_REPEAT;

WHERE

WRI: has_gunac;

END_RULE;

(*

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

shape_representation: набор всех экземпляров объектов shape_representation.

Формальные высказывания:

WR1: Каждый объект shape_representation должен указывать на объект representation_context через свой атрибут context_ofjtems, представляющий собой тип global_uncertainty_assigned_ context.

5.2.4.114 Правило representation_has_global_unit_assigned_context

Правило representation_has_global_unit_assigned_context определяет, что объект representation содержит объект global_unit_assigned_context, если в нем содержится объект representation_ items типа value_representationjtem и/или geometric_representationjtem.

EXPRESS-спецификация:

*)

RULE representation_has_global_unit_assigned_context

FOR (REPRESENTATION);

LOCAL

has_guac: LOGICAL := TRUE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX (REPRESENTATION) WHILE has_guac;

REPEAT j := 1 TO SIZEOF(REPRESENTATION[i].ITEMS) WHILE has_guac;

IF ((’SHIP_MOULDED_FORM_SCHEMA.VALUE_REPRESENTATION_ITEM’

366

ГОСТ Р ИСО 10303-216—2023

IN TYPEOF(REPRESENTATION[i].ITEMS[j])) OR

('SHIP_MOULDED_FORM_SCHEMA.GEOMETRIC_REPRESENTATION_ITEM'

IN TYPEOF(REPRESENTATION[i].ITEMS[j]))) THEN

has_guac := ('SHIP_MOULDED_FORM_SCHEMA.GLOBAL_UNIT_ASSIGNED_CONTEXT'

IN TYPEOF(REPRESENTATION[i].CONTEXT_OF_ITEMS));

END_IF;

END_REPEAT;

END_REPEAT;

WHERE

WRI: has_guac;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта representation, содержащего объект value_representation_items или geometric_representation_items, имеется объект representation_context, представляющий собой global_unit_assigned_context.

5.2.4.115 Правило representation_items_appendage_moulded_form_design_-parameter

Правило representation_items_appendage_moulded_form_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_ representation, атрибут name которого имеет значение 'appendage moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representation_items_appendage_moulded_form_design_parameter FOR (representation) ;

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['moulded form outer surface',

'moulded form displacement', 'user def appendage type']; found: LOGICAL := FALSE;

END_LOCAL;

(* Find all instances of representation which are used by a property_definition_ representation with name equal to 'appendage moulded form design parameter' *) reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name =

'appendage moulded form design parameter') ) ) > 0

) ;

(* iterate over all representations found above. Stop, if for one of them the names of its representation_items are duplicated. *)

REPEAT i:=l TO HIINDEX (reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found);

found := (SIZEOF(QUERY(rep_item <* reps[i].items I

rep_item.name=arg_list[j])) > 1);

END_REPEAT;

END_REPEAT;

367

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: NOT found;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representationjtem, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'appendage moulded form design parameter', значения 'moulded form outer surface', 'moulded form displacement' или 'user def appendage type' не должны возникать более одного раза в качестве значения атрибута name объекта representationjtem.

5.2.4.116 Правило representationJtemsJor_bottom_mouldedJorm_design_para-meter

Правило representationjtemsjor_bottom_mouldedjorm_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_ representation, атрибут name которого имеет значение 'bottom moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representation_items_for_bottom_moulded_form_design_parameter FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['moulded form outer surface',

'moulded form displacement'];

found: LOGICAL := FALSE;

END_LOCAL;

(* Find all instances of representation which are used by a property_definition_ representation with name equal to 'bottom moulded form design parameter' *) reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name =

'bottom moulded form design parameter') )

) > 0

) ;

(* iterate over all representations found above. Stop, if for one of *) (* them the names of its representation_items are duplicated. *)

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found);

found := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name=arg_list[j])) > 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT found;

END_RULE;

(* ’

368

ГОСТ Р ИСО 10303-216—2023

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representation_item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'bottom moulded form design parameter', значения 'moulded form outer surface' или 'moulded form displacement' не должны возникать более одного раза в качестве значения атрибута name объекта representation_item.

5.2.4.117 Правило representation Jtems_for_bulb_moulded_form_design_parameter

Правило representation_items_for_bulb_moulded_form_design_parameter определяет наличие для атрибута item объекта representation для каждой записи в перечне нулевого или единичного объекта representation_item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_represen-tation, атрибут name которого имеет значение 'bulb moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representation_items_for_bulb_moulded_fоrm_design_parameter FOR (representation) ;

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['moulded form outer surface',

'moulded form displacement']; found: LOGICAL := FALSE;

END_LOCAL;

(* Find all instances of representation which are used by a property_definition_ representation with name equal to 'bulb moulded form design parameter' *)

reps := QUERY(

temp_rep <* representation I

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name =

'bulb moulded form design parameter') )

) > 0

) ;

(* iterate over all representations found above. Stop, if for one of them the names of its representation_items are duplicated. *)

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found);

found := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name=arg_list[j])) > 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT found;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representation item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition

369

ГОСТ Р ИСО 10303-216—2023

объекта property_definition_representation с name = 'bulb moulded form design parameter', значения 'moulded form outer surface' или 'moulded form displacement' не должны возникать более одного раза в качестве значения атрибута name объекта representationjtem.

5.2.4.118 Правило representationJtemsJor_deck_mouldedJorm_design_parameter

Правило representationjtemsjordeckmoulded Jorm_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used representation в объекте property_definition_ representation, атрибут name которого имеет значение 'deck moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representation_items_for_deck_moulded_form_design_parameter FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['moulded form outer surface',

'moulded form displacement']; found: LOGICAL := FALSE;

END_LOCAL;

(* Find all instances of representation which are used by a property_definition_ representation with name equal to 'deck moulded form design parameter' *)

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name =

'deck moulded form design parameter') )

) > 0

) ;

(* iterate over all representations found above. Stop, if for one of them the names of its representation_items are duplicated. *)

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found);

found := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name=arg_list[j])) > 1) ;

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT found; END_RULE; (*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representationjtem, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property definition representation с name = 'deck moulded form design parameter', значения 'moulded form outer surface' или 'moulded form displacement' не должны возникать более одного раза в качестве значения атрибута name объекта representationjtem.

5.2.4.119 Правило representationJtemsJor_hull_mouldedJorm_design_parameter

Правило representationjtemsjor_hull_mouldedjorm_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного 370

ГОСТ Р ИСО 10303-216—2023

объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_ representation, атрибут name которого имеет значение 'hull moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representation_items_for_hull_moulded_form_design_parameter FOR (representation) ;

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['moulded form outer surface', 'moulded form displacement', 'waterline angle of entrance at stern', 'waterline angle of entrance at bow', 'max frame section area location', 'hull length pp', 'hull length waterline', 'hull breadth', 'hull depth', 'hull design draught', 'gunwale radius'];

found: LOGICAL := FALSE;

END_LOCAL;

(* Find all instances of representation which are used by a property_definition_ representation with name equal to 'hull moulded form design parameter' *)

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'hull moulded form design parameter') ) ) > 0 ) ;

(* iterate over all representations found above. Stop, if for one of them the names of its representation_items are duplicated. *)

REPEAT i:=l TO HIINDEX (reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found);

found := (SIZEOF(QUERY(rep_item <* reps[i].items | rep_item.name=arg_list[j])) > 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT found; END_RULE;

(* ’

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representationjtem, на которые дана ссылка из атрибута items каждого объекта representation, на который приведена ссылка из атрибута definition объекта property_ definition representation с name = 'hull moulded form design parameter', значения: 'moulded form outer

371

ГОСТ Р ИСО 10303-216—2023

surface', 'moulded form displacement', 'waterline angle of entrance at stern', 'waterline angle of entrance at bow', 'max frame section area location', 'hull length pp', 'hull length waterline', 'hull breadth', 'hull depth', 'hull design draught' или 'gunwale radius' не должны возникать более одного раза в качестве значений атрибута name объекта representationjtem.

5.2.4.120 Правило representationJtemsJor_moulded_form_design_parameters

Правило representationjtems_for_moulded_form_design_parameters определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект usedrepresentation в объекте property_definition_ representation, атрибут name которого имеет значение 'moulded form design parameters'.

EXPRESS-спецификация:

*)

RULE representation_items_for_moulded_form_design_parameters FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['status'];

found: LOGICAL := FALSE;

END_LOCAL;

(* Find all instances of representation which are used by a property_definition_ representation with name equal to 'moulded form design parameters' *)

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'moulded form design parameters') ) ) > 0

) ;

(* iterate over all representations found above. Stop, if for one of them the names of its representation_iterns are duplicated. *)

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found);

found := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name=arg_list[j])) > 1);

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT found; END_RULE;

(* ’

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representation_item, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'moulded form design parameters', значение 'status' не должно возникать более одного раза в качестве значения атрибута name объекта representationjtem.

5.2.4.121 Правило representationJtemsJor_mouldedJormJunction_parameters

Правило representationjtems_for_mouldedjormjunction_parameters определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного 372

ГОСТ Р ИСО 10303-216—2023

объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_ representation, атрибут name которого имеет значение 'moulded form function parameters'.

EXPRESS-спецификация:

*)

RULE representation_items_for_moulded_form_function_parameters FOR (representation) ;

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['user def function'];

found: LOGICAL := FALSE;

END_LOCAL;

(* Find all instances of representation which are used by a property_definition_ representation with name equal to 'moulded form function parameters' *)

reps := QUERY (

temp_rep <* representation I

SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'moulded form function parameters') ) ) > 0

) ;

(* iterate over all representations found above. Stop, if for one of them the names of its representation_iterns are duplicated. *)

REPEAT i:=l TO HIINDEX (reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found);

found := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name=argjist[j] ) ) > 1);

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT found; END_RULE;

(* ’

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representationjtem, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'moulded form function parameters', значение 'user def function' не должно возникать более одного раза в качестве значений атрибута name объекта representationjtem.

5.2.4.122 Правило representationJtems_propeller_mouldedJorm_design_parameter

Правило representationjtems_propeller_mouldedjorm_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_ representation, атрибут name которого имеет значение 'propeller moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE repre s entat i on_i tems_p rope11e r_mou1ded_form_de s ign_pa ramete r FOR (representation);

373

ГОСТ Р ИСО 10303-216—2023

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['blade_mean_height',

'moulded form outer surface', 'moulded form displacement']; found: LOGICAL := FALSE;

END_LOCAL;

(* Find all instances of representation which are used by a property_definition_ representation with name equal to 'propeller moulded form design parameter' *) reps := QUERY(

temp_rep < * representation |

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name =

'propeller moulded form design parameter')

) > 0 ) ;

(* iterate over all representations found above. Stop, if for one of them the names of its representation_items are duplicated. *)

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found);

found := (SIZEOF(QUERY(rep_item <* reps[i].items I

rep_item.name=arg_list[j])) > 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT found;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representationjtem, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'propeller moulded form design parameter', значения 'blade_mean_height', 'moulded form outer surface' или 'moulded form displacement' не должны возникать более одного раза в качестве значения атрибута name объекта representationjtem.

5.2.4.123 Правило representationJtemsJor_rudder_mouldedJorm_design_parameter

Правило representationjtemsjor_rudder_mouldedjorm_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used representation в объекте property_definition_ representation, атрибут name которого имеет значение 'rudder moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE repre sentat ion_i tems_f о r_rudde r_moulded_f о rm_de s ign_parame te r FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [] ;

arg_list: LIST OF STRING := ['moulded form outer surface',

374

ГОСТ Р ИСО 10303-216—2023

'moulded form displacement']; found: LOGICAL := FALSE;

END_LOCAL;

(* Find all instances of representation which are used by a property_definition_ representation with name equal to 'rudder moulded form design parameter' *)

reps := QUERY( temp_rep <* representation | SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'rudder moulded form design parameter') ) ) > 0 ) ;

(* iterate over all representations found above. Stop, if for one of them the names of its representation_iterns are duplicated. *)

REPEAT i:=l TO HIINDEX (reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found); found := (SIZEOF(QUERY(rep_item <* reps[i].items I rep_item.name=arg_list[j])) > 1);

END_REPEAT;

END_REPEAT;

WHERE wrl: NOT found; END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representationjtem, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'rudder moulded form design parameter', значения 'moulded form outer surface' или 'moulded form displacement' не должны возникать более одного раза в качестве значения атрибута name объекта representationjtem.

5.2.4.124 Правило representationJtems_ofJhruster_mouldedJorm_design_para-meter

Правило representationjtems_ofjhruster_mouldedjorm_design_parameter определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_ representation, атрибут name которого имеет значение 'thruster moulded form design parameter'.

EXPRESS-спецификация:

*)

RULE representation_items_of_thruster_moulded_form_design_parameter FOR (representation); LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['moulded form outer surface', 'moulded form displacement'];

found: LOGICAL := FALSE; END_LOCAL;

375

ГОСТ Р ИСО 10303-216—2023

(* Find all instances of representation which are used by a property_definition_ representation with name equal to 'thruster moulded form design parameter' *)

reps := QUERY( temp_rep <* representation | SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, ’SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'thruster moulded form design parameter') ) ) > 0 ) ;

(* iterate over all representations found above. Stop, if for one of them the names of its representation_items are duplicated. *)

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found); found := (SIZEOF(QUERY(rep_item <* reps[i].items | rep_item.name=arg_list[j])) > 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT found;

END_RULE;

(*

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

representation; набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representationjtem, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property definition representation с name = 'thruster moulded form design parameter', значения 'moulded form outer surface' или 'moulded form displacement' не должны возникать более одного раза в качестве значения атрибута name объекта representationjtem.

5.2.4.125 Правило representationJtemJorJransformationJo_parent

Правило representation_itemjorjransformationjo_parent определяет, что на экземпляр объекта property_definition с идентификатором класса 'local со ordinate system' приведена ссылка только из одного экземпляра объекта representation map через mapped representation.

EXPRESS-спецификация:

*)

RULE

representation_item_for_transformation_to_parent

FOR(APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF property_definition := [];

t2_set: SET OF property_definition_representation := [];

t3_set: SET OF representation := [];

t4_set: SET OF representation_map := [];

t5_set: SET OF mapped_item := [];

arg_list: LIST OF STRING :=

['local coordinate system position in global coordinate system', 'local coordinate system position in parent local coordinate system', 'local coordinate system position in parent local coordinate system with position reference'];

violationsl LOGICAL := FALSE;

violation2: LOGICAL := FALSE;

376

ГОСТ Р ИСО 10303-216—2023

END_LOCAL;

C_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME = 'local co ordinate system');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items); tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violationl;

t2_set := bag_to_set(USEDIN(tl_set[i] , 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION'));

violationl := NOT (SIZEOF(QUERY(t2_inst <* t2_set | t2_inst.used_representation.name = 'local axis representation')) = 1) ;

t3_set := t3_set + t2_set[i].used_representation;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violationl;

t4_set := bag_to_set(USEDIN(t3_set[i] ,

'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION_MAP.MAPPED_REPRESENTATION')); END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violationl;

t5_set := bag_to_set(USEDIN(t4_set[i],

'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM.MAPPING_SOURCE'));

REPEAT j := 1 TO 3 WHILE NOT violation2;

violation2 := NOT (SIZEOF(QUERY(t2_inst <* t5_set | t2_inst.name = ARG_LIST[j])) = 1);

END_REPEAT;

END_REPEAT;

WHERE

WRI: NOT violationl;

WR2: NOT violation2;

END_RULE;

(* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый объект property definition, на который дана ссылка из объекта appliedclassifi-cation_assignment с assigned_class.name = 'local со ordinate system', приведена ссылка только из одного атрибута property_definition_representation.definition, где property_definition_representation. name = 'local co ordinate system', и атрибута used_representation, представляющего собой объект representation с name = 'local axis representation'.

WR2: Для каждого объекта mappedjtem co значением: 'local coordinate system position in global coordinate system', 'local coordinate system position in parent local coordinate system' или 'local coordinate system position in parent local coordinate system with position reference' для name имеется атрибут mapping_source, который указывает объект representation_map, содержащий атрибут mapped_ representation, указывающий объект representation с name = 'local axis representation'.

5.2.4.126 representationJtems_optionalJor_class_notation

Правило representation items_optionaljor_class_notation определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'class notation'.

377

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE representation_items_optional_for_class_notation FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['ice class notation','service factor', 'approval required for heavy cargo'];

found: LOGICAL := FALSE;

END_LOCAL;

reps : = QUERY(

temp_rep <* representation |

SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'class notation') ) ) > 0

) ;

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found);

found := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name=arg_list[j])) > 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT found;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representationjtem, на которые дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута definition объекта property_definition_representation с name = 'class notation', значения 'ice class notation', 'service factor' или 'approval required for heavy cargo' не должны возникать более одного раза в качестве значений атрибута name объекта representationjtem.

5.2.4.127 Правило representationJtems_optionalJor_owner_designation

Правило representationjtems_optionaljor_owner_designation определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте propertydefinitionrepre-sentation, атрибут name которого имеет значение 'owner designation'.

EXPRESS-спецификация:

*)

RULE representation_items_optional_for_owner_designation

FOR (representation) ;

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['owner approval'];

found: LOGICAL := FALSE;

END_LOCAL;

(* Find all instances of representation which are used by a property_definition_ representation with name equal to 'owner designation' *)

378

ГОСТ Р ИСО 10303-216—2023

reps := QUERY(temp_rep <* representation |

SIZEOF (QUERY(temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'owner designation'))) > 0 );

(* iterate over all representations found above. Stop, if for one of them the names of its representation_iterns are duplicated. *) REPEAT i:=l TO HIINDEX(reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found);

found := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name = arg_list[j])) > 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT found;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representationjtem, на которык дана ссылка посредством атрибута items каждого объекта representation, на который приведена ссылка посредством атрибута used_ representation объекта propertydefinitionrepresentation с name = 'owner designation', значение 'owner approval' не должно возникать более одного раза в качестве значения атрибута name объекта representationjtem.

5.2.4.128 Правило representationJtems_optionalJor_principal_characteristics

Правило representationjtems_optionaljor_principal_characteristics определяет наличие для атрибута items объекта representation для каждой записи в перечне нулевого или единичного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_ representation, атрибут name которого имеет значение 'principal characteristics'.

EXPRESS-спецификация:

*)

RULE representation_items_optional_for_principal_characteristics FOR (representation) ;

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['block coefficient',

'design draught',

'design deadweight', 'min draught at fp' , 'max draught at fp', 'min draught at ap',

'max draught at ap'];

found: LOGICAL := FALSE;

END_LOCAL;

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'principal characteristics')

379

ГОСТ Р ИСО 10303-216—2023

) > 0 ) ;

REPEAT i:=l ТО HIINDEX(reps) WHILE (NOT found);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT found);

found := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name=arg_list[j])) > 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT found;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для всех объектов representationjtem, на которые дана ссылка из атрибута items каждого объекта representation, на который приведена ссылка из атрибута definition объекта property_ definition_representation с name = 'principal characteristics', значения: 'block coefficient', 'design draught', 'design deadweight', 'min draught at fp', 'max draught at fp', 'min draught at ap', 'max draught at ap' не должны возникать более одного раза в качестве значений атрибута name объекта representationjtem.

5.2.4.129 Правило representation_restricted_by_name_class_notation

Правило representation_restricted_by_name_class_notation определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'class notation'.

EXPRESS-спецификация:

*)

RULE representation_restricted_by_name_class_notation FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['service area',

'approval required for oil cargo',

'approval required for loading unloading aground', 'approval required for unloading grabs'];

violation: LOGICAL := FALSE;

END_LOCAL;

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'class notation') ) ) > 0

) ;

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items I

rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

380

ГОСТ Р ИСО 10303-216—2023

END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(* ’

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'class notation' должен использоваться объект representation, содержащий только один элемент (item) из своего набора items, который должен быть типом объекта representationjtem с именем (name) со значением: 'service area', 'approval required for oil cargo', 'approval required for loading unloading aground' или 'approval required for unloading grabs'.

5.2.4.130 Правило representation_restricted_by_name_class_parameters

Правило representationrestrictedbynameclassparameters определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representation_ item, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used representation в объекте property definition representation, атрибут name которого имеет значение 'class parameters'.

EXPRESS-спецификация:

*)

RULE representation_restгicted_by_name_class_parameters

FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['length class', 'length solas',

'scantlings draught', 'block coefficient class', 'design speed ahead','design speed astern'];

violation: LOGICAL := FALSE;

END_LOCAL;

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'class parameters') ) ) > 0 ) ;

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'class parameters' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items,

381

ГОСТ Р ИСО 10303-216—2023

который должен быть типом объекта representationjtem с именем (name) со значением 'length class', 'length solas', 'scantlings draught', 'block coefficient class', 'design speed ahead' или 'design speed astern'.

5.2.4.131 Правило representation_restricted_by_name_principal_characteristics

Правило representation_restricted_by_name_principal_characteristics определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_representation, атрибут name которого имеет значение 'principal characteristics'.

EXPRESS-спецификация:

*)

RULE representation_restricted_by_name_principal_characteristics FOR (representation);

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['length between perpendiculars',

'moulded breadth', 'moulded depth']; violation: LOGICAL := FALSE;

END_LOCAL;

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'principal characteristics') ) ) > 0

) ;

REPEAT i:=l TO HIINDEX(reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items I

rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'principal characteristics' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name), имеющим значение 'length between perpendiculars', 'moulded breadth' или 'moulded depth'.

5.2.4.132 Правило representation_restricted_by_name_ship_overall_dimensions

Правило representation_restricted_by_name_ship_overall_dimensions определяет наличие для атрибута items объекта representation для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне, если объект representation представляет собой объект used_representation в объекте property_definition_repre-sentation, атрибут name которого имеет значение 'ship overall dimensions'.

EXPRESS-спецификация:

*)

RULE representation_restricted_by_name_ship_overall_dimensions

382

ГОСТ Р ИСО 10303-216—2023

FOR (representation) ;

LOCAL

reps: BAG OF REPRESENTATION := [];

arg_list: LIST OF STRING := ['overall breadth', 'overall depth',

'overall length', 'stem overhang'', 'stern overhang']; violation: LOGICAL := FALSE;

END_LOCAL;

reps := QUERY(

temp_rep <* representation |

SIZEOF (

QUERY(

temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.'+'USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'ship overall dimensions') ) ) > 0

) ;

REPEAT i:=l TO HIINDEX (reps) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

violation := (SIZEOF(QUERY(rep_item <* reps[i].items |

rep_item.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта property_definiton_representation с name = 'ship overall dimensions' должен использоваться объект representation, содержащий только один элемент (item) в своем наборе items, который должен быть типом объекта representationjtem с именем (name), имеющим значение 'overall breadth', 'overall depth', 'overall length', 'stem overhang' или 'stern overhang'.

5.2.4.133 Правило revision_has_mandatory_attribute_description

Правило revision_has_mandatory_attribute_description определяет, что для экземпляра объекта group с идентификатором класса 'revision' создается экземпляр необязательного атрибута description.

EXPRESS-спецификация:

*)

RULE

revision_has_mandatory_attribute_description FOR (group);

LOCAL

tl_set: SET OF group : = [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(i <* group | VALUE_IN(WHICH_CLASS(i), 'revision'));

violate := (SIZEOF(QUERY(k <* tl_set |

NOT EXISTS (k.description))) > 0);

WHERE

WRI: NOT violate;

END_RULE;

(* ’

383

ГОСТ Р ИСО 10303-216—2023

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

group: набор всех экземпляров объектов group.

Формальные высказывания:

WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта group, содержащего объект applied_classification_assignment, чей объект assigned_class представляет собой group с атрибутом name, значение которого равно 'revision'.

5.2.4.134 Правило revision_with_context_referenced_for_context_of_revision

Правило revision_with_context_referenced_for_context_of_revision определяет, что на каждый экземпляр типа group с классификацией 'revision' должна быть дана ссылка только из одного присваивания типа applied_group_assignment со значением роли 'context of revision' через атрибут assigned_group.

EXPRESS-спецификация:

*)

RULE

revision_with_context_referenced_for_context_of_revision FOR(applied_group_ assignment, group);

LOCAL

tl_set: SET OF group := [];

a_set: SET OF applied_group_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* group I

VALUE_IN(WHICH_CLASS(a), 'revision with context'));

REPEAT i := 1 TO HIINDEX (tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_group_assignment I

(b.assigned_group = tl_set[i]) AND

(b.role.name = 'context of revision'));

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_group_assignment: набор всех экземпляров объектов applied_group_assignment.

group: набор всех экземпляров объектов group.

Формальные высказывания:

WR1: На каждый экземпляр объекта group, содержащий объект applied_classification_ assignment, чей объект assigned_classification представляет собой объект group со значением 'revision with context' для атрибута name, должна даваться ссылка только из одного экземпляра вида applied_group_assignment, со значением роли 'context of revision', через атрибут assigned_group.

5.2.4.135 Правило ship_curve_has_name

Правило ship_curve_has_name определяет наличие у атрибута item_element объекта compound_ representationjtem с идентификатором класса 'ship curve' в объекте list_representation_item для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE ship_curve_has_name

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_item := [];

t2_set: SET OF representation_item := [];

arg_list: LIST OF STRING := ['side condition', 'curve shape']; violation: LOGICAL := FALSE;

384

ГОСТ Р ИСО 10303-216—2023

END_LOCAL;

(* get all classification_assignment instances with id 'ship curve' *) c_a_5et := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'ship curve');

(* get all instances of compound_representation_item that have class id 'ship curve' *) REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j] ;

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found above; stop, if one of them has not exactly one rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set I items.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound representation item, содержащего объект applied_classification_assignment со значением атрибута assigned class.name, равным 'ship curve', должен быть свой атрибут item_ element, экземпляр которого приведен как list_representation_item, который должен для каждого из следующих значений: 'side condition' или 'curve shape' забирать только один экземпляр объекта representationjtem с атрибутом name, значение которого равно этому значению.

5.2.4.136 Правило ship_curve_segment_has_class

Правило ship_curve_segment_has_class определяет наличие для атрибута item_element объекта compound_representationjtem с идентификатором класса 'ship curve segment' в объекте list_ representationjtem только одного объекта compound_representationjtem с идентификатором класса 'ship curve'.

EXPRESS-спецификация:

*)

RULE ship_curve_segment_has_class

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

C_a_set2 : SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];

t2_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];

t3_set: SET OF REPRESENTATION_ITEM := [];

l_rep_item : list_representation_item;

violation: LOGICAL := FALSE;

END LOCAL;

385

ГОСТ Р ИСО 10303-216—2023

(* get all classification_assignment instances with id 'ship curve segment' *)

C_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'ship curve segment');

(* get all instances of compound_representation_item that have class id 'ship curve segment' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all classification_assignment instances with id 'ship curve' *)

C_a_set2 := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.ASSIGNED_CLASS.NAME = 'ship curve');

(* get all instances of compound_representation_item that have class id 'ship curve' *)

REPEAT i := 1 TO HIINDEX(c_a_set2);

REPEAT j := 1 TO HIINDEX(c_a_set2[i].items);

t2_set := t2_set + c_a_set2[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found in the first list; then iterate over all item_element for each compound_representation_item, check that the intersection of these item_elements and and the second list of compound_representation item is egual 1 *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j := 1 TO HIINDEX(tl_set[i].item_element);

l_rep_item := tl_set[i].item_element;

t3_set := t3_set + l_rep_item[j];

END_REPEAT;

violation := (SIZEOF(t3_set * t2_set) <> 1);

t3_set:= [ ] ;

END REPEAT;

WHERE wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied classification assignment, чей атрибут assigned_class.name равен значению 'ship curve segment1, должен быть свой атрибут item element, экземпляр которого приведен как listrepresenta-tion_item, который должен забирать только один экземпляр объекта compound_representation_item, содержащего объект applied classification assignment, чей атрибут assigned_class равен значению 'ship curve'.

5.2.4.137 Правило ship_curve_with_spacing_position_has_class

Правило ship_curve_with_spacing_position_has_class определяет наличие у атрибута item_ element объекта compound_representation_item с идентификатором класса 'ship curve with spacing position' в объекте list_representation_item только одного объекта compound_representation_item с идентификатором класса 'spacing position'.

386

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE ship_curve_with_spacing_position_has_class

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT); LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

c_a_set2 : SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];

t2_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];

t3_set: SET OF REPRESENTATION_ITEM := [];

l_rep_item : list_representation_item;

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'ship curve with spacing position' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'ship curve with spacing position');

(* get all instances of compound_representation_item that have class id 'ship curve with spacing position' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all classification_assignment instances with id 'spacing position' *) c_a_set2 := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'spacing position');

(* get all instances of compound_representation_item that have class id 'spacing position' *)

REPEAT i := 1 TO HIINDEX(c_a_set2);

REPEAT j := 1 TO HIINDEX(c_a_set2[i].items);

t2_set := t2_set + c_a_set2[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found in the first list; then iterate over all item_element for each compound_representation_item, check that the intersection of these item_elements and and the second list of compound_ representation_item is equal 1 *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j := 1 TO HIINDEX(tl_set[i].item_element);

l_rep_item := tl_set[i].item_element;

t3_set := t3_set + l_rep_item[j];

END_REPEAT;

violation := (SIZEOF(t3_set * t2_set) <> 1) ;

t3_set:= [];

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE; (*

387

ГОСТ Р ИСО 10303-216—2023

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class.name равен значению 'ship curve with spacing position', должен быть свой атрибут item_element, экземпляр которого приведен как list_rep-resentation_item, который должен забирать только один экземпляр объекта compoundrepresenta-tion_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class равен значению 'spacing position'.

5.2.4.138 Правило ship_designation_has_one_specified_names

Правило ship_designation_has_one_specified_names определяет, что на экземпляр объекта product_definition с идентификтором класса 'ship designation' приведена ссылка только из одного экземпляра объекта applied_identification_assignment через items, у которого атрибут role, определяющий объект с атрибутом name, имеет значение 'imo number' или 'pennant hull number'.

EXPRESS-спецификация:

*)

RULE ship_designation_has_one_specified_names FOR(applied_classification_ assignment);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF product_definition := [];

t2_set: SET OF applied_identification_assignment := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = 'ship designation');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY(t2_inst <* t2_set I (t2_inst.role.name =

'imo number')OR (t2_inst.role.name = 'pennant hull number') )) = 1);

END_REPEAT;

WHERE

WRI: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый экземпляр объекта product_definition, содержащий объект appliedclassifica-tion_assignment, где assigned_class представляет собой group с атрибутом name со значением 'ship designation', приведена ссылка только из одного экземпляра объекта appliedidentificationassign-ment через атрибут items, чей атрибут role представляет собой identification role с атрибутом name, равным либо 'imo number', либо 'pennant hull number'.

5.2.4.139 Правило ship_moulded_form_revision_has_description

Правило ship_moulded_form_revision_has_description определяет, что для экземпляра объекта product definition relatonship с идентификатором класса 'ship moulded form revision' создается экземпляр необязательного атрибута description.

388

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE ship_moulded_form_revision_has_description

FOR (product_definition_relationship);

LOCAL

tl_set: SET OF product_definition_relationship := [];

violate: LOGICAL := FALSE;

END_LOCAL;

(* get all instances of product_definition_relatonship being classified as 'ship moulded form revision' *)

tl_set := QUERY(i <* product_definition_relationship |

VALUE_IN(WHICH_CLASS(i), 'ship moulded form revision'));

(* from all instances found above: find those for which attribute description is not instanciated *)

violate := (SIZEOF(QUERY(k <* tl_set I NOT EXISTS (k.description))) > 0);

WHERE

wrl: NOT violate;

END_RULE;

(*

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

product_definition_relatonship: набор всехэкземпляров объектов product_definition_relatonship.

Формальные высказывания:

WR1: Необязательный атрибут description должен существовать для каждого экземпляра объекта product definition relatonship, у которого есть объект applied_classification_assignment со значением 'ship moulded form revision' для assigned_class.name.

5.2.4.140 Правило ship_overall_dimensions_has_properties

Правило ship_overall_dimensions_has_properties определяет, что на объект product_definition с идентификатором класса 'ship overall dimensions' приведена ссылка из одного объекта property_ definition_representation со значением имени 'ship overall dimensions' через объект property_definition.

EXPRESS-спецификация:

*)

RULE ship_overall_dimensions_has_properties

FOR (property_definition_representation, applied_classification_assignment);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: LIST OF product_definition := [];

t2_set: SET OF property_definition_representation := [];

t3_set: LIST OF property_definition := [];

t4_set: LIST OF product_definition := [];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY (i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME =

'ship overall dimensions');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

t2_set:= QUERY(i <* PROPERTY_DEFINITION_REPRESENTATION |

i.NAME = 'ship overall dimensions');

REPEAT i := 1 TO HIINDEX(t2 set);

389

ГОСТ Р ИСО 10303-216—2023

t3_set := t3_set + t2_set[i].definition;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t3_set) ;

t4_set := t4_set + t3_set[i].definition;

END_REPEAT;

violation := tl_set <> t4_set; WHERE

WRI: NOT violation;

END_RULE;

(*

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

propertydefinitionrepresentation: набор всех экземпляров объектов property_definition_ representation.

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: На каждый экземпляр объекта product_definition, содержащий объект applied_ classification_assignment, чей атрибут assigned_class представляет собой group со значением 'ship overall dimensions' для атрибута name, должна быть дана ссылка только из одного экземпляра объекта property_definition через атрибут definition, на который, в свою очередь, приведена ссылка из экземпляра объекта property definition representation через атрибут definition, значение атрибута name которого равно 'ship overall dimensions'.

5.2.4.141 Правило ship_point_compound_representation_has_name

Правило ship_point_compound_representation_has_name определяет наличие у атрибута item_element объекта compound_representation_item с идентификатором класса 'ship point' в объекте list_representation_item для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE ship_point_compound_representation_has_name

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_item := [];

t2_set: SET OF representation_item := [];

arg_list: LIST OF STRING := ['point shape'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'ship point' *) c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'ship point');

(* get all instances of compound_representation_item that have class id 'ship point' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found above; stop, if one of them has not exactly one rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

390

ГОСТ Р ИСО 10303-216—2023

violation := (SIZEOF(QUERY(items <* t2_set I items.name = arg_list[j])) <> 1) ; END_REPEAT;

END REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_classification_assignment со значением атрибута assigned-class.name, равным 'ship point', должен быть свой атрибут item_element, экземпляр которого созприведена как list_representation_ item, который должен для каждого из значений 'point shape' забирать только один экземпляр объекта representationjtem с атрибутом name, значение которого равно этому значению.

5.2.4.142 Правило ship_surface_compound_representation_has_name

Правило ship_surface_compound_representation_has_name определяет наличие у атрибута item_element объекта compound_representationjtem с идентификатором класса 'ship surface' в объекте list_representationjtem для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE ship_surface_compound_representation_has_name

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_itern := [];

t2_set: SET OF representation_item := [];

arg_list: LIST OF STRING := ['surface shape'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'ship surface' *) c_a_set := QUERY (i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'ship surface');

(* get all instances of compound_representation_item that have class id 'ship surface' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END REPEAT;

(* iterate over all compound_representation_item found above; stop, if one of them has not exactly one rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set I items.name = arg_list[j])) <> 1); END_REPEAT;

END REPEAT;

WHERE

391

ГОСТ Р ИСО 10303-216—2023

wrl: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект ар-plied_classification_assignment со значением атрибута assigned_class.name, равным 'ship surface', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из значений 'surface shape' забирать только один экземпляр объекта representationjtem с атрибутом name, значение которого равно этому значению.

5.2.4.143 Правило spacing_position_compound_representation_has_name

Правило spacing_position_compound_representation_has_name определяет для атрибута item_element объекта compound_representationjtem с идентификатором класса 'spacing position' наличие в перечне объектов representationjtem для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE spacing_position_compound_representation_has_name FOR (applied_classification_assignment);

LOCAL

c_a_set; SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_item := [];

t2_set: SET Of representation_item := [];

arg_list: LIST OF STRING := ['position number', 'position']; violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.assigned_class.NAME = 'spacing position');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set I

items.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE

WRI: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied classification assignment, где атрибут assigned_class представляет собой group с атри-392

ГОСТ Р ИСО 10303-216—2023

бутом name, равным 'spacing position', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из значений 'position number' или 'position' забирать только один экземпляр объекта representationjtem с атрибутом name, значение которого равно этому значению.

5.2.4.144 Правило spacing_position_with_offset_compound_representation_has_class

Правило spacing_position_with_offset_compound_representation_has_class задает атрибут item_element для compound_representationjtem с идентификатором класса 'spacing position with offset' для получения в list_representationjtem ровно одного compoundrepresentationjtem с идентификатором класса 'spacing position'.

EXPRESS-спецификация:

*)

RULE spacing_position_with_offset_compound_representation_has_class

FOR (applied_classification_assignment);

LOCAL

t3_set : SET OF representation_item := [];

violation : LOGICAL : = FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

c_a_set2 : SET OF app1ied_c1assification_assignment := [];

l_rep_item : list_representation_item;

t2_set : SET OF compound_representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'spacing position with offset') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c_a_set2 := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'spacing position') );

REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;

t2_set := t2_set + c_a_set2[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(tl_set[i].item_element) BY 1; l_rep_item := tl_set[i].item_element;

t3_set := t3_set + l_rep_item[j];

END_REPEAT;

violation := SIZEOF(t3_set * t2_set) <> 1;

t3_set := [ ] ;

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE;

(*

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

appliedclassificationassignment: набор всех экземпляров applied classification assignment.

Формальные высказывания:

WR1: Каждый экземпляр compound representation item, у которого есть applied_classification_ assignment, чей атрибут assigned_class является группой group с равной 'spacing position with offset' атрибута имени name, должен иметь свой атрибут item_element в качестве list_representation item, который должен забирать ровно один экземпляр compound_representationjtem, имеющий назначение applied classification assignment, чей атрибут assigned_class равен 'spacing position'.

393

ГОСТ Р ИСО 10303-216—2023

5.2.4.145 Правило spacing_position_with_offset_comроиnd_representation_has_naте

Правило spacing_position_with_offset_compound_representation_has_name определяет для атрибута item_element объекта compound_representation_item с идентификатором класса 'spacing position' наличие в перечне объектов representationjtem для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE spacing_position_with_offset_compound_representation_has_name

FOR (applied_classification_assignment); LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_item := [];

t2_set: SET Of representation_item := [];

arg_list: LIST OF STRING := ['offset'];

violation: LOGICAL := FALSE;

END_LOCAL;

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME =

'spacing position with offset');

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set I

items.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE

WRI: NOT violation;

END_RULE;

(*

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representationjtem, содержащего объект appliedclassificationassignment, где атрибут assigned_class представляет собой group с атрибутом name, равным 'spacing position with offset', должен быть свой атрибут item_element, экземпляр которого приведен как list_representationjtem, который должен для каждого из значений 'offset' забирать только один экземпляр объекта representationjtem с атрибутом name, значение которого равно этому значению.

5.2.4.146 Правило stability_propertiesjor_floating_position_has_class

Правило stability properties for floating position has class определяет наличие у атрибута item_element объекта compound_representationjtem с идентификатором класса 'stability properties for one floating position' в объекте list_representationjtem одного или более объектов compound_ representationjtem с идентификатором класса 'stability property'.

EXPRESS-спецификация:

*)

RULE

394

ГОСТ Р ИСО 10303-216—2023

stability_properties_for_fLoating_position_has_class

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT); LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

c_a_set2 : SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];

t2_set: SET OF COMPOUND_REPRESENTATION_ITEM := [];

t3_set: SET OF REPRESENTATION_ITEM := [];

l_rep_item : list_representation_item;

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'stability properties for one floating position' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_class.name = 'stability properties for one floating position' ) ;

(* get all instances of compound_representation_item that have class id 'stability properties for one floating position' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get all classification_assignment instances with id 'stability property' *) c_a_set2 := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_class.name = 'stability property');

(* get all instances of compound_representation_item that have class id 'stability property' *)

REPEAT i := 1 TO HIINDEX(c_a_set2);

REPEAT j := 1 TO HIINDEX(c_a_set2[i].items);

t2_set := t2_set + c_a_set2[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found in the first list;

then iterate over all item_element for each compound_representation_item, check that the intersection of these item_elements and the second list of compound_ representation_item is greater than or equal to 1 *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j := 1 TO HIINDEX(tl_set[i].item_element);

l_rep_item := tl_set[i].item_element;

t3_set := t3_set + l_rep_item[j];

END_REPEAT;

violation := (SIZEOF(t3_set * t2_set) < 1) ;

t3_set:= [];

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

395

ГОСТ Р ИСО 10303-216—2023

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representation_item, содержащего объект applied_classification_assignment, чей атрибут assigned_class.name равен значению 'stability properties for one floating position', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен забирать один или более экземпляров объекта compound_ representationjtem, содержащего объект applied_classification_assignment, чей атрибут assigned_ class равен значению 'stability property'.

5.2.4.147 Правило stability properties for floating position has name

Правило stability_propertiesjorjloating_position_has_name определяет для атрибута item_ element объекта compound_representationjtem с идентификатором класса 'stability properties for one floating position' наличие в объекте list_representationjtem для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE

stability_properties_for_floating_position_has_name FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_item := [];

t2_set: SET OF representation_item := [];

arg_list: LIST OF STRING := ['centre of gravity above keel', 'definition of starting floating position'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'stability properties for one floating position' *)

C_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.Assigned_class.name = 'stability properties for one floating position');

(* get all instances of compound_representation_item that have class id 'stability properties for one floating position' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found above; stop, if one of them has not exactly one rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set | items.name = arg_list[j])) <> 1) ;

END_REPEAT ;

END_REPEAT;

WHERE wrl: NOT violation;

END_RULE;

(*

396

ГОСТ Р ИСО 10303-216—2023

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_ classification_assignment со значением атрибута assigned_class.name, равным 'stability properties for one floating position', должен быть свой атрибут item_element, экземпляр которого приведен как list_ representationjtem, который должен для каждого из значений 'centre of gravity above keel' или 'definition of starting floating position' забирать только один экземпляр объекта representationjtem с атрибутом name, значение которого равно этому значению.

5.2.4.148 Правило stability_property_has_name

Правило stability_property_has_name определяет для атрибута item element объекта сот-pound_representationjtem с идентификатором класса 'stability property' наличие в объекте list_ representationjtem для каждой записи в перечне только одного объекта representationjtem, значение атрибута name которого указано в этом перечне.

EXPRESS-спецификация:

*)

RULE stability_property_has_name

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF Compound_representation_itern := [];

t2_set: SET OF representation_item := [];

arg_list: LIST OF STRING := ['angle of heel', 'righting arm', 'centre of buoyancy']; violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances with id 'stability property' *)

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT | i.Assigned_class.name = 'stability property');

(* get all instances of compound_representation_item that have class id 'stability property' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* iterate over all compound_representation_item found above; stop, if one of them has not exactly one rep_item for each name in the arg_list *)

REPEAT i:=l TO HIINDEX(tl_set) WHILE (NOT violation);

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

t2_set := tl_set[i].item_element;

violation := (SIZEOF(QUERY(items <* t2_set I items.name = arg_list[j])) <> 1);

END_REPEAT;

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE ;

(* ’

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

applied_classification_assignment: набор всех экземпляров объектов applied_classification assignment.

397

ГОСТ Р ИСО 10303-216—2023

Формальные высказывания:

WR1: У каждого экземпляра объекта compound_representation_item, имеющего объект applied_ classification_assignment со значением атрибута assigned_class.name, равным 'stability property', должен быть свой атрибут item_element, экземпляр которого приведен как list_representation_item, который должен для каждого из значений 'angle of heel', 'righting arm' или 'centre of buoyancy' забирать только один экземпляр объекта representationjtem с атрибутом name, значение которого равно этому значению.

5.2.4.149 surface_withjdentification_assignment

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

EXPRESS-спецификация:

*)

RULE surface_with_identification_assignment

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set; SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF surface := [];

t2_set: SET OF applied_identification_assignment := [];

arg_list: LIST OF STRING := ['surface with identifier'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances *)

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME = arg_LIST[j]);

END_REPEAT;

(* get all instances of surface that have class id *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS' ) ) ;

t2_set := QUERY ( j <* t2_set I

j.role.name = 'globally unambiguous identifier');

violation := NOT (SIZEOF(T2_SET) = 1);

END_REPEAT;

WHERE wrl: NOT violation; END_RULE;

(*

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

applied_classilication_assignment: набор всех экземпляров applied_classification_assignment.

Формальные высказывания:

WR1: Для каждого экземпляра поверхности surface, на который ссылается application_ classification_assignment, чей assigned_class имеет атрибут имени name со значением «поверхность с идентификатором», должно требоваться applicationjdentification_assignment для определения идентификатора экземпляра.

5.2.4.150 Правило user_def_appendagejype_description_required

Правило user_def_appendagejype_description_required определяет для атрибута representation, содержащего объект descriptive_representation Jtem со значением 'type of appendage' для name и 398

ГОСТ Р ИСО 10303-216—2023

'user defined' для description, наличие другого объекта descriptive_representation_item со значением 'user def appendage type' для name.

EXPRESS-спецификация:

*)

RULE user_def_appendage_type_description_required FOR (REPRESENTATION);

LOCAL

violation: LOGICAL := FALSE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(REPRESENTATION) WHILE NOT violation;

violation := (SIZEOF(QUERY(r <* REPRESENTATION[i].ITEMS |

('SHIP_MOULDED_FORM_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'

IN TYPEOF(r)) AND

(r.NAME = 'type of appendage') AND

(r\DESCRIPTIVE_REPRESENTATION_ITEM.DESCRIPTION = 'user defined'))) > 0) AND

(SIZEOF(QUERY(r <* REPRESENTATION[i].ITEMS |

(r.NAME = 'user def appendage type'))) = 0);

END_REPEAT;

WHERE

WRI: NOT violation;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта representation, содержащего объект descriptive_representation_item со значением 'type of appendage' для name и 'user defined' для description в своем наборе элементов (items), должен быть другой объект descriptive_representation_item со значением 'user def appendage type' для name в его наборе items.

5.2.4.151 Правило user_def_function_description_required

Правило user_def_function_description_required определяет для атрибута representation, содержащего объект descriptive_representation_item со значением 'function' для name и 'user defined' для description, наличие другого объекта descriptive_representation_item со значением 'user def function' для name.

EXPRESS-спецификация:

*)

RULE user_def_function_description_required FOR (REPRESENTATION);

LOCAL

violation: LOGICAL := FALSE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(REPRESENTATION) WHILE NOT violation; violation := (SIZEOF (QUERY(r <* REPRESENTATION[i].ITEMS |

('SHIP_MOULDED_FORM_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'

IN TYPEOF(r)) AND

(r.NAME = 'function') AND

(r\DESCRIPTIVE_REPRESENTATION_ITEM.DESCRIPTION = 'user defined'))) > 0) AND

(SIZEOF(QUERY(r <* REPRESENTATION[i].ITEMS |

(r.NAME = 'user def function'))) = 0);

END REPEAT;

399

ГОСТ Р ИСО 10303-216—2023

WHERE

WRI: NOT violation;

END_RULE;

(*

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

representation: набор всех экземпляров объектов representation.

Формальные высказывания:

WR1: Для каждого объекта representation, содержащего объект descriptive_representation_item со значением 'function' для name и 'user defined' для description в своем наборе элементов (items), должен быть другой объект descriptive_representation_item со значением 'user def function' для name в его наборе items.

5.2.4.152 Правило valid_product_definition_for_class_moulded_form

Правило valid_product_definition_for_class_moulded_form определяет объект product_ definition с классификацией 'ship moulded form', который также представляет собой объект group. На объект group должна быть дана ссылка из объекта applied_group_assignment, чей атрибут role.name = 'item structure' и который собирает экземпляры product_definition с классификацией 'moulded form', и экземпляры product_definition_relationship с классификацией 'moulded form relationship' через свой атрибут applied_group_assignment.items.

EXPRESS-спецификация:

*)

RULE

valid_product_definition_for_class_moulded_form

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT,APPLIED_GROUP_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT:= [];

tl_set: SET OF PRODUCT_DEFINITION := [];

gr_ass: SET OF APPLIED_GROUP_ASSIGNMENT := [];

groups: SET OF GROUP := [];

violation: LOGICAL := FALSE;

violatel, violate2 : LOGICAL;

END_LOCAL;

(* get all classification_assignment instances with id 'ship moulded form' *) c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.ASSIGNED_CLASS.NAME = 'ship moulded form');

(* get all instances of product_definition that have class id 'ship moulded form' *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

(* get the groups associated with these product_definitions *) gr_ass := QUERY(i <* APPLIED_GROUP_ASSIGNMENT |

i.role.name = 'equivalence');

REPEAT i := 1 TO HIINDEX(gr_ass);

REPEAT j := 1 TO HIINDEX(gr_ass[i].items); -- should always be just one

IF (gr_ass[i].items[j] IN tl_set) THEN

groups := groups + gr_ass[i].assigned_group;

END_IF;

END_REPEAT;

END_REPEAT;

(* get the non-empty group_assignments having role 'item structure' and referencing these groups *)

400

ГОСТ Р ИСО 10303-216—2023

gr_ass := QUERY(i <* APPLIED_GROUP_ASSIGNMENT | (SIZEOF(i.items) <> 0) AND (i.role.name = ’item structure') AND (i.assigned_group IN groups));

(* check if there are only instances of class 'moulded form' and of class

'moulded form relationship' in each group_assignment.items *)

REPEAT i := 1 TO HIINDEX(gr_ass) WHILE NOT(violation);

REPEAT j := 1 TO HIINDEX(gr_ass[i].items) WHILE NOT(violation);

violatel := VALUE_IN(WHICH_CLASS(gr_ass[i].items[j]),'moulded form');

violate2 := VALUE_IN(WHICH_CLASS(gr_ass[i].items[j]),'moulded form relationship');

violation := NOT(violatel OR violate2);

END_REPEAT;

END REPEAT;

WHERE wrl: NOT violation;

END_RULE;

(*

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

appliedclassificationassignment: набор всех экземпляров объектов applied_classification_ assignment.

applied_group_assignment: набор всех экземпляров объектов applied_group_assignment.

Формальные высказывания:

WR1: Для каждого экземпляра объекта product_definition с классификацией 'ship moulded form', который также представляет собой объект group, на который дана ссылка из объекта applied_ group_assignment, чей атрибут role.name = 'item structure', объект applied_group_assignment должен собирать только экземпляры product_definition с классификацией 'moulded form' и экземпляры product definition relationship с классификацией 'moulded form relationship' через свой атрибут applied_group_assignment.items.

5.2.4.153 Правило version_creation_has_mandatory_attribute_description

Правило version creation has mandatory attribute description определяет, что для экземпляра объекта action с идентификатором класса 'version creation' приведен экземпляр необязательного атрибута description.

EXPRESS-спецификация:

*)

RULE

version_creation_has_mandatory_attribute_description FOR (action);

LOCAL

tl_set: SET OF action := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(i <* action | VALUE_IN(WHICH_CLASS(i), 'version creation'));

violate := (SIZEOF(QUERY(k <* tl_set I

NOT EXISTS (k.description))) > 0);

WHERE

WRI: NOT violate;

END_RULE;

(*

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

action: набор всех экземпляров объектов action.

Формальные высказывания:

WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта action, содержащего объект applied classification assignment, чей объект assigned_class представляет собой group с атрибутом name, значение которого равно 'version creation'.

401

ГОСТ Р ИСО 10303-216—2023

5.2.4.154 Правило versiondeletionhas ma ndatoryattributedescription

Правило version_deletion_has_mandatory_attribute_description определяет, что для экземпляра объекта action с идентификатором класса 'version deletion' приведен экземпляр необязательного атрибута description.

EXPRESS-спецификация:

*)

RULE

version_deletion_has_mandatory_attribute_description FOR (action);

LOCAL

tl_set: SET OF action := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(i <* action | VALUE_IN(WHICH_CLASS(i), 'version deletion'));

violate := (SIZEOF(QUERY(k <* tl_set I

NOT EXISTS (k.description))) > 0) ;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

action: набор всех экземпляров объектов action.

Формальные высказывания:

WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта action, содержащего объект appliedclassificationassignment, чей объект assignedclass представляет собой group с атрибутом name, значение которого равно 'version deletion'.

5.2.4.155 Правило version_history_has_exactly_one_assigned_group

Правило version_history_has_exactly_one_assigned_group определяет, что на каждый экземпляр типа group с классификацией 'version history' должна быть дана ссылка только одним присваиванием вида applied_group_assignment через атрибут assigned_group.

EXPRESS-спецификация:

*)

RULE version_history_has_exactly_one_assigned_group FOR(applied_group_ assignment, group);

LOCAL

tl_set: SET OF group := [];

set_l, set_2: SET OF applied_group_assignment := [];

set_3: SET OF group_item := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* group I VALUE_IN(WHICH_CLASS(a), 'version history'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

set_l := QUERY(b <* applied_group_assignment I

(b.assigned_group = tl_set[i]) AND (b.role.name = 'current version'));

set_2 := QUERY(c <* applied_group_assignment |

(c.assigned_group = tl_set[i]) AND (c.role.name = 'members')); violate := ((SIZEOF(set_l) <> 1) OR (SIZEOF(set_2) <> 1) ) ;

IF not violate THEN

set_3 := set_l[1].items * set_2[1].items;

violate := (SIZEOF(set_3) <> 1) OR

NOT (VALUE_IN(WHICH_CLASS(set_3[1]), 'versionable object'));

402

ГОСТ Р ИСО 10303-216—2023

END_IF;

END_REPEAT;

WHERE

wrl: NOT violate;

END_RULE;

(*

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

applied_group_assignment: набор экземпляров объектов applied_group_assignment.

group: набор экземпляров объектов group.

Формальные высказывания:

WR1: На каждый экземпляр объекта group, содержащий объект appliedclassificationassign-ment, чей assigned_class идентифицирует объект с атрибутом name со значением 'version history', должна быть дана ссылка только из одного экземпляра вида объекта applied_group_assignment через атрибут assigned_group.

5.2.4.156 Правило version historyjs referenced by at least one versions

Правило version_history_is_referenced_by_at_least_one_versions определяет, что на каждый экземпляр типа group с классификацией 'version history' должна быть дана ссылка хотя бы одним присваиванием вида applied_group_assignment со значением 'versions' для role.name через атрибут assigned_group.

EXPRESS-спецификация:

*)

RULE version_history_is_referenced_by_at_least_one_versions FOR(applied_group_assignment, group);

LOCAL

tl_set: SET OF group := [];

a_set: SET OF applied_group_assignment := [];

violate: LOGICAL := FALSE;

END LOCAL;

tl_set := QUERY(a <* group I VALUE_IN(WHICH_CLASS(a), 'version history'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

(* get the instances of applied_group_assignment that have a role 'versions' *) a_set := QUERY(b <* applied_group_assignment |

(b.assigned_group = tl_set[i]) AND (b.role.name =

'versions')) ;

(* there shall be at least one such instance *) violate := SIZEOF(a_set) < 1;

END_REPEAT;

WHERE

wrl: NOT violate;

END_RULE;

(*

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

appliedgroupassignment: набор экземпляров объектов appliedgroupassignment.

group: набор экземпляров объектов group.

Формальные высказывания:

WR1: На каждый экземпляр объекта group, содержащий объект applied_classification_ assignment, у которого значение для assigned_class.name равно 'version history', должна быть дана ссылка из одного или нескольких экземпляров вида applied_group_assignment со значением 'versions' для role.name через атрибут assigned_group.

5.2.4.157 Правило version_history_referenced_by_exactly_one_current_version

Правило version_history_referenced_by_exactly_one_current_version определяет, что на каждый экземпляр типа group с классификацией 'version history' должна быть дана ссылка только одним

403

ГОСТ Р ИСО 10303-216—2023

присваиванием вида applied_group_assignment со значением 'current version' для role.name через атрибут assigned_group.

EXPRESS-спецификация:

*)

RULE version_history_referenced_by_exactly_one_current_version

FOR(applied_group_assignment, group);

LOCAL

tl_set: SET OF group := [];

a_set: SET OF applied_group_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

(* get all instances of group with class 'version history' *)

tl_set := QUERY(a <* group I VALUE_IN(WHICH_CLASS(a), 'version history'));

(* for all instances found above *)

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

(* get the instances of applied_group_assignment that have a role 'current version' *)

a_set := QUERY(b <* applied_group_assignment I

(b.assigned_group = tl_set[i]) AND (b.role.name = 'current version'));

(* there shall be one such instance *)

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

wrl: NOT violate;

END_RULE;

(*

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

applied_group_assignment: набор экземпляров для объектов applied_group_assignment.

group: набор экземпляров для объектов group.

Формальные высказывания:

WR1: На каждый экземпляр объекта group, содержащий объект appliedclassificationassign-ment, чей assigned_class идентифицирует объект с атрибутом name со значением 'version history', должна быть дана ссылка только из одного экземпляра вида объекта applied_group_assignment со значением роли 'current version' через атрибут assigned_group.

5.2.4.158 Правило version_history_referenced_by_multiple_roles

Правило version_history_referenced_by_multiple_roles определяет, что на каждый экземпляр вида group с классификацией 'version history' должна быть дана ссылка из одного или нескольких экземпляров вида applied_group_assignment со значением 'versions', 'current version' или 'relationships' для role.name через атрибут assigned_group.

EXPRESS-спецификация:

*)

RULE version_history_referenced_by_multiple_roles

FOR(applied_group_assignment, group);

LOCAL

tl_set: SET OF group := [];

a_set: SET OF applied_group_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* group I VALUE_IN(WHICH_CLASS(a), 'version history'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_group_assignment I

(b.assigned_group = tl_set[i]) AND NOT (b.role.name IN ['versions', 'current version', 'relationships']));

404

ГОСТ Р ИСО 10303-216—2023

violate := SIZEOF(a_set) < 1;

END_REPEAT;

WHERE

wrl: NOT violate;

END_RULE;

(*

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

applied_group_assignment: набор экземпляров объектов applied_group_assignment.

group: набор экземпляров объектов group.

Формальные высказывания:

WR1: На каждый экземпляр объекта group, содержащий объект applied_classification_ assignment, чей assigned_class идентифицирует объект с атрибутом name со значением 'version history', должна быть дана ссылка только из экземпляров вида applied_group_assignment со значением role.name 'versions', 'current version' или 'relationships' через атрибут assigned_group.

5.2.4.159 Правило version_modification_has_mandatory_attribute_description

Правило version_modification_has_mandatory_attribute_description определяет, что для экземпляра объекта action с идентификатором класса 'version modification' приведен экземпляр необязательного атрибута description.

EXPRESS-спецификация:

RULE

version_modification_has_mandatory_attribute_description FOR (action) ;

LOCAL

tl_set: SET OF action := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(i <* action | VALUE_IN(WHICH_CLASS(i), ’version modification'));

violate := (SIZEOF(QUERY(k <* tl_set |

NOT EXISTS (k.description))) > 0) ;

WHERE

WRI: NOT violate;

END_RULE;

(* ’

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

action: набор экземпляров объектов action.

Формальные высказывания:

WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта action, содержащего объект applied_classification_assignment, чей assigned_class представляет собой group с атрибутом name, значение которого равно 'version modification'.

5.2.4.160 Правило version_relationship_associates_with_versionable_object

Правило version_relationship_associates_with_versionable_object задает экземпляр объекта identification_assignment_relationship с классификацией 'version relationship', который связывает только экземпляры вида applied_identification_assignment, чей атрибут items указывает на экземпляры с классификацией 'versionable object'.

EXPRESS-спецификация:

*)

RULE version_relationship_associates_with_versionable_object

FOR (applied_identification_assignment);

LOCAL

violate: LOGICAL := FALSE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(applied_identification_assignment) BY 1 WHILE NOT violate;

IF ( (SIZEOF(USEDIN(applied_identification_assignment[i],

('SHIP_MOULDED_FORM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'

405

ГОСТ Р ИСО 10303-216—2023

+'RELATING_IDENTIFICATION_ASSIGNMENT'))) > 0) OR

(SIZEOF(USEDIN(applied_identification_assignment[i],

('SHIP_MOULDED_FORM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'

+'RELATED_IDENTIFICATION_ASSIGNMENT'))) >0) ) THEN

REPEAT j := 1 to HIINDEX(applied_identification_assignment[i].-items) BY 1 WHILE NOT violate; violate := NOT

VALUE_IN(which_class(applied_identification_assignment[i].items[j]), 'versionable object'); END_REPEAT;

END_IF;

END_REPEAT ;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

applied_identification_assignment: набор экземпляров объектов applied_identification_ assignment.

Формальные высказывания:

WR1: Каждый экземпляр объекта identification_assignment_relationship, у которого имеется объект applied classification assignment со значением 'version relationship' для атрибута assigned_class. name, должен указывать только экземпляры объекта applied_identification_assignment с атрибутом items, чье значение указывает на экземпляр, у которого есть объект applied_classification_assignment со значением 'versionable object' для assigned_class.name.

5.2.4.161 Правило version_relationship_has_mandatory_attribute_description

Правило version_relationship_has_mandatory_attribute_description определяет, что для экземпляра объекта identification assignment relationship с идентификатором класса 'version relationship' приведен экземпляр необязательного атрибута description.

EXPRESS-спецификация:

*)

RULE

version_relationship_has_mandatory_attribute_description FOR (identification_assignment_relationship);

LOCAL

tl_set: SET OF identification_assignment_relationship := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(i <* identification_assignment_relationship | VALUE_IN(WHICH_ CLASS(i), 'version relationship'));

violate := (SIZEOF(QUERY(k <* tl_set | NOT EXISTS (k.description))) > 0) ;

WHERE

WRI: NOT violate;

END_RULE;

(*

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

identification_assignment_relationship: набор экземпляров объектов identification_assignment_ relationship.

Формальные высказывания:

WR1: Необязательный атрибут description должен быть для каждого экземпляра объекта identification_assignment_relationship, содержащего объект applied_classification_assignment, чей объект assigned_class представляет собой group с атрибутом name, значение которого равно 'version relationship'.

5.2.4.162 Правило version_relationship_has_unique_versions

Правило version_relationship_has_unique_versions определяет, что для всех экземпляров объекта identification_assignment_relationship с классификацией 'version relationship', атрибуты successor и predecessor должны ссылаться на разные экземпляры классификации 'versionable object'.

406

ГОСТ Р ИСО 10303-216—2023

EXPRESS-спецификация:

*)

RULE

version_relationship_has_unique_versions

FOR (identification_assignment_relationship); LOCAL

tl_set: SET OF identification_assignment_relationship := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* identification_assignment_relationship |

VALUE_IN(WHICH_CLASS(a), 'version relationship'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate; violate :=

( tl_set[i].relating_identification_assignment.assigned_id =

tl_set[i].related_identification_assignment.assigned_id ) ; END_REPEAT;

WHERE

WRI: NOT violate;

END_RULE;

(* ’

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

identification assignment relationship: набор экземпляров объектов identification_assignment_ relationship.

Формальные высказывания:

WR1: Значения assigned_id для атрибутов related_identification_assignment и relating_ identification assignment каждого экземпляра объекта identification assignment relationship, содержащего объект appliedclassificationassignment, где assigned_class представляет собой group со значением 'version relationship' для атрибута name, должны быть разными.

5.2.4.163 Правило versionable_object_has_one_version_id

Правило versionable object has one version id определяет, что у вида, на который дана ссылка из объекта applied identification assignment, где значение для role.name равно 'version identifier', имеется только одна ссылка этого вида.

EXPRESS-спецификация:

*)

RULE versionable_object_has_one_version_id FOR(APPLIED_IDENTIFICATION_ ASSIGNMENT);

LOCAL

version_ids: SET OF APPLIED_IDENTIFICATION_ASSIGNMENT := [];

versionable_objects: BAG OF identification_item := [];

duplicate: LOGICAL := FALSE;

END_LOCAL;

version_ids := QUERY(i <* APPLIED_IDENTIFICATION_ASSIGNMENT | i.ROLE.NAME = 'version identifier');

REPEAT i := 1 TO HIINDEX(version_ids);

versionable_objects := versionable_objects + version_ids[i].items; END_REPEAT;

REPEAT i := 1 TO HIINDEX(versionable_objects) WHILE NOT duplicate;

REPEAT j := i + 1 TO HIINDEX(versionable_objects) WHILE NOT duplicate; duplicate := versionable_objects[i] :=: versionable_objects[j];

END_REPEAT;

END_REPEAT;

WHERE

WRI: NOT duplicate;

END_RULE;

(*

407

ГОСТ Р ИСО 10303-216—2023

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

applied_classification_assignment: набор экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: У каждого экземпляра объекта должен быть нулевой или единичный объект applied_ identification_assignment со значением 'version identifier' для атрибута role.name.

5.2.4.164 Правило versioned_action_request with idеntificatiоп аssignment

Правило versioned_action_request_with_identification_assignment задает перечень объектов, для которых требуется идентификация. Идентификация определяется объектом applied_identification_ assignment.

EXPRESS-спецификация:

*)

RULE versioned_action_request_with_identification_assignment

FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];

tl_set: SET OF versioned_action_request := [];

t2_set: SET OF applied_identification_assignment := [];

arg_list: LIST OF STRING := [ 'change request'];

violation: LOGICAL := FALSE;

END_LOCAL;

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned_class.NAME = arg_LIST[j]);

END REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items);

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.APPLIED IDENTIFICATION_ASSIGNMENT.ITEMS' ) ) ;

t2_set := QUERY ( j <* t2_set I

j.role.name = 'globally unambiguous identifier');

violation := NOT (SIZEOF(T2_SET) = 1);

END_REPEAT;

WHERE

wrl: NOT violation;

END_RULE;

(*

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

appliedclassificationassignment: набор экземпляров объектов applied_classification_ assignment.

Формальные высказывания:

WR1: Для каждого экземпляра объекта version_action_request, на который приведена ссылка из объекта appliedclassificationassignment, где у assigned_class имеется атрибут name со значением 'change request', должен требоваться объект applied_identification_assignment для определения идентификатора экземпляра.

5.2.4.165 Правило versions_is_referenced_by_at_least_one_version_history

Правило versions_is_referenced_by_at_least_one_version_history определяет, что на каждый экземпляр вида group с классификацией 'version history' должна быть дана ссылка хотя бы одним при-408

ГОСТ Р ИСО 10303-216—2023

сваиванием вида applied_group_assignment со значением 'version history' для role.name через атрибут assigned_group.

EXPRESS-спецификация:

*)

RULE versions_is_referenced_by_at_least_one_version_history FOR(applied_group_ assignment, group);

LOCAL

tl_set: SET OF group := [];

a_set: SET OF applied_group_assignment := [];

violate: LOGICAL := FALSE;

END_LOCAL;

tl_set := QUERY(a <* group I VALUE_IN(WHICH_CLASS(a), 'versions'));

REPEAT i := 1 TO HIINDEX(tl_set) WHILE NOT violate;

a_set := QUERY(b <* applied_group_assignment |

(b.assigned_group = tl_set[i]) AND (b.role.name = 'version history'));

violate := SIZEOF(a_set) < 1;

END_REPEAT;

WHERE

wrl: NOT violate;

END_RULE;

(*

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

applied_group_assignment: набор экземпляров объектов applied_group_assignment.

group: набор экземпляров объектов group.

Формальные высказывания:

WR1: На каждый экземпляр объекта group, содержащий объект applied_classification_ assignment, чей assigned_class идентифицирует объект с атрибутом name со значением 'versions', должна быть дана ссылка из одного или нескольких экземпляров вида applied_group_assignment со значением роли 'version history' через атрибут assigned_group.

5.2.5 Определения функций корабельных конструкций

5.2.5.1 Функция which_class

Функция which_class определяет объект applied_classification_assignments, указывающий на экземпляр произвольного типа, и возвращает идентификаторы класса (class ids) в список строк.

EXPRESS-спецификация:

*)

FUNCTION WHICH_CLASS(Т: GENERIC): LIST OF STRING;

LOCAL

elements: BAG OF APPLIED_CLASSIFICATION_ASSIGNMENT;

class_list: LIST OF STRING : = [];

END_LOCAL;

elements :=

USEDIN(T,'SHIP_MOULDED_FORM_SCHEMA.APPLIED_CLASSIFICATION_ASSIGNMENT.ITEMS');

REPEAT i:=l TO HIINDEX(elements);

IF (elements[i]\classification_assignment.role.name = 'class membership') THEN class_list := class_list + elements[i]\classification_assignment.assigned_class\group.name; END_IF;

END_REPEAT ;

409

ГОСТ Р ИСО 10303-216—2023

RETURN(class_list);

END_FUNCTION;

END_SCHEMA; (*

6 Требования соответствия

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

Реализация должна поддерживать как минимум один из следующих методов реализации:

- ИСО 10303-21;

- ИСО 10303-22;

- ISO/TS 10303-28.

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

Форма ЗСРП содержит перечень вариантов или комбинаций вариантов, которые могут быть включены в реализацию. Форма ЗСРП приведена в приложении D.

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

- класс 1 — класс соответствия для обмена гидростатическими данными (см. 4.1.6);

- класс 2 — класс соответствия для обмена геометрией теоретических обводов в виде таблицы ординат (см. 4.1.9);

- класс 3 — класс соответствия для обмена геометрией теоретических обводов в каркасном представлении (см. 4.1.13 и 4.1.15);

- класс 4 — класс соответствия для обмена геометрией теоретических обводов в поверхностном представлении (см. 4.1.13 и 4.1.14);

- класс 5 — класс соответствия для обмена геометрией теоретических обводов в поверхностном представлении применительно к корпусу (см. 4.1.5, 4.1.13 и 4.1.14).

Соответствие определенному классу требует, чтобы для всех элементов ПИМ была определена принадлежность к обеспечивамому классу. В таблице 2 определены классы соответствия, к которым принадлежит каждая функциональная единица. В таблице 3 определены классы, к которым принадлежит каждый элемент ПИМ.

Примечание — В прикладном протоколе установление тестовых сценариев (АР 216 Test Case Definitions) [13] определяет комплект абстрактных тестов, используемых при оценке соответствия 2).

Таблица 2 — Классы соответствия

Функциональная единица

Класс соответствия

Класс 1

Класс 2

Класс 3

Класс 4

Класс 5

basic_geometry

X

X

X

X

configuration_management

X

X

X

X

X

definitions

X

X

X

X

X

external_references

X

X

X

X

X

hull_class_applicability

X

hydrostatics

X

items

X

X

X

X

X

location_concepts

X

X

X

X

X

offset_table_representations

X

ship_design_parameter

X

X

X

X

X

410

Окончание таблицы 2

ГОСТ Р ИСО 10303-216—2023

Функциональная единица

Класс соответствия

Класс 1

Класс 2

Класс 3

Класс 4

Класс 5

ship_general_characteristics

X

X

X

X

X

ship_measures

X

X

X

X

X

ship_moulded_forms

X

X

X

X

X

surface_representations (AIC 508)

X

X

wireframe_representations (AIC 501)

X

Таблица 3 — Элементы классов соответствия

Элемент ПИМ

Класс

1

2

3

4

5

Action

X

X

X

X

X

Action_assignment

X

X

X

X

X

Action_relationship

X

X

X

X

X

Action_method

X

X

X

X

X

Action_request_assignment

X

X

X

X

X

Action_request_solution

X

X

X

X

X

Address

X

X

X

X

X

Advanced_face

X

X

Amount_of_substance_unit

X

X

X

X

X

Application_context

X

X

X

X

X

Application_context_element

X

X

X

X

X

Application_protocol_definition

X

X

X

X

X

Applied_action_assignment

X

X

X

X

X

Applied_action_request_assignment

X

X

X

X

X

Applied_approval_assignment

X

X

X

X

X

Applied_classification_assignment

X

X

X

X

X

Applied_date_and_time_assignment

X

X

X

X

X

Applied_document_reference

X

X

X

X

X

Applied_effectivity_assignment

X

Applied_external_identification_assignment

X

X

X

X

X

Applied_group_assignment

X

X

X

X

X

Applied_identification_assignment

X

X

X

X

X

Applied_organization_assignment

X

X

X

X

X

Applied_person_and_organization_assignment

X

X

X

X

X

Applied_person_assignment

X

X

X

X

X

Approval

X

X

X

X

X

411

ГОСТ Р ИСО 10303-216—2023

Продолжение таблицы 3

Элемент ПИМ

Класс

1

2

3

4

5

Approval_assignment

X

X

X

X

X

Approval_date_time

X

X

X

X

X

Approval_person_organization

X

X

X

X

X

Approval_role

X

X

X

X

X

Approval_status

X

X

X

X

X

Axis1_placement

X

X

X

X

X

Axis2_placement_2d

X

X

X

X

X

Axis2_placement_3d

X

X

X

X

X

B_spline_curve

X

X

X

B_spline_curve_with_knots

X

X

X

B_spline_surface

X

X

X

B_spline_surface_with_knots

X

X

X

Bezier_curve

X

X

X

Bezier_surface

X

X

X

Bounded_curve

X

X

X

Bounded_pcurve

X

X

X

Bounded_surface

X

X

X

Bounded_surface_curve

X

X

X

Calendar_date

X

X

X

X

X

Cartesian_point

X

X

X

Cartesian_transformation_operator

X

X

X

Cartesian_transformation_operator_3d

X

X

X

Characterized_object

X

X

X

X

X

Circle

X

X

X

Class

X

X

X

X

X

Classification_assignment

X

X

X

X

X

Classification_role

X

X

X

X

X

Closed_shell

X

X

Composite_curve

X

X

X

Composite_curve_on_surface

X

X

X

Composite_curve_segment

X

X

X

Compound_representation_item

X

X

X

X

X

Conic

X

X

X

Conical_surface

X

X

X

412

Продолжение таблицы 3

ГОСТ Р ИСО 10303-216—2023

Элемент ПИМ

Класс

1

2

3

4

5

Connected_edge_set

X

Connected_face_set

X

X

Context_dependent_unit

X

X

X

X

X

Conversion_based_unit

X

X

X

X

X

Coordinated_universal_time_offset

X

X

X

X

X

Curve

X

X

X

Curve_replica

X

X

X

Cylindrical_surface

X

X

X

Date

X

X

X

X

X

Date_and_time

X

X

X

X

X

Date_and_time_assignment

X

X

X

X

X

Date_time_role

X

X

X

X

X

Definitional_representation

X

X

X

Degenerate_pcurve

X

X

X

Degenerate_toroidal_surface

X

X

X

Derived_unit

X

X

X

X

X

Derived_unit_element

X

X

X

X

X

Description_attribute

X

X

X

X

X

Descriptive_representation_item

X

X

X

X

X

Dimensional_exponents

X

X

X

X

X

Direction

X

X

X

Document

X

X

X

X

X

Document_reference

X

X

X

X

X

Document_representation_type

X

X

X

X

X

Document_type

X

X

X

X

X

Document_usage_constraint

X

X

X

X

X

Edge

X

X

X

X

Edge_based_wireframe_model

X

Edge_based_wireframe_shape_representation

X

X

X

X

X

Edge_curve

X

X

X

X

Edgejoop

X

X

Effectivity

X

Effectivity_assignment

X

Electric_current_unit

X

X

X

X

X

413

ГОСТ Р ИСО 10303-216—2023

Продолжение таблицы 3

Элемент ПИМ

Класс

1

2

3

4

5

Elementary_surface

X

X

X

X

X

Ellipse

X

X

X

Evaluated_degenerate_pcurve

X

X

X

Executed_action

X

X

X

X

X

External_identification_assignment

X

X

X

X

X

External_source

X

X

X

X

X

External_source_relationship

X

X

X

X

X

Externally_defined_item

X

X

X

X

X

Face

X

X

X

X

Face_based_surface_model

X

X

Face_bound

X

X

Face_outer_bound

X

X

Face_surface

X

X

X

X

Faceted_brep

X

X

Founded item

X

X

X

Functionally_defined_transformation

X

X

X

Geometric_curve_set

X

X

Geometric_representation_context

X

X

X

X

X

Geometric_representation_item

X

X

X

X

X

Geometric_set

X

X

Global_uncertainty_assigned_context

X

X

X

X

X

Global_unit_assigned_context

X

X

X

X

X

Group

X

X

X

X

X

Group_assignment

X

X

X

X

X

Group_relationship

X

X

X

X

X

Hyperbola

X

X

X

ld_attribute

X

X

X

X

X

ldentification_assignment

X

X

X

X

X

ldentification_assignment_relationship

X

X

X

X

X

ldentification_role

X

X

X

X

X

lntersection_curve

X

X

X

ltem_defined_transformation

X

X

X

Length_measure_with_unit

X

X

X

X

X

Length_unit

X

X

X

X

X

414

Продолжение таблицы 3

ГОСТ Р ИСО 10303-216—2023

Элемент ПИМ

Класс

1

2

3

4

5

Line

X

X

X

Local_time

X

X

X

X

X

Loop

X

X

Luminous_intensity_unit

X

X

X

X

X

Manifold_solid_brep

X

X

Mappedjtem

X

X

X

X

X

Mass_measure_with_unit

X

X

X

X

X

Mass_unit

X

X

X

X

X

Measure_with_unit

X

X

X

X

X

Name_attribute

X

X

X

X

X

Named_unit

X

X

X

X

X

Non_manifold_surface_shape_representation

X

X

X

X

X

Object_role

X

X

X

X

X

Offset_curve_3d

X

X

X

Offset_surface

X

X

X

Open_shell

X

X

Ordinal_date

X

X

X

X

X

Organization

X

X

X

X

X

Organization_assignment

X

X

X

X

X

Organization_role

X

X

X

X

X

Organizational_address

X

X

X

X

X

Organizational_project

X

X

X

X

X

Oriented_closed_shell

X

X

Oriented_edge

X

X

X

X

Oriented_face

X

X

X

X

Oriented_open_shell

X

X

Oriented_path

X

X

Oriented_surface

X

X

X

Parabola

X

X

X

Parametric_representation_context

X

X

X

Path

X

X

X

Pcurve

X

X

X

Person

X

X

X

X

X

Person_and_organization

X

X

X

X

X

415

ГОСТ Р ИСО 10303-216—2023

Продолжение таблицы 3

Элемент ПИМ

Класс

1

2

3

4

5

Person_and_organization_assignment

X

X

X

X

X

Person_and_organization_role

X

X

X

X

X

Person_assignment

X

X

X

X

X

Person_role

X

X

X

X

X

Personal_address

X

X

X

X

X

Placement

X

X

X

X

X

Plane

X

X

X

X

X

Plane_angle_measure_with_unit

X

X

X

X

X

Plane_angle_unit

X

X

X

X

X

Point

X

X

X

Point_on_curve

X

X

X

Point_on_surface

X

X

X

Point_replica

X

X

X

PolyJoop

X

X

Polyline

X

X

X

Product

X

X

X

X

X

Product_category

X

X

X

X

X

Product_category_relationship

X

X

X

X

X

Product_context

X

X

X

X

X

Product_definition

X

X

X

X

X

Product_definition_context

X

X

X

X

X

Product_definition_formation

X

X

X

X

X

Product_definition_relationship

X

X

X

X

X

Product_definition_shape

X

X

X

X

X

Product_related_product_category

X

X

X

X

X

Property_definition

X

X

X

X

X

Property_definition_relationship

X

X

X

X

X

Property_definition_representation

X

X

X

X

X

Quasi_uniform_curve

X

X

X

Quasi_uniform_surface

X

X

X

Ratio_unit

X

X

X

X

X

Rational_b_spline_curve

X

X

X

Rational_b_spline_surface

X

X

X

Representation

X

X

X

X

X

Representation_context

X

X

X

X

X

Representationjtem

X

X

X

X

X

Representation_map

X

X

X

X

X

416

Окончание таблицы 3

ГОСТ Р ИСО 10303-216—2023

Элемент ПИМ

Класс

1

2

3

4

5

Representation_relationship

X

X

X

X

X

Role_association

X

X

X

X

X

Seam_curve

X

X

X

Serial_numbered_effectivity

X

Shape_aspect

X

X

X

X

X

Shape_definition_representation

X

X

X

X

X

Shape_representation

X

X

X

X

X

Si_unit

X

X

X

X

X

Solid_angle_measure_with_unit

X

X

X

X

X

Solid_angle_unit

X

X

X

X

X

Solid_model

X

X

Spherical_surface

X

X

X

Subface

X

X

X

X

Surface

X

X

X

X

X

Surface_curve

X

X

X

Surface_of_linear_extrusion

X

X

X

Surface_of_revolution

X

X

X

Surface_replica

X

X

X

Swept_surface

X

X

X

Thermodynamic_temperature_unit

X

X

X

X

X

Time_unit

X

X

X

X

X

Topological_representation_item

X

X

Toroidal_surface

X

X

X

Uncertainty_measure_with_unit

X

X

X

X

X

Uniform_curve

X

X

X

Uniform_surface

X

X

X

Value_representation_item

X

X

X

X

X

Vector

X

X

X

Versioned_action_request

X

X

X

X

X

Vertex

X

X

X

Vertexjoop

X

X

Vertex_point

X

X

X

X

417

ГОСТ Р ИСО 10303-216—2023

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

Развернутый листинг прикладной интерпретированной модели на языке EXPRESS

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

SCHEMA ship_moulded_form_schema;

CONSTANT

dummy_gri : geometric_representation_item := representation_item('') ||

geometric_representation_item();

dummy_tri : topological_representation_item := representation_item('')

I| topological_representation_item();

END_CONSTANT;

TYPE action_item = SELECT

(product,

product_definition,

property_definition,

product_definition_relationship,

product_definition_shape,

product_related_product_category,

action_request_solution, executed_action);

END_TYPE; -- action_item

TYPE action_request_item = SELECT

(action,

executed_action);

END_TYPE; -- action_request_item

TYPE ahead_or_behind = ENUMERATION OF

(ahead,

exact,

behind);

END_TYPE; -- ahead_or_behind

TYPE amount_of_substance_measure = REAL;

END_TYPE; -- amount_of_substance_measure

TYPE approval_item = SELECT

(product_definition,

product_definition_shape,

property_definition,

product_related_product_category);

END_TYPE; -- approval_item

TYPE area_measure = REAL;

END_TYPE; -- area_measure

TYPE attribute_type = SELECT

(label,

text);

END_TYPE; -- attribute_type

TYPE axis2_placement = SELECT

(axis2_placement_2d, axis2_placement_3d); END_TYPE; -- axis2_placement

418

ГОСТ Р ИСО 10303-216—2023

TYPE b_spline_curve_form = ENUMERATION OF (polyline_form, circular_arc, elliptic_arc, parabolic_arc, hyperbolic_arc, unspecified);

END_TYPE; -- b_spline_curve_form

TYPE b_spline_surface_form = ENUMERATION OF (plane_surf, cylindrical_surf, conical_surf, spherical_surf, toroidal_surf, surf_of_revolution, ruled_surf, generalised_cone, quadric_surf, surf_of_linear_extrusion, unspecified);

END_TYPE; — b_sp1ine_surface_fоrm

TYPE boolean_operand = SELECT (solid_model);

END_TYPE; — boolean_operand

TYPE се1sius_temperature_measure = REAL; END_TYPE; -- celsius_temperature_measure

TYPE characterized_definition = SELECT

(cha racte ri zed_obj ect, characterized_product_definition, shape_definition);

END_TYPE; -- characterized_definition

TYPE characterized_product_definition = SELECT (product_definition, product_definition_relationship);

END_TYPE; -- characterized_product_definition

TYPE classification item = SELECT

(action, action_request_solution, applied_action_request_assignment, approval, axis2_placement_3d, compound_representation_item, document, document_reference, edge_curve, executed_action, external_source, group,

identi ficat ion_as s ignment_relationship, measure_with_unit, product, product_definition, product_definition_relationship, product_definition_shape, product_related_product_category, property_definition,

419

ГОСТ Р ИСО 10303-216—2023

prope rty_de finit ion_repre sentat ion, representation, representation_item, representation_reiationship, shape_representation, surface, vertex_point, versioned_action_request) ;

END TYPE; -- classification_item

TYPE compound_item_definition = SELECT

(1i st_representat i on_item, set_representation_item);

END_TYPE; -- compound_item_definition

TYPE context_dependent_measure = REAL; END TYPE; -- context_dependent_measure

TYPE count_measure = NUMBER;

END_TYPE; -- count_measure

TYPE curve_on_surface = SELECT

(pcurve,

surface_curve, composite_curve_on_surface);

END_TYPE; -- curve_on_surface

TYPE date_and_time_item = SELECT (action_request_solution, executed_action, versioned_action_request, product definition, action);

END_TYPE; -- date_and_time_item

TYPE date_time_or_event_occurrence = SELECT (date_time_select);

END_TYPE; -- date_time_or_event_occurrence

TYPE date_time_select = SELECT

(date,

local_time, date_and_time);

END_TYPE; -- date_time_select

TYPE day_in_month_number = INTEGER;

WHERE

wrl: ((1 <= SELF) AND (SELF <= 31)); END_TYPE; -- day_in_month_number

TYPE day_in_week_number = INTEGER;

WHERE

wrl: ((1 <= SELF) AND (SELF <= 7)); END_TYPE; -- day_in_week_number

TYPE day_in_year_number = INTEGER;

WHERE

wrl: ((1 <= SELF) AND (SELF <= 366)); END_TYPE; — day_in_year_number

TYPE derived_property_select = SELECT (property_definition);

END_TYPE; -- derived_property_select

420

ГОСТ Р ИСО 10303-216—2023

TYPE description_attribute_select = SELECT (action_request_solution, application_context, approval_role, date_time_role, effectivity, external_source, organization_role, person_and_organization_role, person_and_organization, person_role, property_definition_representation, representation);

END_TYPE; -- description_attribute_select

TYPE dimension_count = INTEGER;

WHERE

wrl: (SELF > 0);

END_TYPE; -- dimension_count

TYPE document_reference_item = SELECT (action, product, property_definition, product_definition) ;

END_TYPE; -- document_reference_item

TYPE effectivity_item = SELECT (product_definition, property_definition, product_definition_shape, product_related_product_category);

END_TYPE; -- effectivity_item

TYPE electric_current_measure = REAL; END_TYPE; -- electric_current_measure

TYPE external_identification_item = SELECT (action, document, product, product_definition, product_definition_relationship, property_definition);

END_TYPE; -- external_identification_item

TYPE founded_item_select = SELECT

(founded_item, representation_item);

END_TYPE; — founded_item_select

TYPE geometric_set_select = SELECT

(point,

curve, surface);

END_TYPE; -- geometric_set_select

TYPE group_item = SELECT

(approval, identification_assignment_relationship, product_definition, product_definition_relationship);

END_TYPE; -- group_item

421

ГОСТ Р ИСО 10303-216—2023

TYPE hour_in_day = INTEGER;

WHERE

wrl: ((0 <= SELF) AND (SELF < 24)); END_TYPE; — hour_in_day

TYPE id_attribute_select = SELECT

(action,

address,

product_category,

property_definition,

shape_aspect,

application_context,

group,

organizationai_project, representation);

END_TYPE; — id_attribute_select

TYPE identification item = SELECT

(action,

action_request_solution,

compound_representation_item,

document,

executed_action,

group,

product,

product_definition,

product_definition_relationship,

product_definition_shape,

product_related_product_category,

property_definition,

surface,

versioned_action_reguest);

END_TYPE; — identification_item

TYPE identifier = STRING;

END_TYPE; — identifier

TYPE knot_type = ENUMERATION OF

(uniform_knots, quasi_uniform_knots, piecewise_bezier_knots, unspecified);

END_TYPE; — knot_type

TYPE label = STRING;

END_TYPE; — label:

TYPE length_measure = REAL;

END_TYPE; — length_measure

TYPE list_of_reversible_topology_item = LIST [0:?] OF reversible_topology_item;

END_TYPE; — list_of_reversible_topology_item

TYPE list_representation_item = LIST [1:?] OF representation_item;

END_TYPE; -- 1ist_representation_item

TYPE luminous_intensity_measure = REAL;

END_TYPE; — luminous_intensity_measure

TYPE mass_measure = REAL;

END TYPE; — mass measure

422

ГОСТ Р ИСО 10303-216—2023

TYPE measure value = SELECT (length_measure, mass_measure, time_measure, electric_current_measure, thermodynamic temperature measure, Celsius temperature measure, context_dependent_measure, amount_of substance_measure, luminous_intensity_measure, plane_angle_measure, solid_angle_measure, area_measure, volume_measure, ratio_measure, parameter_value, positive_length_measure, positive_plane_angle_measure, count_measure);

END_TYPE; -- measure_value

TYPE minute_in_hour = INTEGER;

WHERE

wrl: ((0 <= SELF) AND (SELF <= 59)); END_TYPE; -- minute_in_hour

TYPE month_in_year_number = INTEGER; WHERE

wrl: ((1 <= SELF) AND (SELF <= 12)); END_TYPE; — month_in_year_number

TYPE name_attribute_select = SELECT (action_request_solution, address, derived_unit, effectivity, person_and_organization, product_definition, property_definition_representation) ;

END_TYPE; -- name_attribute_se1ect

TYPE organization_item = SELECT

(document,

product_definition, property_definition);

END_TYPE; — organization_item

TYPE parameter_value = REAL; END_TYPE; -- parameter_value

TYPE pcurve_or_surface = SELECT (pcurve, surface);

END_TYPE; — pcurve_or_surface

TYPE person_and_organization_item = SELECT (action_request_solution, document, executed_action, versioned_action_request, action);

END_TYPE; -- person_and_organization_item

423

ГОСТ Р ИСО 10303-216—2023

TYPE person_item = SELECT (document);

END_TYPE; -- person_item

TYPE person_organization_select = SELECT

(person,

organization,

person_and_organization);

TYPE plane_angle_measure = REAL;

END_TYPE; — p1ane_angle_measure

TYPE positive_length_measure = length_measure;

WHERE

wrl: (SELF > 0);

END_TYPE; — positive_length_measure

TYPE positive_plane_angle_measure = plane_angle_measure;

WHERE

wrl: (SELF > 0);

END_TYPE; — positive_plane_angle_measure

TYPE preferred_surface_curve_representation = ENUMERATION OF (curve_3d, pcurve_sl, pcurve_s2);

END_TYPE; -- preferred_surface_curve_representation

TYPE product_or_formation_or_definition = SELECT (product, product_de fin it ion_format ion, product_definition);

END_TYPE; — product_or_fоrmation_or_definition

TYPE ratio_measure = REAL;

END_TYPE; — ratio_measure

TYPE represented_definition = SELECT

(property_definition,

property_definition_relationship, shape_aspect);

END_TYPE; — represented_definition

TYPE reversible_topology = SELECT

(reve rs ible_topo Logy_item, list_of_reversible_topology_item, set_of_reversible_topology_item);

END_TYPE; — reversible_topology

TYPE reversible_topology_item = SELECT

(edge,

path, face, face_bound, closed_shell, open_shell);

END_TYPE; — reversib1e_topo1ogy_item

TYPE role_select = SELECT (action_assignment, action_request_assignment, approval_assignment,

424

ГОСТ Р ИСО 10303-216—2023

арр roval_date_t ime, document_reference, effeetivity_assignment, group_assignment);

END_TYPE; -- role_select

TYPE second_in_minute = REAL; WHERE

wrl: ((0 <= SELF) AND (SELF <= 60));

END_TYPE; — second_in_minute

TYPE set_of_reversible_topology_item = SET [0:?] OF reversible_topology_item; END_TYPE; — set_of_reversible_topology_item

TYPE set_representation_item = SET [1:?] OF representation_item; END_TYPE; -- set_representation_item

TYPE shape_definition = SELECT

(product_definition_shape, shape_aspect);

END_TYPE; -- shape_definition

TYPE shell = SELECT (open_shell, closed_shell);

END_TYPE; — shell

TYPE si_prefix = ENUMERATION OF

(exa, peta, tera, giga, mega, kilo, hecto, deca, deci, centi, milli, micro, nano, pico, femto, atto);

END_TYPE; -- si_prefix

TYPE si_unit_name = ENUMERATION OF (metre,

gram, second, ampere, kelvin, mole, candela, radian, steradian, hertz, newton, pascal, joule, watt, coulomb,

425

ГОСТ Р ИСО 10303-216—2023

volt, farad, ohm, siemens, weber, tesla, henry, degree_celsius, lumen, lux, becquerel, gray, sievert);

END_TYPE; -- si_unit_name

TYPE solid_angle_measure = REAL; END_TYPE; — solid_angle_measure

TYPE source_item = SELECT (identifier);

END_TYPE; -- source_item

TYPE supported_item = SELECT (action, action_method);

END_TYPE; -- supported_item

TYPE surface_boundary = SELECT (degenerate_pcurve);

END_TYPE; -- surface_boundary

TYPE surface_model = SELECT

(face_based_surface_model); END_TYPE; -- surface_model

TYPE text = STRING; END_TYPE; — text

TYPE thermodynamic_temperature_measure = REAL; END_TYPE; -- thermodynamic_temperature_measure

TYPE time_measure = REAL;

END_TYPE; -- time_measure

TYPE transformation = SELECT (item_defined_transformation, functiona11y_defined_transformation);

TYPE transition_code = ENUMERATION OF (discontinuous, continuous, cont_same_gradient, cont_same_gradient_same_curvature);

END_TYPE; -- transition_code

TYPE trimming_select = SELECT (cartesian_point, parameter_value);

END_TYPE; -- trimming_select

TYPE unit = SELECT (named_unit,

426

ГОСТ Р ИСО 10303-216—2023

derived_unit);

END_TYPE; — unit

TYPE vector_or_direction = SELECT

(vector,

direction);

END_TYPE; -- vector_or_direction

TYPE volume_measure = REAL;

END_TYPE; — volume_measure

TYPE week_in_year_number = INTEGER; WHERE

wrl: ((1 <= SELF) AND (SELF <= 53));

END_TYPE; -- week_in_year_number

TYPE wireframe_model = SELECT

(edge_based_wireframe_model);

END_TYPE; — wireframe_model

TYPE year_number = INTEGER;

END_TYPE; — year_number

ENTITY action;

name : label;

description : OPTIONAL text;

chosen_method : action_method;

DERIVE

id : identifier := get_id_value(SELF) ;

WHERE

wrl: (SIZEOF(USEDIN(SELF,’SHIP_MOULDED_FORM_SCHEMA.' + ’ID_ATTRIBUTE.IDENTIFIED_IТЕМ’)) <= D ; END_ENTITY; — action

ENTITY action_assignment

ABSTRACT SUPERTYPE;

assigned_action : action;

DERIVE

role : object_role := get_role(SELF);

WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <=D; END_ENTITY; -- action_assignment

ENTITY action_method;

name : label;

description : OPTIONAL text;

consequence : text;

purpose : text;

END_ENTITY; -- action_method

ENTITY action_re1ationship;

name : label;

description : OPTIONAL text;

relating_action : action;

related_action : action;

END_ENTITY; -- action_relationship

ENTITY action_request_assignment

ABSTRACT SUPERTYPE;

assigned_action_request : versioned_action_request;

DERIVE

role : object_role := get_role(SELF) ;

WHERE

427

ГОСТ Р ИСО 10303-216—2023

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 1ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1); ND_ENTITY; -- action_request_assignment

ENTITY action_request_solution;

method : action_method;

request : versioned_action_request;

DERIVE

description : text := get_description_value(SELF);

name : label := get_name_value(SELF);

WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <=1);

wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= D; END_ENTITY; — action_request_solution

ENTITY address;

internal_location

OPTIONAL label

street_number

OPTIONAL label

street

OPTIONAL label

postal_box

OPTIONAL label

town

OPTIONAL label

region

OPTIONAL label

postal_code

OPTIONAL label

country

OPTIONAL label

facsimile_number

OPTIONAL label

telephone_number

OPTIONAL label

electronic_mail_address

OPTIONAL label

telex number

OPTIONAL label

DERIVE

name : label := get_name_value(SELF);

url : identifier := get_id_value(SELF);

WHERE

wrl: (EXISTS(internal_location) OR EXISTS(street_number)

OR EXISTS(street) OR EXISTS(postal_box) OR EXISTS(town) OR EXISTS(region)

OR EXISTS(postal_code) OR EXISTS(country)

OR EXISTS(facsimile_number) OR EXISTS(telephone_number)

OR EXISTS(electronic_mail_address) OR EXISTS(telex_number));

END ENTITY; — address

ENTITY advanced_face

SUBTYPE OF (face_surface);

WHERE

wrl : (SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.ELEMENTARY_SURFACE',

'SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_SURFACE',

'SHIP_MOULDED_FORM_SCHEMA.SWEPT_SURFACE'] * TYPEOF( face_geometry)) = 1); wr2 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (

'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) )

I (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path. edge_list | (NOT

('SHIP_MOULDED_FORM_SCHEMA.EDGE_CURVE' IN

TYPEOF(oe\oriented_edge.edge_element))) )) =0)) )) = 0) ;

wr3 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (

'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) )

I (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path. edge_list

I (NOT (SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.LINE',

'SHIP_MOULDED_FORM_SCHEMA.CONIC',

'SHIP_MOULDED_FORM_SCHEMA.POLYLINE',

'SHIP_MOULDED_FORM_SCHEMA.SURFACE_CURVE',

'SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_CURVE'] *

TYPEOF(oe.edge_element\edge_curve.edge_geometry)) =1)) )) =0)) )) = 0) ;

wr4 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds I (

'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) )

I (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path.edge_list

I (NOT ( ( 'SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT'

428

ГОСТ Р ИСО 10303-216—2023

IN TYPEOF(oe\edge.edge_start)) AND (

'SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT' IN TYPEOF(oe\ edge.edge_start\vertex_point.vertex_geometry)) AND ( 'SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN TYPEOF(oe\ edge.edge_end)) AND ('SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT' IN TYPEOF(oe\edge.edge_end\vertex_point.vertex_geometry)))) )) =0)) )) = 0) ; wr5 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (

'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) ) | ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_PATH' IN TYPEOF(elp_fbnds.bound)) )) = 0) ;

wr6 : ((NOT ('SHIP_MOULDED_FORM_SCHEMA.SWEPT_SURFACE’ IN TYPEOF( face_geometry))) OR (SIZEOF([ 'SHIP_MOULDED_FORM_SCHEMA.LINE', 'SHIP_MOULDED_FORM_SCHEMA.CONIC, 'SHIP_MOULDED_FORM_SCHEMA.POLYLINE', 'SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_CURVE'] * TYPEOF( face_geometry\swept_surface.swept_curve)) = 1));

wr7 : (SIZEOF(QUERY ( vlp_fbnds <* QUERY ( bnds <* bounds | ( 'SHIP_MOULDED_FORM_SCHEMA.VERTEX_LOOP' IN TYPEOF(bnds.bound)) ) | (NOT (('SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND ('SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT' IN TYPEOF( vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex\ vertex_point.vertex_geometry)))) )) = 0) ;

wr8 : (SIZEOF(QUERY ( bnd <* bounds | (NOT (SIZEOF([ 'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP',

'SHIP_MOULDED_FORM_SCHEMA.VERTEX_LOOP'] * TYPEOF(bnd.bound)) = 1)) )) = 0); wr9 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (

'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) ) | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path.edge_list I (('SHIP_MOULDED_FORM_SCHEMA.SURFACE_CURVE' IN TYPEOF(oe\oriented_edge.edge_element\edge_curve. edge_geometry)) AND (NOT (SIZEOF(QUERY ( sc_ag <* oe.edge_element\edge_curve.edge_geometry\surface_curve. associated_geometry | (NOT (

'SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN TYPEOF(sc_ag))) )) =0))) )) =0)) )) = 0);

wrlO: (((NOT ('SHIP_MOULDED_FORM_SCHEMA.SWEPT_SURFACE' IN TYPEOF( face_geometry))) OR (NOT ( 'SHIP_MOULDED_FORM_SCHEMA.POLYLINE' IN TYPEOF(face_geometry \swept_surface.swept_curve))) OR

(SIZEOF(face_geometry\swept_surface.swept_curve\polyline.points) >= 3)) AND (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds I ('SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) ) | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path.

edge_list I (('SHIP_MOULDED_FORM_SCHEMA.POLYLINE' IN TYPEOF(oe\oriented_edge.edge_element\edge_curve. edge_geometry)) AND (NOT (SIZEOF(oe\oriented_edge.

edge_element\edge_curve.edge_geometry\polyline.points) >= 3))) )) =0)) )) = 0));

END_ENTITY; — advanced_face

ENTITY amount_of_substance_unit

SUBTYPE OF (named_unit); WHERE

wrl: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\ named_unit.dimensions.mass_exponent = 0) AND (SELF\ named_unit.dimensions.time_exponent = 0) AND (SELF\ named_unit.dimensions.electric_current_exponent = 0) AND ( SELF\named_unit.dimensions.

thermodynamic_temperature_exponent = 0) AND

429

ГОСТ Р ИСО 10303-216—2023

(SELF\named_unit.dimensions.amount_of_substance_exponent = 1) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));

END ENTITY; -- amount of substance unit

ENTITY application_context; application : label;

DERIVE

description : text := get_description_value(SELF) ;

id : identifier := get_id_value(SELF);

INVERSE

context_elements : SET [1:?] OF application_context_element FOR frame_of_reference;

WHERE wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);

wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= D;

END_ENTITY; -- application_context

ENTITY application_context_element

SUPERTYPE OF (ONE OF (product_context,product_definition_context)); name : label;

frame_of_reference : application_context;

END_ENTITY; — application_context_element

ENTITY application_protocol_definition;

status : label;

application_interpreted_model_schema_name : label;

application_protocol_year : year_number;

application : application_context;

END_ENTITY; — application_protocol_definition

ENTITY applied_action_assignment

SUBTYPE OF (action_assignment);

items : SET [1:?] OF action_item;

END_ENTITY; -- applied_action_assignment

ENTITY applied_action_request_assignment

SUBTYPE OF (action_request_assignment);

items : SET [1:?] OF action_request_item;

END_ENTITY; -- applied_action_request_assignment

ENTITY applied_approval_assignment

SUBTYPE OF (approval_assignment);

items : SET [1:?] OF approval_item; WHERE

wrl: ((NOT (SELF\approval_assignment.role.name =

'proposed alternative')) OR (SIZEOF(QUERY ( app <*USEDIN(

SELF\approval_assignment.assigned_approval,'SHIP_MOULDED_FORM_SCHEMA .APPROVAL_ASSIGNMENT.ASSIGNED_APPROVAL') | (('SHIP_MOULDED_FORM_SCHEMA.APPLIED_APPROVAL_ASSIGNMENT' IN TYPEOF(app)) AND (app\approval_assignment.role.name ='subject')) )) = 1) ) ;

END_ENTITY; -- applied_approval_assignment

ENTITY applied_classification_assignment

SUBTYPE OF (classification_assignment);

items : SET [1:?] OF classification_item;

END_ENTITY; -- applied_classification_assignment

ENTITY applied_date_and_time_assignment SUBTYPE OF (date_and_time_assignment);

430

ГОСТ Р ИСО 10303-216—2023

items : SET [1:?] OF date_and_time_item;

END_ENTITY; — applied_date_and_time_assignment

ENTITY applied_document_reference

SUBTYPE OF (document_reference);

items : SET [1:?] OF document_reference_item;

END_ENTITY; — applied_document_reference

ENTITY applied_effeetivity_assignment

SUBTYPE OF (effectivity_assignment);

items : SET [1:?] OF effectivity_item;

END_ENTITY; -- applied_effectivity_assignment

ENTITY applied_external_identification_assignment

SUBTYPE OF (external_identification_assignment);

items : SET [1:?] OF external_identification_item;

END_ENTITY; -- applied_external_identification_assignment

ENTITY applied_group_assignment

SUBTYPE OF (group_assignment);

items : SET [1:?] OF group_item;

END_ENTITY; — applied_group_assignment

ENTITY applied_identification_assignment

SUBTYPE OF (identification_assignment);

items : SET [1:?] OF identification_item;

END_ENTITY; — applied_identification_assignment

ENTITY applied_organization_assignment

SUBTYPE OF (organization_assignment);

items : SET [1:?] OF organization_item;

END_ENTITY; — applied_organization_assignment

ENTITY applied_person_and_organization_assignment

SUBTYPE OF (person_and_organization_assignment);

items : SET [1:?] OF person_and_organization_item;

END_ENTITY; — applied_person_and_organization_assignment

ENTITY app1ied_person_assignment

SUBTYPE OF (person_assignment);

items : SET [1:?] OF person_item;

END_ENTITY; — applied_person_assignment

ENTITY approval;

status : approval_status;

level : label;

END_ENTITY; — approval

ENTITY approval_assignment

ABSTRACT SUPERTYPE;

assigned_approval : approval;

DERIVE

role : object_role := get_role(SELF);

WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1);

END_ENTITY; — approval_assignment

ENTITY approval_date_time;

date_time : date_time_select;

dated_approval : approval;

DERIVE

431

ГОСТ Р ИСО 10303-216—2023

role : object_role := get_role(SELF) ;

WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1);

END_ENTITY; -- approval_date_time

ENTITY approval_person_organization;

person_organization : person_organization_select;

authorized_approval : approval;

role :approval_role;

END_ENTITY; — approval_person_organization

ENTITY approval_role;

role : label;

DERIVE

description : text := get_description_value(SELF); WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + ’DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM’)) <= 1);

END_ENTITY; -- approval_role

ENTITY approval_status;

name : label;

END_ENTITY; -- approval_status

ENTITY axisl_placement

SUBTYPE OF (placement);

axis : OPTIONAL direction;

DERIVE

z : direction := NVL(normalise(axis),dummy_gri || direction([0,0,1])); WHERE

wrl: (SELF\geometric_representation_item.dim = 3);

END_ENTITY; -- axisl_placement

ENTITY axis2_placement_2d

SUBTYPE OF (placement);

ref_direction : OPTIONAL direction;

DERIVE

p : LIST [2:2] OF direction := build_2axes(ref_direction) ;

WHERE

wrl: (SELF\geometric_representation_item.dim = 2);

END_ENTITY; -- axis2_placement_2d

ENTITY axis2_placement_3d

SUBTYPE OF (placement);

axis : OPTIONAL direction;

ref_direction : OPTIONAL direction;

DERIVE

p : LIST [3:3] OF direction := build_axes(axis,ref_direction); WHERE

wrl: (SELF\placement.location.dim = 3);

wr2: ((NOT EXISTS(axis)) OR (axis.dim = 3) ) ;

wr3: ((NOT EXISTS(ref_direction)) OR (ref_direction.dim = 3));

wr4: ((NOT EXISTS(axis)) OR (NOT EXISTS(ref_direction)) OR ( cross_product(axis,ref_direction).magnitude > 0) ) ;

END_ENTITY; -- axis2_placement_3d

ENTITY b_spline_curve

SUPERTYPE OF (ONEOF (uniform_curve,b_spline_curve_with_knots, quasi_uniform_curve,bezier_curve) ANDOR rational_b_spline_curve)

SUBTYPE OF (bounded_curve);

degree : INTEGER;

432

ГОСТ Р ИСО 10303-216—2023

control_points_list : LIST [2:?] OF cartesian_point;

curve_form : b_spline_curve_form;

closed_curve : LOGICAL;

self_intersect : LOGICAL;

DERIVE

upper_index_on_control_points : INTEGER := SIZEOF(control_points_list) - 1;

control_points : ARRAY [0:upper_index_on_control_points] OF

cartesian_point := list_to_array( control_points_list,0, upper_index_on_control_points);

WHERE

wrl: (('SHIP_MOULDED_FORM_SCHEMA.UNIFORM_CURVE' IN TYPEOF(SELF)) OR

('SHIP_MOULDED_FORM_SCHEMA.QUASI_UNIFORM_CURVE' IN

TYPEOF(SELF)) OR ('SHIP_MOULDED_FORM_SCHEMA.BEZIER_CURVE' IN

TYPEOF(SELF)) OR ('SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF(SELF)));

END_ENTITY; -- b_spline_curve

ENTITY b_spline_curve_with_knots

SUBTYPE OF (b_spline_curve);

knot_multipiicities : LIST [2:?] OF INTEGER;

knots : LIST [2:?] OF parameter_value;

knot_spec : knot_type;

DERIVE

upper_index_on_knots : INTEGER := SIZEOF(knots); WHERE

wrl: constraints_param_b_spline(degree,upper_index_on_knots, upper_index_on_control_points,knot_multiplicities,knots);

wr2: (SIZEOF(knot_multiplicities) = upper_index_on_knots);

END_ENTITY; -- b_spline_curve_with_knots

ENTITY b_spline_surface

SUPERTYPE OF (ONEOF

(b_spline_surface_with_knots,uniform_surface, quasi_uniform_surface,bezier_surface) ANDOR rational_b_spline_surface)

SUBTYPE OF (bounded surface);

u_degree

v_degree

control_points_list surface_form U_closed

v_closed

self intersect

DERIVE

u_upper v_upper

INTEGER;

INTEGER;

LIST [2:?] OF LIST [2:?] OF cartesian_point; b_spline_surface_form;

LOGICAL;

LOGICAL;

LOGICAL;

INTEGER := SIZEOF(control_points_list) - 1;

INTEGER := SIZEOF(control_points_list[1]) - 1;

control_points : ARRAY [0:u_upper] OF ARRAY [0:v_upper] OF cartesian_point := make_array_of_array( control_points_list,0,u_upper,0,v_upper);

WHERE

wrl: (('SHIP MOULDED FORM SCHEMA.UNIFORM SURFACE' IN TYPEOF(SELF))

OR IN IN

('SHIP_MOULDED_FORM_SCHEMA.QUASI_UNIFORM_SURFACE'

TYPEOF(SELF)) OR ('SHIP_MOULDED_FORM_SCHEMA.BEZIER_SURFACE' TYPEOF(SELF)) OR (

'SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF(SELF))); END_ENTITY; -- b_spline_surface

ENTITY b_spline_surface_with_knots SUBTYPE OF (b_spline_surface);

u_multipiicities v_multipiicities u_knots v knots

LIST

[2:?]

OF

INTEGER;

LIST

[2:?]

OF

INTEGER;

LIST

[2:?]

OF

parameter

value

LIST

[2:?]

OF

parameter

value

433

ГОСТ Р ИСО 10303-216—2023

knot_spec : knot_type;

DERIVE

knot_u_upper : INTEGER := SIZEOF(u_knots);

knot_v_upper : INTEGER := SIZEOF(v_knots);

WHERE

wrl: constraints_param_b_spline(SELF\b_spline_surface.u_degree, knot_u_upper,SELF\b_spline_surface.u_upper,u_mu11ipl1cities, u_knots);

wr2: constraints_param_b_spline(SELF\b_spline_surface.v_degree, knot_v_upper,SELF\b_spline_surface.v_upper,v_multiplicities,v_knots);

wr3: (SIZEOF(u_multiplicities) = knot_u_upper);

wr4 : (SIZEOF(v_multiplicities) = knot_v_upper);

END_ENTITY; -- b_spline_surface_with_knots

ENTITY bezier_curve

SUBTYPE OF (b_spline_curve);

END_ENTITY; -- bezier_curve

ENTITY bezier_surface

SUBTYPE OF (b_spline_surface);

END_ENTITY; -- bezier_surface

ENTITY bounded_curve

SUPERTYPE OF (ONEOF (polyline,b_spline_curve,bounded_pcurve, bounded_surface_curve,composite_curve))

SUBTYPE OF (curve);

END_ENTITY; -- bounded_curve

ENTITY bounded_pcurve

SUBTYPE OF (pcurve, bounded_curve);

WHERE

wrl: ('SHIP_MOULDED_FORM_SCHEMA.BOUNDED_CURVE' IN TYPEOF(

SELF\pcurve.reference_to_curve.items[1]));

END_ENTITY; -- bounded_pcurve

ENTITY bounded_surface

SUPERTYPE OF (b_spline_surface)

SUBTYPE OF (surface);

END_ENTITY; -- bounded_surface

ENTITY bounded_surface_curve

SUBTYPE OF (surface_curve, bounded_curve);

WHERE

wrl: ('SHIP_MOULDED_FORM_SCHEMA.BOUNDED_CURVE' IN TYPEOF(SELF\

surface_curve.curve_3d));

END_ENTITY; -- bounded_surface_curve

ENTITY calendar_date

SUBTYPE OF (date);

day_component : day_in_month_number;

month_component : month_in_year_number;

WHERE

wrl: valid_calendar_date(SELF);

END_ENTITY; -- calendar_date

ENTITY cartesian_point

SUBTYPE OF (point);

coordinates : LIST [1:3] OF length_measure;

END_ENTITY; -- cartesian_point

ENTITY cartesian_transformation_operator

SUPERTYPE OF (cartesian_transformation_operator_3d)

SUBTYPE OF (geometric_representation_item,

434

ГОСТ Р ИСО 10303-216—2023

functiona11y_defined_transformation);

axisl : OPTIONAL direction;

axis2 : OPTIONAL direction;

local_origin : cartesian_point;

scale : OPTIONAL REAL;

DERIVE

scl : REAL := NVL(scale,1);

WHERE wrl: (scl > 0) ; END_ENTITY; -- cartesian_transformation_operator

ENTITY cartesian_transformation_operator_3d

SUBTYPE OF (cartesian_transformation_operator);

axis3 : OPTIONAL direction; DERIVE

u : LIST [3:3] OF direction := base_axis(3,SELF\ cartesian_transformation_operator.axisl,SELF\ cartesian_transformation_operator.axis2,axis3); WHERE

wrl: (SELF\geometric_representation_item.dim = 3);

END_ENTITY; -- cartesian_transformation_operator_3d

ENTITY characterized_object;

name : label;

description : OPTIONAL text;

END_ENTITY; -- characterized_object

ENTITY circle

SUBTYPE OF (conic);

radius : positive_length_measure;

END_ENTITY; — circle

ENTITY class

SUBTYPE OF (group);

WHERE wrl: (SIZEOF(QUERY ( oa <* USEDIN(SELF, 'SHIP_MOULDED_FORM_SCHEMA.GROUP_ASSIGNMENT.ASSIGNED_GROUP') I (NOT ('SHIP_MOULDED_FORM_SCHEMA.APPLIED_GROUP_ASSIGNMENT' IN TYPEOF(oa))) )) = 0) ;

END_ENTITY; — class

ENTITY classification_assignment

ABSTRACT SUPERTYPE;

assigned_class : group;

role : classification_role;

END_ENTITY; -- classification_assignment

ENTITY classification_role;

name : label;

description : OPTIONAL text;

END_ENTITY; -- classification_role

ENTITY closed_shell

SUBTYPE OF (connected_face_set);

END_ENTITY; — closed_shell

ENTITY composite_curve

SUBTYPE OF (bounded_curve);

segments : LIST [1:?] OF composite_curve_segment;

self_intersect : LOGICAL; DERIVE

n_segments : INTEGER := SIZEOF(segments);

435

ГОСТ Р ИСО 10303-216—2023

closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous; WHERE

wrl: (((NOT closed_curve) AND (SIZEOF(QUERY ( temp <* segments I (temp.transition = discontinuous) )) =1)) OR (closed_curve AND (SIZEOF(QUERY ( temp <* segments I (temp.transition = discontinuous) )) = 0)) ) ;

END_ENTITY; -- composite_curve

ENTITY composite_curve_on_surface

SUBTYPE OF (composite_curve); DERIVE

basis_surface : SET [0:2] OF surface := get_basis_surface(SELF); WHERE

wrl: (SIZEOF(basis_surface) > 0) ;

wr2: constraints_composite_curve_on_surface(SELF);

END_ENTITY; -- composite_curve_on_surface

ENTITY composite_curve_segment

SUBTYPE OF (founded_item);

transition : transition_code;

same_sense : BOOLEAN;

parent_curve : curve;

INVERSE

using_curves : BAG [1:?] OF composite_curve FOR segments; WHERE

wrl: ('SHIP_MOULDED_FORM_SCHEMA.BOUNDED_CURVE' IN TYPEOF(parent_curve)); END_ENTITY; -- composite_curve_segment

ENTITY compound_representation_item

SUBTYPE OF (representation_item);

item_element : compound_item_definition;

END_ENTITY; -- compound_representation_item

ENTITY conic

SUPERTYPE OF (ONEOF (circle,ellipse,hyperbola,parabola)) SUBTYPE OF (curve);

position : axis2_placement;

END_ENTITY; — conic

ENTITY conical_surface

SUBTYPE OF (elementary_surface);

radius : length_measure;

semi_angle : plane_angle_measure; WHERE

wrl: (radius >= 0) ;

END_ENTITY; -- conical_surface

ENTITY connected_edge_set

SUBTYPE OF (topological_representation_item);

ces_edges : SET [1:?] OF edge;

END_ENTITY; -- connected_edge_set

ENTITY connected_face_set

SUPERTYPE OF (ONEOF (c1оsed_she11,open_she11))

SUBTYPE OF (topological_representation_item);

cfs_faces : SET [1:?] OF face;

END_ENTITY; -- connected_face_set

ENTITY context_dependent_unit

SUBTYPE OF (named_unit);

name : label;

END_ENTITY; -- context_dependent_unit

436

ГОСТ Р ИСО 10303-216—2023

ENTITY conversion_based_unit

SUBTYPE OF (named_unit); name : label;

conversion_factor : measure_with_unit;

END_ENTITY; -- conversion_based_unit

ENTITY coordinated_universal_time_offset;

hour_offset : INTEGER;

minute_offset : OPTIONAL INTEGER;

sense : ahead_or_behind;

DERIVE

actual_minute_offset : INTEGER := NVL(minute_offset, 0) ;

WHERE

wrl: ((0 <= hour_offset) AND (hour_offset < 24));

wr2: ((0 <= actual_minute_offset) AND (actual_minute_offset <= 59));

wr3: (NOT (((hour_offset <> 0) OR (actual_minute_offset <> 0)) AND (sense = exact)));

END_ENTITY; -- coordinated_universal_time_offset

ENTITY curve

SUPERTYPE OF (ONEOF

(line,conic,pcurve,surface_curve,offset_curve_3d, curve_replica))

SUBTYPE OF (geometric_representation_item);

END_ENTITY; — curve

ENTITY curve_replica

SUBTYPE OF (curve);

parent_curve : curve;

transformation : cartesian_transformation_operator;

WHERE wrl: (transformation.dim = parent_curve.dim); wr2: acyclic_curve_replica(SELF,parent_curve);

END_ENTITY; -- curve_replica

ENTITY cylindrical_surface

SUBTYPE OF (elementary_surface); radius : positive_length_measure;

END_ENTITY; — cylindrical_surface

ENTITY date

SUPERTYPE OF (ONEOF (calendar_date,ordinal_date, week_of_year_and_day_date)); year_component : year_number;

END_ENTITY; -- date

ENTITY date_and_time;

date_component : date;

time_component : local_time;

END_ENTITY; — date_and_time

ENTITY date_and_time_assignment

ABSTRACT SUPERTYPE;

assigned_date_and_time : date_and_time;

role : date_time_role;

END_ENTITY; -- date_and_time_assignment

ENTITY date_time_role; name : label;

DERIVE description : text := get_description_value(SELF);

WHERE

437

ГОСТ Р ИСО 10303-216—2023

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'DESCRIPTI0N_ATTRIBUTE.DESCRIBED_ITEM')) <= 1) ;

END_ENTITY; — date_time_role

ENTITY definitional_representation

SUBTYPE OF (representation); WHERE wrl: ('SHIP_MOULDED_FORM_SCHEMA.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF\representation.context_of_items));

END_ENTITY; — definitional_representation

ENTITY degenerate_pcurve

SUBTYPE OF (point);

basis_surface: surface;

reference_to_curve : definitional_representation; WHERE

wrl: (SIZEOF(reference_to_curve\representation.items) = 1);

wr2: ('SHIP_MOULDED_FORM_SCHEMA.CURVE' IN TYPEOF(reference_to_curve\ representation.items[1]));

wr3: (reference_to_curve\representation.items[1]\ geometric_representation_item.dim = 2);

END_ENTITY; — degenerate_pcurve

ENTITY degenerate_toroidal_surface

SUBTYPE OF (toroidal_surface); select_outer : BOOLEAN;

WHERE wrl: (major_radius < minor_radius); END_ENTITY; — degenerate_toroidal_surface

ENTITY derived_unit;

elements : SET [1:?] OF derived_unit_element; DERIVE

name : label := get_name_value(SELF); WHERE

wrl: ((SIZEOF(elements) > 1) OR ((SIZEOF(elements) = 1) AND ( elements[1].exponent <> 1)));

wr2: (SIZEOF(USEDIN(SELF,1SHIP_MOULDED_FORM_SCHEMA.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1);

END_ENTITY; -- derived_unit

ENTITY derived_unit_element;

unit : named_unit;

exponent : REAL;

END_ENTITY; -- derived_unit_element

ENTITY description_attribute;

attribute_value : text;

described_item : description_attribute_select;

END_ENTITY; — description_attribute

ENTITY descriptive_representation_itern

SUBTYPE OF (representation_item); description : text;

END_ENTITY; -- descriptive_representation_item

ENTITY dimensional_exponents; length_exponent mass_exponent time_exponent

electric_current_exponent

438

REAL;

REAL;

REAL;

REAL;

ГОСТ Р ИСО 10303-216—2023

thermodynamic_temperature_exponent : REAL;

amount_of_substance_exponent : REAL;

luminous_intensity_exponent : REAL;

END_ENTITY; -- dimensional_exponents

ENTITY direction

SUBTYPE OF (geometric_representation_item); direction_ratios : LIST [2:3] OF REAL;

WHERE

wrl: (SIZEOF(QUERY ( tmp <* direction_ratios | (tmp <> 0) )) > 0); END_ENTITY; -- direction

ENTITY document;

id : identifier;

name : label;

description : OPTIONAL text;

kind : document_type;

INVERSE

representation_types : SET [0:?] OF document_representation_type FOR represented_document;

END_ENTITY; — document

ENTITY document_reference

ABSTRACT SUPERTYPE;

assigned_document : document;

source : label;

DERIVE

role : object_role := get_role(SELF); WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1);

END_ENTITY; -- document_reference

ENTITY document_representation_type;

name : label;

represented_document : document;

END_ENTITY; -- document_representation_type

ENTITY document_type;

product_data_type : label;

END_ENTITY; -- document_type

ENTITY document_usage_constraint;

source : document;

subject_element : label;

subject_element_value : text;

END_ENTITY; -- document_usage_constraint

ENTITY edge

SUPERTYPE OF (ONEOF (edge_curve,oriented_edge))

SUBTYPE OF (topological_representation_item);

edge_start : vertex;

edge_end : vertex;

END_ENTITY; -- edge

ENTITY edge_based_wireframe_model

SUBTYPE OF (geometric_representation_item);

ebwm_boundary : SET [1:?] OF connected_edge_set;

END_ENTITY; -- edge_based_wireframe_model

ENTITY edge_based_wireframe_shape_representation SUBTYPE OF (shape_representation);

439

ГОСТ Р ИСО 10303-216—2023

WHERE wrl: (SIZEOF(QUERY ( it <* SELF.items I (NOT (SIZEOF([ 'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL', 'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM', 'SHIP_MOULDED_FORM_SCHEMA.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) =1)) )) = 0); wr2: (SIZEOF(QUERY ( it <* SELF.items | (SIZEOF([

'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL', 'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM'] * TYPEOF(it)) =1) )) >= 1); wr3: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items I (

'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( eb <* ebwm\ edge_based_wireframe_model.ebwm_boundary | (NOT (SIZEOF(QUERY ( edges <* eb.ces_edges | (NOT ( ’SHIP_MOULDED_FORM_SCHEMA.EDGE_CURVE' IN TYPEOF(edges))) )) = 0) ) ) ) = 0) ) ) ) = 0) ;

wr4: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items I (

'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( eb <* ebwm\ edge_based_wireframe_model.ebwm_boundary | (NOT (SIZEOF(QUERY ( pline_edges <* QUERY ( edges <* eb.ces_edges | ('SHIP_MOULDED_FORM_SCHEMA.POLYLINE' IN TYPEOF(edges\ edge_curve.edge_geometry)) ) | (NOT (SIZEOF(pline_edges\edge_curve.edge_geometry\polyline.points) >2)) )) =0)) )) =0)) )) = 0);

wr5: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( eb <* ebwm\ edge_based_wireframe_model.ebwm_boundary | (NOT (SIZEOF(QUERY ( edges <* eb.ces_edges I (NOT (( 'SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN TYPEOF(edges.edge_start)) AND ('SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN TYPEOF(edges.edge_end)))) )) =0)))) =0)) )) = 0) ;

wr6: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items I (

'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( eb <* ebwm\ edge_based_wireframe_model.ebwm_boundary | (NOT (SIZEOF(QUERY ( edges <* eb.ces_edges | (NOT valid_wireframe_edge_curve(edges\edge_curve.edge_geometry)) )) = 0) ) ) ) = 0) ) ) ) = 0) ;

wr7: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items I ( 'SHIP_MOULDED_FORM_SCHEMA.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( eb <* ebwm\ edge_based_wireframe_model.ebwm_boundary | (NOT (SIZEOF(QUERY ( edges <* eb.ces_edges I (NOT ( valid_wireframe_vertex_point(edges.edge_start\vertex_point. vertex_geometry) AND : valid_wireframe_vertex_point(edges.

edge_end\vertex_point.vertex_geometry))) )) =0)) )) =0)) )) = 0) ; wr8: (SIZEOF(QUERY ( mi <* QUERY ( it <* SELF.items I (

'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM' IN TYPEOF(it))

) | (NOT (('SHIP_MOULDED_FORM_SCHEMA.' + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' ) IN TYPEOF(mi\mapped_item.mapping_source.mapped_representation))) )) = 0) ; wr9: (SELF.context_of_iterns\geometric_representation_context.

coordinate_space_dimension = 3);

END_ENTITY; — edge_based_wireframe_shape_representation

ENTITY edge_curve

SUBTYPE OF (edge, geometric_representation_item); edge_geometry : curve;

same_sense : BOOLEAN;

END_ENTITY; -- edge_curve

440

ГОСТ Р ИСО 10303-216—2023

ENTITY edge_loop

SUBTYPE OF (loop, path);

DERIVE

ne : INTEGER := SIZEOF(SELF\path.edge_list) ; WHERE

wrl: (SELF\path.edge_list[1].edge_start :=:

SELF\path.edge_list[ne].edge_end);

END_ENTITY; — edge_loop

ENTITY effectivity

SUPERTYPE OF (serial_numbered_effectivity);

id : identifier;

DERIVE

name : label := get_name_value(SELF) ;

description : text := get_description_value(SELF) ;

WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'NAME_ATTRIBUTE.NAME D_IТЕМ')) <= 1) ;

wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM’)) <= 1);

END_ENTITY; -- effectivity

ENTITY effectivity_assignment

ABSTRACT SUPERTYPE;

assigned_effectivity : effectivity; DERIVE

role : object_role := get_role(SELF); WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1) ;

END_ENTITY; -- effectivity_assignment

ENTITY electric_current_unit

SUBTYPE OF (named_unit); WHERE

wrl: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\ named_unit.dimensions.mass_exponent = 0) AND (SELF\ named_unit.dimensions.time_exponent = 0) AND (SELF\ named_unit.dimensions.electric_current_exponent = 1) AND ( SELF\named_unit.dimensions.

thermodynamic_temperature_exponent = 0) AND

(SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND (SELF\ named_unit.dimensions.luminous_intensity_exponent = 0));

END ENTITY; -- electric current unit

ENTITY elementary_surface

SUPERTYPE OF (ONEOF (plane,cylindrical_surface,conical_surface, spherical_surface,tогоidal_surface))

SUBTYPE OF (surface);

position : axis2_placement_3d;

END_ENTITY; -- elementary_surface

ENTITY ellipse

SUBTYPE OF (conic);

semi_axis_l : positive_length_measure;

semi_axis_2 : positive_length_measure;

END_ENTITY; — ellipse

ENTITY evaluated_degenerate_pcurve

SUBTYPE OF (degenerate_pcurve);

eguivalent_point : cartesian_point;

END_ENTITY; -- evaluated_degenerate_pcurve

441

ГОСТ Р ИСО 10303-216—2023

ENTITY executed_action

SUBTYPE OF (action);

END_ENTITY; -- executed_action

ENTITY external_identification_assignment A

BSTRACT SUPERTYPE

SUBTYPE OF (identification_assignment);

source : external_source;

END_ENTITY; -- external_identifica.tion_assignment

ENTITY external_source;

source_id : source_item;

DERIVE

description : text : = get_description_value(SELF); WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' +

’DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM’)) <= 1);

END_ENTITY; -- external_source

ENTITY external_source_relationship;

name : label;

description : OPTIONAL text;

relating_source : external_source;

related_source : external_source;

END_ENTITY; — external_source_relationship

ENTITY externally_defined_item;

item_id : source_item;

source : external_source;

END_ENTITY; — externally_defined_item

ENTITY face

SUPERTYPE OF (ONEOF (face_surface,subface,oriented_face))

SUBTYPE OF (topological_representation_item);

bounds : SET [1:?] OF face_bound;

WHERE

wrl: (NOT mixed_loop_type_set(list_to_set(list_face_loops(SELF))));

wr2: (SIZEOF(QUERY ( temp <* bounds I (

'SHIP_MOULDED_FORM_SCHEMA.FACE_OUTER_BOUND' IN TYPEOF(temp)) )) <= 1); END_ENTITY; — face

ENTITY face_based_surface_model

SUBTYPE OF (geometric_representation_item);

fbsm_faces : SET [1:?] OF connected_face_set;

END_ENTITY; -- face_based_surface_model

ENTITY face_bound

SUBTYPE OF (topological_representation_item);

bound : loop;

orientation : BOOLEAN;

END_ENTITY; — face_bound

ENTITY face_outer_bound

SUBTYPE OF (face_bound);

END_ENTITY; -- face_outer_bound

ENTITY face_surface

SUBTYPE OF (face, geometric_representation_item);

face_geometry : surface;

same_sense : BOOLEAN;

WHERE

wrl: (NOT ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_SURFACE' IN TYPEOF(face_geometry))); END ENTITY; -- face surface

442

ГОСТ Р ИСО 10303-216—2023

ENTITY faceted_brep

SUBTYPE OF (manifold_solid_brep);

END_ENTITY; -- faceted_brep

ENTITY founded_item;

END_ENTITY; — founded_item

ENTITY functionally_defined_transformation;

name : label;

description : OPTIONAL text;

END_ENTITY; -- functionally_defined_transformation

ENTITY geometric_curve_set

SUBTYPE OF (geometric_set);

WHERE

wrl: (SIZEOF(QUERY ( temp <* SELF\geometric_set.elements | ( 'SHIP_MOULDED_FORM_SCHEMA.SURFACE' IN TYPEOF(temp)) )) = 0); END_ENTITY; -- geometric_curve_set

ENTITY geometric_representation_context

SUBTYPE OF (representation_context);

coordinate_space_dimension : dimension_count;

END_ENTITY; — geometric_representation_context

ENTITY geometric_representation_item

SUPERTYPE OF (ONEOF (point,direction,vector,placement, cartesian_transformation_operator,curve,surface,edge_curve, face_surface,poly_loop,vertex_point,solid_model, face_based_surface_model,edge_based_wireframe_model,geometric_set))

SUBTYPE OF (representation_item);

DERIVE

dim : dimension count := dimension_of(SELF);

WHERE

wrl: (SIZEOF(QUERY ( using_rep <* using_representations(SELF) | (

NOT ( 'SHIP_MOULDED_FORM_SCHEMA.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(using_rep.context_of_items))) )) = 0);

END_ENTITY; -- geometric_representation_item

ENTITY geometric_set

SUPERTYPE OF (geometric_curve_set)

SUBTYPE OF (geometric_representation_item);

elements : SET [1:?] OF geometric_set_select;

END_ENTITY; -- geometric_set

ENTITY global_uncertainty_assigned_context

SUBTYPE OF (representation_context);

uncertainty : SET [1:?] OF uncertainty_measure_with_unit;

END_ENTITY; -- global_uncertainty_assigned_context

ENTITY global_unit_assigned_context

SUBTYPE OF (representation_context);

units : SET [1:?] OF unit;

END_ENTITY; -- global_unit_assigned_context

ENTITY group;

name : label;

description : OPTIONAL text;

DERIVE

id : identifier := get_id_value(SELF) ;

WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1);

END_ENTITY; — group

443

ГОСТ Р ИСО 10303-216—2023

ENTITY group_assignment

ABSTRACT SUPERTYPE;

assigned_group : group;

DERIVE

role : object_role := get_role(SELF);

WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + ’ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1);

END_ENTITY; -- group_assignment

ENTITY group_relationship;

name : label;

description : OPTIONAL text;

relating_group : group;

related_group : group;

END_ENTITY; -- group_relationship

ENTITY hyperbola

SUBTYPE OF (conic);

semi_axis : positive_length_measure;

semi_imag_axis : positive_length_measure;

END_ENTITY; — hyperbola

ENTITY id_attribute;

attribute_value : identifier;

identified_item : id_attribute_select; END ENTITY; — id attribute

ENTITY identification_assignment

ABSTRACT SUPERTYPE;

assigned id : identifier;

role : identification_role;

END_ENTITY; -- identification_assignment

ENTITY identification_assignment_relationship;

name : label;

description : OPTIONAL text;

relating_identification_assignment : identification_assignment;

related_identification_assignment : identification_assignment;

END_ENTITY; -- identification_assignment_relationship

ENTITY identification_role;

name : label;

description : OPTIONAL text;

END ENTITY; -- identification role

ENTITY intersection curve

SUBTYPE OF (surface_curve);

WHERE

wrl: (SIZEOF(SELF\surface_curve.associated_geometry) = 2);

wr2: (associated_surface(SELF\surface_curve.associated_geometry[1]) <> associated_surface(SELF\surface_curve.associated_geometгу [2]));

END_ENTITY; -- intersection_curve

ENTITY item_defined_transformation;

name

description transform_item_l transform_item_2 END ENTITY; — item

: label;

: OPTIONAL text;

: representation_item

: representation_item defined transformation

444

ГОСТ Р ИСО 10303-216—2023

ENTITY length_measure_with_unit

SUBTYPE OF (measure_with_unit); WHERE

wrl: ('SHIP_MOULDED_FORM_SCHEMA.LENGTH_UNIT' IN TYPEOF(SELF\ measure_with_unit.unit_component));

END_ENTITY; -- length_measure_with_unit

ENTITY length_unit

SUBTYPE OF (named_unit); WHERE

wrl: ((SELF\named_unit.dimensions.length_exponent = 1) AND (SELF\named_unit.dimensions.mass_exponent = 0) AND (SELF\ named_unit.dimensions.time_exponent = 0) AND (SELF\ named_unit.dimensions.electric_current_exponent = 0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));

END_ENTITY; — length_unit

ENTITY line

SUBTYPE OF (curve);

pnt : cartesian_point;

dir : vector;

WHERE

wrl: (dir.dim = pnt.dim);

END_ENTITY; — line

ENTITY local_time;

hour_component : hour_in_day;

minute_component : OPTIONAL minute_in_hour;

second_component : OPTIONAL second_in_minute;

zone : coordinated_universal_time_offset;

WHERE

wrl: valid_time(SELF); END_ENTITY; — local_time

ENTITY loop

SUPERTYPE OF (ONEOF (vertex_loop,edge_loop,po1y_loop)) SUBTYPE OF (topological_representation_item);

END_ENTITY; — loop

ENTITY luminous_intensity_unit

SUBTYPE OF (named_unit); WHERE

wrl: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\named_unit.dimensions.mass_exponent = 0) AND (SELF\ named_unit.dimensions.time_exponent = 0) AND (SELF\ named_unit.dimensions.electric_current_exponent = 0) AND ( SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 1));

END_ENTITY; -- luminous_intensity_unit

ENTITY manifold_solid_brep

SUBTYPE OF (solid_model);

outer : closed_shell;

END_ENTITY; -- manifold_solid_brep

ENTITY mapped_item

SUBTYPE OF (representation_item);

mapping_source : representation_map;

mapping_target : representation_item;

445

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: acyclic_mapped_representation(using_representations(SELF),[SELF]); END_ENTITY; -- mapped_item

ENTITY mass_measиre_with_unit

SUBTYPE OF (measure_with_unit); WHERE

wrl: ('SHIP_MOULDED_FORM_SCHEMA.MASS_UNIT’ IN TYPEOF(SELF\ measure_with_unit.unit_component));

END_ENTITY; -- mass_measure_with_unit

ENTITY mass_unit

SUBTYPE OF (named_unit); WHERE

wrl: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\ named_unit.dimensions.mass_exponent = 1) AND (SELF\ named_unit.dimensions.time_exponent = 0) AND (SELF\ named_unit.dimensions.electric_current_exponent = 0) AND ( SELF\named_unit. dimensions . thermodynamic__temperature_exponent = 0) AND SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));

END_ENTITY; -- mass_unit

ENTITY measure_with_unit

SUPERTYPE OF (ONEOF

(1ength_mea su re_with_un it,mas s_mea su re_wi th_un it,

p1ane_angle_measure_with_unit,sо1id_angle_measure_with_unit)); value_component : measure_value;

unit_component : unit;

WHERE

wrl: valid_units(SELF);

END_ENTITY; -- measure_with_unit

ENTITY name_attribute;

attribute_value : label;

named_item : name_attribute_select;

END_ENTITY; -- name_attribute

ENTITY named_unit

SUPERTYPE OF (ONEOF (si_unit,conversion_based_unit, context_dependent_unit) ANDOR ONEOF (length_unit,mass_unit, time_unit,electric_current_unit,thermodynamic_temperature_unit, amount_of__substance_unit, luminous_intensity_unit, plane_angle_unit, solid_angle_unit,ratio_unit)); dimensions : dimensional_exponents;

END_ENTITY; — named_unit

ENTITY non_manifоld_surface_shape_representation

SUBTYPE OF (shape_representation); WHERE

wrl : (SIZEOF(QUERY ( it <* SELF.items I (NOT (SIZEOF([

'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL', 'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM',

'SHIP_MOULDED_FORM_SCHEMA.AXIS2_PLACEMENT_3D’] * TYPEOF (it)) =1)) )) = 0); wr2 : (SIZEOF(QUERY ( it <* SELF.items I (SIZEOF([

'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL',

'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM’] * TYPEOF(it)) =1) )) > 0) ;

wr3 : (SIZEOF(QUERY ( mi <* QUERY ( it <* SELF.items | (

'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM' IN TYPEOF(it)) ) I (

NOT ((('SHIP_MOULDED_FORM_SCHEMA.' + 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION') IN TYPEOF(mi\ mapped_item.mapping_source.mapped_representation)) AND (

446

ГОСТ Р ИСО 10303-216—2023

SIZEOF(QUERY ( mr_it <* mi\mapped_item.mapping_source. mapped_representation.items | ('SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL' IN TYPEOF(mr_it)) )) >0))) )) = 0) ;

wr4 : (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\ face_based_surface_model.fbsm_faces I (NOT (SIZEOF( QUERY ( fa <* cfs.cfs_faces I (NOT (SIZEOF([ 'SHIP_MOULDED_FORM_SCHEMA.FACE_SURFACE', 'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_FACE'] * TYPEOF(fa)) =1)) )) = 0) ) ) ) = 0) ) ) ) = 0) ;

wr5 : (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | (

'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\ face_based_surface_model.fbsm_faces I (NOT (SIZEOF( QUERY ( f_sf <* QUERY ( fa <* cfs.cfs_faces I ( 'SHIP_MOULDED_FORM_SCHEMA.FACE_SURFACE' IN TYPEOF(fa)) ) | (NOT (('SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF( f_sf)) OR nmsf_surface_check(f_sf\face_surface. face_geometry))) )) =0)) )) =0)) )) = 0) ;

wr6 : (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\ face_based_surface_model.fbsm_faces I (NOT (SIZEOF( QUERY ( o_fa <* QUERY ( fa <* cfs.cfs_faces | ( 'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_FACE' IN TYPEOF(fa)) ) I (NOT (('SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF(o_fa\oriented_face.face_element)) OR msf_surface_check(o_fa\oriented_face.face_element\ ace_surface.face_geometry))) )) =0)) )) =0)) )) = 0) ;

wr7 : (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | (

'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\ face_based_surface_model.fbsm_faces I (NOT (SIZEOF( QUERY ( fa <* cfs.cfs_faces I (NOT (( 'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN (SIZEOF(QUERY ( bnds <* fa.bounds I (NOT (SIZEOF([ 'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP',

'SHIP_MOULDED_FORM_SCHEMA.VERTEX_LOOP'] * TYPEOF(bnds.bound)) = 1) ) ) ) = 0) ) ) ) ) = 0) ) ) ) = 0) ) ) ) = 0) ;

wr8 : (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items I ( 'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\

face_based_surface_model.fbsm_faces I (NOT (SIZEOF( QUERY ( fa <* cfs.cfs_faces I (NOT (( 'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ('SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) ) I (NOT (SIZEOF(QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ('SHIP_MOULDED_FORM_SCHEMA.EDGE_CURVE' IN TYPEOF(oe.edge_element))) )) =0)) )) =0))) )) =0)) )) =0)) )) = 0); wr9 : (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | (

'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\

face_based_surface_model.fbsm_faces I (NOT (SIZEOF( QUERY ( fa <* cfs.cfs_faces I (NOT ((

'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds I ( 'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) ) I (NOT (SIZEOF(QUERY ( oe_cv <* QUERY ( oe <* elp_fbnds\ path.edge_list I ('SHIP MOULDED FORM SCHEMA.EDGE CURVE' IN

447

ГОСТ Р ИСО 10303-216—2023

TYPEOF(oe.edge_element)) ) | (NOT (SIZEOF([ 'SHIP_MOULDED_FORM_S CHEMA.B_SPLINE_CURVE', 'SHIP_MOULDED_FORM_SCHEMA.CONIC', 'SHIP_MOULDED_FORM_SCHEMA.CURVE_REPLICA', 'SHIP_MOULDED_FORM_SCHEMA.LINE', 'SHIP_MOULDED_FORM_SCHEMA.OFFSET_CURVE_3D', 'SHIP_MOULDED_FORM_SCHEMA.PCURVE', 'SHIP_MOULDED_FORM_SCHEMA.POLYLINE', 'SHIP_MOULDED_FORM_SCHEMA.SURFACE_CURVE'] * TYPEOF(oe_cv.edge_element\edge_curve.edge_geometry)) =1)) )) =0))) )) = 0) ) ) ) = 0)) ) ) = 0) ;

wrlO: (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items I ( 'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\ face_based_surface_model.fbsm_faces | (NOT (SIZEOF( QUERY ( fa <* cfs.cfs_faces I (NOT (( 'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF (fa)) OR (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds I ( 'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) ) I (NOT (SIZEOF(QUERY ( oe <* elp_fbnds\path.edge_list | (

NOT nmsf_curve_check(oe.edge_element\edge_curve. edge_geometry)) )) = 0) ) )) = 0))) ) ) = 0) ) )) = 0)) )) = 0);

wrll: (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items I ( 'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\ face_based_surface_model.fbsm_faces | (NOT (SIZEOF( QUERY ( fa <* cfs.cfs_faces I (NOT (( 'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.bound)) ) I (NOT (SIZEOF(QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT (('SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN TYPEOF(oe.edge_element.edge_start)) AND ( 'SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN

TYPEOF(oe.edge_element,edge_end)))) )) =0)) )) =0))) )) =0)) )) =0)) )) = 0); wrl2: (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items I (

'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'

IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\ face_based_surface_model.fbsm_faces I (NOT (SIZEOF( QUERY ( fa <* cfs.cfs_faces I (NOT (( 'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <*fa.bounds | ( 'SHIP_MOULDED_FORM_SCHEMA.EDGE_LOOP' IN

TYPEOF(bnds.bound)) ) | (NOT (SIZEOF(QUERY ( oe <*elp_fbnds\path.edge_list | ( NOT ((SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT', 'SHIP_MOULDED_FORM_SCHEMA.DEGENERATE_PCURVE', 'SHIP_MOULDED_FORM_SCHEMA. POINT_ON_CURVE’, 'SHIP_MOULDED_FORM_SCHEMA.POINT_ON_SURFACE'] *

TYPEOF(oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1) AND (SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT', 'SHIP_MOULDED_FORM_SCHEMA.DEGENERATE_PCURVE', 'SHIP_MOULDED_FORM_SCHEMA. POINT_ON_CURVE’, 'SHIP_MOULDED_FORM_SCHEMA.POINT_ON_SURFACE'] *

TYPEOF(oe.edge_element.edge_end\vertex_point.vertex_geometry)) =1))) )) = 0) ) ) ) = 0) ) ) ) ) = 0) ) ) ) = 0) ) ) ) = 0) ;

wrl3: (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items I (

'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL'

IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\ face_based_surface_model.fbsm_faces I (NOT (SIZEOF( QUERY ( fa <* cfs.cfs_faces | (NOT (( 'SHIP_MOULDED_FORM_SCHEMA.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY ( vlp_fbnds <* QUERY ( bnds <*fa.bounds | ( 'SHIP_MOULDED_FORM_SCHEMA.VERTEX_LOOP' IN TYPEOF(bnds.bound)) )

448

ГОСТ Р ИСО 10303-216—2023

| (NOT ('SHIP_MOULDED_FORM_SCHEMA.VERTEX_POINT' IN TYPEOF( vlp_fbnds\vertex_loop.loop_vertex))) )) =0))) )) =0)) )) =0)) )) = 0);

wrl4: (SIZEOF(QUERY ( fbsm <* QUERY ( it <* SELF.items | (

'SHIP_MOULDED_FORM_SCHEMA.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( cfs <* fbsm\ face_based_surface_model.fbsm_faces I (NOT (SIZEOF( QUERY ( fa <* cfs.cfs_faces I (NOT (( 'SHIP_MOULDED_FORM_SCHEMA.ADVANCED-FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY ( vlp_fbnds <* QUERY ( bnds <*fa.bounds I ( 'SHIP_MOULDED_FORM_SCHEMA.VERTEX_LOOP' IN TYPEOF(bnds.bound)) ) I (NOT (SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT', 'SHIP_MOULDED_FORM_SCHEMA.DEGENERATE_PCURVE', 'SHIP_MOULDED_FORM_SCHEMA.POINT_ON_CURVE', 'SHIP_MOULDED_FORM_SCHEMA.POINT_ON_SURFACE'] * TYPEOF(vlp_fbnds\vertex_loop.loop_vertex\vertex_point. vertex_geometry)) =1)) )) =0))) )) =0)) )) =0)) )) = 0);

END_ENTITY; -- non_manifold_surface_shape_representation

ENTITY object—role;

name : label;

description : OPTIONAL text;

END-ENTITY; — object_role

ENTITY offset—curve_3d

SUBTYPE OF (curve);

basis_curve : curve;

distance : length—measure;

self—intersect : LOGICAL;

ref_direction : direction;

WHERE

wrl: ((basis_curve.dim = 3) AND (ref_direction.dim = 3)); END ENTITY; — offset curve 3d

ENTITY offset_surface

SUBTYPE OF (surface);

basis_surface : surface;

distance : length—measure;

self—intersect : LOGICAL;

END ENTITY; — offset surface

ENTITY open_shell

SUBTYPE OF (connected—face_set);

END-ENTITY; — open_shell

ENTITY ordinal—date

SUBTYPE OF (date);

day_component : day_in_year_number; WHERE

wrl: (((NOT leap_year(SELF.year_component)) AND (1 <= day_component) AND (day_component <= 365)) OR (leap_year(SELF.year_component) AND (1 <= day_component) AND (day_component <= 366)));

END ENTITY; — ordinal date

ENTITY organization;

id : OPTIONAL identifier;

name : label;

description : OPTIONAL text;

END—ENTITY; -- organization

ENTITY organization—assignment ABSTRACT SUPERTYPE;

449

ГОСТ Р ИСО 10303-216—2023

assigned_organization : organization;

role : organization_role;

END_ENTITY; — organization_assignment

ENTITY organization_role;

name : label;

DERIVE

description : text := get_description_value(SELF); WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);

END_ENTITY; -- organization_role

ENTITY organizational_address

SUBTYPE OF (address);

organizations : SET [1:?] OF organization;

description : OPTIONAL text;

END_ENTITY; -- organizational_address

ENTITY organizational_project;

name : label;

description : OPTIONAL text;

responsible_organizations : SET [1:?] OF organization; DERIVE

id : identifier := get_id_value(SELF) ; WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= D;

END_ENTITY; -- organizational_project

ENTITY oriented_closed_shell

SUBTYPE OF (closed_shell);

closed_shell_element : closed_shell;

orientation : BOOLEAN;

DERIVE

SELF\connected_face_set.cfs_faces : SET [1:?] OF face :=

conditional_reverse(SELF.orientation,SELF.closed_shell_element.cfs_faces); WHERE

wrl: (NOT ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_CLOSED_SHELL' IN

TYPEOF(SELF.closed_shell_element)));

END_ENTITY; -- oriented_closed_shell

ENTITY oriented_edge

SUBTYPE OF (edge);

edge_element : edge;

orientation : BOOLEAN;

DERIVE

SELF\edge.edge_start : vertex := boolean_choose(SELF.orientation,

SELF.edge_element.edge_start,SELF.edge_element.edge_end);

SELF\edge.edge_end : vertex := boolean_choose(SELF.orientation,

SELF.edge_element.edge_end,SELF.edge_element.edge_start); WHERE

wrl: (NOT ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_EDGE' IN TYPEOF(SELF.edge_element))); END_ENTITY; -- oriented_edge

ENTITY oriented_face

SUBTYPE OF (face);

face_element : face;

orientation : BOOLEAN; DERIVE

SELF\face.bounds : SET [1:?] OF face_bound := conditional_reverse(

SELF.orientation,SELF.face_element.bounds);

450

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: (NOT ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_FACE' IN TYPEOF(SELF.face_element)));

END_ENTITY; -- oriented_face

ENTITY oriented_open_shell

SUBTYPE OF (open_shell);

open_shell_element : open_shell;

orientation : BOOLEAN;

DERIVE

SELF\connected_face_set.cfs_faces : SET [1:?] OF face :=

conditional_reverse(SELF.orientation,SELF.

open_shell_element.cfs_faces);

WHERE

wrl: (NOT ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_OPEN_SHELL' IN TYPEOF(SELF.open_shell_element)));

END_ENTITY; -- oriented_open_shell

ENTITY oriented_path

SUBTYPE OF (path);

path_element : path;

orientation : BOOLEAN;

DERIVE

SELF\path.edge_list : LIST [1:?] OF UNIQUE oriented_edge :=

conditional_reverse(SELF.orientation,SELF.path_element.edge_list); WHERE

wrl: (NOT ('SHIP_MOULDED_FORM_SCHEMA.ORIENTED_PATH’ IN ;

TYPEOF(SELF.path_element)));

END_ENTITY; — oriented_path

ENTITY oriented surface

SUBTYPE OF (surface);

orientation : BOOLEAN;

END_ENTITY; -- oriented_surface

ENTITY parabola

SUBTYPE OF (conic);

focal_dist : length_measure;

WHERE

wrl: (focal_dist <> 0);

END_ENTITY; — parabola

ENTITY parametric_representation_context

SUBTYPE OF (representation_context);

END_ENTITY; -- parametric_representation_context

ENTITY path

SUPERTYPE OF (ONEOF (edge_loop,oriented_path))

SUBTYPE OF (topological_representation_item);

edge_list : LIST [1:?] OF UNIQUE oriented_edge;

WHERE

wrl: path_head_to_tail(SELF);

END_ENTITY; — path

ENTITY pcurve

SUBTYPE OF (curve);

basis_surface : surface;

reference_to_curve : definitional_representation;

WHERE

wrl: (SIZEOF(reference_to_curve\representation.items) = 1);

wr2: ('SHIP MOULDED FORM SCHEMA.CURVE' IN

451

ГОСТ Р ИСО 10303-216—2023

TYPEOF(reference_to_curve\representation.items[1])); wr3: (reference_to_curve\representation.items[1]\

geometric_representation_item.dim = 2);

END_ENTITY; -- pcurve

ENTITY person;

id : identifier;

last_name : OPTIONAL label;

first_name : OPTIONAL label;

middle_names : OPTIONAL LIST [1:?] OF label;

prefix_titles: OPTIONAL LIST [1:?] OF label;

suffix_titles: OPTIONAL LIST [1:?] OF label;

WHERE

wrl: (EXISTS(last_name) OR EXISTS(first_name));

END_ENTITY; — person

ENTITY person_and_organization;

the_person : person;

the_organization : organization;

DERIVE

name : label := get_name_value(SELF);

description : text := get_description_value(SELF); WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1);

wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);

END_ENTITY; -- person_and_organization

ENTITY person_and_organization_assignment

ABSTRACT SUPERTYPE;

assigned_person_and_organization : person_and_organization;

role : person_and_organization_role;

END_ENTITY; -- person_and_organization_assignment

ENTITY person_and_organization_role;

name : label;

DERIVE

description : text := get_description_value(SELF); WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);

END_ENTITY; -- person_and_organization_role

ENTITY person_assignment

ABSTRACT SUPERTYPE;

assigned_person : person;

role : person_role;

END_ENTITY; -- person_assignment

ENTITY person_role;

name : label;

DERIVE

description : text := get_description_value(SELF) ; WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);

END_ENTITY; -- person_role

ENTITY personal_address

SUBTYPE OF (address);

people : SET [1:?] OF person;

452

ГОСТ Р ИСО 10303-216—2023

description : OPTIONAL text;

END_ENTITY; -- personal_address

ENTITY placement

SUPERTYPE OF (ONEOF (axisl_placement,axis2_placement_2d, axis2_placement_3d)) SUBTYPE OF (geometric_representation_item);

location : cartesian_point;

END_ENTITY; -- placement

ENTITY plane

SUBTYPE OF (elementary_surface);

END_ENTITY; -- plane

ENTITY plane_angle_measure_with_unit

SUBTYPE OF (measure_with_unit); WHERE

wrl: ('SHIP_MOULDED_FORM_SCHEMA.PLANE_ANGLE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component));

END_ENTITY; -- plane_angle_measure_with_unit

ENTITY plane_angle_unit

SUBTYPE OF (named_unit);

WHERE

wrl: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\named_unit.dimensions.mass_exponent = 0) AND (SELF\ named_unit.dimensions.time_exponent = 0) AND (SELF\ named_unit.dimensions.electric_current_exponent = 0) AND ( SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));

END ENTITY; -- plane angle unit

ENTITY point

SUPERTYPE OF (ONEOF

(cartesian_point,point_on_curve,point_on_surface,

point_replica,degenerate_pcurve))

SUBTYPE OF (geometric_representation_item);

END_ENTITY; -- point

ENTITY point_on_curve

SUBTYPE OF (point);

basis_curve : curve;

point_parameter : parameter_value;

END_ENTITY; -- point_on_curve

ENTITY point_on_surface

SUBTYPE OF (point);

basis_surface : surface;

point_parameter_u : parameter_value;

point_parameter_v : parameter_value;

END_ENTITY; -- point_on_surface

ENTITY point_replica

SUBTYPE OF (point);

parent_pt : point;

transformation : cartesian_transformation_operator; WHERE

wrl: (transformation.dim = parent_pt.dim);

wr2: acyclic_point_replica(SELF,parent_pt);

END_ENTITY; -- point_replica

453

ГОСТ Р ИСО 10303-216—2023

ENTITY poly_loop

SUBTYPE OF (Loop, geometric_representation_item);

polygon : LIST [3:?] OF UNIQUE cartesian_point;

END_ENTITY; — poly_loop

ENTITY polyline

SUBTYPE OF (bounded_curve);

points : LIST [2:?] OF cartesian_point;

END_ENTITY; -- polyline

ENTITY product;

id : identifier;

name : label;

description : OPTIONAL text;

frame_of_reference : SET [1:?] OF product_context;

END_ENTITY; — product

ENTITY product_categorу;

name : label;

description : OPTIONAL text;

DERIVE

id : identifier := get_id_value(SELF); WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= D;

END_ENTITY; -- product_category

ENTITY product_category_relationship;

name : label;

description : OPTIONAL text;

category : product_category;

sub_category : product_category;

WHERE

wrl: acyclic_product_category_relationship(SELF,[SELF.sub_category]); END_ENTITY; — product_category_relationship

ENTITY product_context

SUBTYPE OF (application_context_element);

discipline_type : label;

END_ENTITY; -- product_context

ENTITY product_definition;

id : identifier;

description : OPTIONAL text;

formation : product_definition_formation;

frame_of_reference : product_definition_context;

DERIVE

name : label := get_name_value(SELF); WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'NAME_ATTRIBUTE.NAMED_ITEM’)) <= 1) ;

END_ENTITY; — product_definition

ENTITY product_definition_context

SUBTYPE OF (application_context_element);

life_cycle_stage : label;

END_ENTITY; -- product_definition_context

ENTITY product_definition_formation;

id : identifier;

description : OPTIONAL text;

of_product : product;

454

ГОСТ Р ИСО 10303-216—2023

UNIQUE

url : id, of_product;

END_ENTITY; -- product_definition_formation

ENTITY product_definition_reLationship;

id : identifier;

name : label;

description : OPTIONAL text;

relating_product_definition : product_definition;

related_product_definition : product_definition;

END_ENTITY; -- product_definition_relationship

ENTITY product_definition_shape

SUBTYPE OF (property_definition);

UNIQUE

url : definition;

WHERE

wrl: (SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.CHARACTERIZED_PRODUCT_DEFINITION', 'SHIP_MOULDED_FORM_SCHEMA.CHARACTERIZED_OBJECT'] * TYPEOF(SELF\property_definition.definition)) > 0);

END_ENTITY; -- product_definition_shape

ENTITY product_related_product_category

SUBTYPE OF (product_category);

products : SET [1:?] OF product;

END_ENTITY; -- product_related_product_category

ENTITY property_definition;

name : label;

description : OPTIONAL text;

definition : characterized_definition;

DERIVE

id : identifier := get_id_value(SELF) ; WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1);

END_ENTITY; -- property_definition

ENTITY property_definition_relationship;

name : label;

description : text;

relating_property_definition : property_definition;

related_property_definition : property_definition;

END_ENTITY; -- property_definition_relationship

ENTITY property_definition_representation;

definition : represented_definition;

used_representation : representation;

DERIVE

description : text := get_description_value(SELF) ;

name : label := get_name_value(SELF) ;

WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);

wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1);

END_ENTITY; -- property_definition_representation

ENTITY quasi_uniform_curve

SUBTYPE OF (b_spline_curve);

END_ENTITY; -- quasi_uniform_curve

455

ГОСТ Р ИСО 10303-216—2023

ENTITY quasi_uniform_surfасе

SUBTYPE OF (b_spline_surface);

END_ENTITY; -- quasi_uniform_surface

ENTITY ratio_unit

SUBTYPE OF (named_unit); WHERE

wrl: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\named_unit.dimensions.mass_exponent = 0) AND (SELF\ named_unit.dimensions.time_exponent = 0) AND (SELF\ named_unit.dimensions.electric_current_exponent = 0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));

END ENTITY; — ratio unit

ENTITY rational_b_spline_curve

SUBTYPE OF (b_spline_curve);

weights_data : LIST [2:?] OF REAL;

DERIVE

weights : ARRAY [0:upper_index_on_control_points] OF REAL :=

list_to_array(weights_data,0, upper_index_on_control_points);

WHERE

wrl: (SIZEOF(weights_data) = SIZEOF(SELF\b_spline_curve.control_points_list)); wr2: curve_weights_positive(SELF);

END_ENTITY; -- rational__b_sp 1 ine_curve

ENTITY rational_b_spline_surface

SUBTYPE OF (b_spline_surface);

weights_data : LIST [2:?] OF LIST [2:?] OF REAL;

DERIVE

weights : ARRAY [0:u_upper] OF ARRAY [0:v_upper] OF REAL := make_array_of_array(weights_data,0,u_upper,0,v_upper);

WHERE

wrl: ((SIZEOF(weights_data) = SIZEOF(SELF\b_spline_surface. control_points_list)) AND (SIZEOF(weights_data[1]) = SIZEOF(SELF\b_spline_surface.control_points_list[ 1 ] ) ) ) ;

wr2: surface_weights_positive(SELF);

END_ENTITY; — rational_b_spline_surface

ENTITY representation;

name : label;

items : SET [1:?] OF representation_item;

context_of_items : representation_context;

DERIVE

id : identifier := get_id_value(SELF) ;

description : text := get_description_value(SELF);

WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1);

wr2: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1);

END_ENTITY; -- representation

ENTITY representation_context; context_identifier : identifier;

context_type : text;

INVERSE

representations_in_context : SET [1:?] OF representation FOR context_of_iterns;

END_ENTITY; -- representation_context

456

ГОСТ Р ИСО 10303-216—2023

ENTITY representation_item;

name : label;

WHERE

wrl: (SIZEOF(using_representations(SELF) ) > 0);

END_ENTITY; -- representation_item

ENTITY representation_map;

mapping_origin : representation_item;

mapped_representation : representation;

INVERSE

map_usage : SET [1:?] OF mapped_item FOR mapping_source; WHERE

wrl: item_in_context(SELF.mapping_origin,SELF.mapped_representation.context_of_items); END_ENTITY; -- representation_map

ENTITY representation_relationship;

name : label;

description : OPTIONAL text;

rep_I : representation;

rep_2 : representation;

END_ENTITY; — representation_relationship

ENTITY role_association;

role : object_role;

item_with_role : role_select;

END_ENTITY; -- role_association

ENTITY seam_curve

SUBTYPE OF (surface_curve);

WHERE

wrl: (SIZEOF(SELF\surface_curve.associated_geometry) = 2);

wr2: (associated_surface(SELF\surface_curve.associated_geometry[1]) =

associated_surface(SELF\surface_curve.associated_geometry[2]));

wr3: ('SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN

TYPEOF(SELF\surface_curve.associated_geometry[1]));

wr4: ('SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN

TYPEOF(SELF\surface_curve.associated_geometry[2]));

END_ENTITY; -- seam_curve

ENTITY serial_numbered_effectivity

SUBTYPE OF (effectivity);

effectivity_start_id : identifier;

effectivity_end_id : OPTIONAL identifier;

END_ENTITY; -- serial_numbered_effectivity

ENTITY shape_aspect;

name : label;

description : OPTIONAL text;

of_shape : product_definition_shape;

product_definitional : LOGICAL;

DERIVE

id : identifier := get_id_value(SELF); WHERE

wrl: (SIZEOF(USEDIN(SELF,'SHIP_MOULDED_FORM_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1);

END_ENTITY; -- shape_aspect

ENTITY shape_definition_representation

SUBTYPE OF (property_definition_representation);

WHERE

wrl: (('SHIP_MOULDED_FORM_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(SELF.definition)) OR (

457

ГОСТ Р ИСО 10303-216—2023

'SHIP_MOULDED_FORM_SCHEMA.SHAPE_DEFINITION' IN

TYPEOF(SELF.definition.definition)));

wr2: ('SHIP_MOULDED_FORM_SCHEMA.SHAPE_REPRESENTATION' IN

TYPEOF(SELF.used_representation));

END_ENTITY; -- shape_definition_representation

ENTITY shape_representation

SUBTYPE OF (representation);

END_ENTITY; -- shape_representation

ENTITY si_unit

SUBTYPE OF (named_unit);

prefix : OPTIONAL si_prefix;

name : si_unit_name;

DERIVE

SELF\named_unit.dimensions : dimensional_exponents := dimensions_for_si_unit(name); END_ENTITY; -- si_unit

ENTITY sо1id_angle_measure_with_unit

SUBTYPE OF (measure_with_unit);

WHERE

wrl: ('SHIP_MOULDED_FORM_SCHEMA.SOLID_ANGLE_UNIT' IN TYPEOF(SELF\ measure_with_unit.unit_component));

END_ENTITY; -- solid_angle_measure_with_unit

ENTITY solid_angle_unit

SUBTYPE OF (named_unit);

WHERE

wrl: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\ named_unit.dimensions.mass_exponent = 0) AND (SELF\ named unit.dimensions.time exponent = 0) AND (SELF\ named_unit.dimensions.electric_current_exponent = 0) AND ( SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0));

END_ENTITY; -- solid_angle_unit

ENTITY solid_model

SUPERTYPE OF (manifold_solid_brep)

SUBTYPE OF (geometric_representation_item);

END_ENTITY; -- solid_model

ENTITY spherical_surface

SUBTYPE OF (elementary_surface);

radius : positive_length_measure;

END_ENTITY; -- spherical_surface

ENTITY subface

SUBTYPE OF (face);

parent_face : face;

WHERE

wrl: (NOT mixed_loop_type_set(list_to_set(list_face_loops(SELF)) + list_to_set(list_face_loops(parent_face)) ) ) ;

END_ENTITY; -- subface

ENTITY surface

SUPERTYPE OF (ONEOF

(elementary_surface,swept_surface,bounded_surface,offset_surface,surface_replica)) SUBTYPE OF (geometric_representation_item);

END_ENTITY; -- surface

458

69t

завам

1(дтип рэшви) JO 3dХ19ПЗ дтип эштд X1I1N3

дтип-эдnдвдэdшэдэтшвиЛрошдэцд — 'ХИХЫЗ-QNB

.'((О = дuэuodxэЛдтзиэдит-эпоитшпу•зиотзиэштр•дтип-рэшви

\333S) GNV (0 = Дuэuodxэ ээивдздпз до дипошв•зиотзиэштр•дтип-рэшви\здэ£) QNV (I = дuэuodxээдnдвдэdшэдэтшвиЛрошдэцд•зиотзиэштр•;тип-рэшви\здз£ ) GNV (0 = Дuэuodxэ диэддпээтддээуэ•зиотзиэштр•дтип рэшеи

ХЛЭЗ) ONV (0 = дuэuodxээштд•зиотзиэштр•дтипрэшви \3B3S) GNV (0 = Дuэuodxэ ззЕШ’зиотзиэштр-^тип рэшви \ЛЯЗ) GNV (0 = дuэuodxэддБиэу■зиотзиэштр•дтип-рэшви\здэз)) :TJM завам

.'(дтип_рэшви) зо вахХЗПЗ 4тип эдnдвдэdшэд отшеиАрошдэц; XXIXN3

ээвддns-дdэмs — 'XXIXN3-aN3 .'элдпэ : элдпэ-дdэмs

j (ээвддпз)_ зо заххапз ( (иотдпуолэд до ээвддпз'иотзпддхэ двэиту до ээвддпз)

вовью) зо_ заххазапз ээвддпз дdэмs XIIIN3

вэтydэд-ээвддns -- .'XXIXN3-aN3

.' (ээвддпз-дuэдвd '3335) B3jyd9nээвддпз-этуэЛэв : у дм завам .'Р£дoдвдэdoиотдвшдодзивдд-ивтзэддвэ : иорршдо^зиед;

.'ээвддпз : ээвддпз-дuэдвd .' (ээвддпз^ во заххапз вэтydэд ээвддпз X1IXN3

иотдпуолэд-до-ээвддпз — 'X1I1N3 QN3 .'( (у ' z • uoтдтsod зтхв)додээл || ()шэдт uoтдвдuэsэдdэд этддэшоэБ || (,,)шэдт-uoтдвдuэsэдdэд'иот^еоот•uoтдтsodзтхв)surf || () элдпэ || ()шэдтuoтдвдuэsэдdэдэтддэшоэБ || (,,)шэдт-uoтдвдuэsэдdэд =: эиту : эиту-зтхв _ злтаза .^u9m9OByd fSTXE : uoтдтsod зтхв

-' (aoepns_;daMS) 30 заххапз иотдпуолэд jo ээвддпз XIIIN3

иотзпддхэ двеиту jo ээвздпз -- .'X1IIN3 GN3 /дозээл : stxb иотзпддхэ /(ээвJдns_Jdэмs) зо заххапа иотзпддхэ-двэиту-jo-эовздпз X1I1N3

элдпэ-ээврпз — -XlIlNa^aNS

•_( ((Р£-элдпэ) зоэахх ni < элапэа • ™энэзЗгаоа-азазлон_а1нз,) xon) =wm

.'( (£s элдnэd <> uoтдвдuosэдdэд дэдзвш) ио ( ( [3] Аддэшоэб рэдвтооззв

) зозахх ni_ . злапэа • ¥нзнэз-наол_азатпо1Х1_а1нз.)) = с™ /((уз элдnэd <> uoтдвдuosэдdэд дэдзвш) зо (([у]Лддэшоеб рэдвтооззв

)зозахх ni .злапэа^нзнэзЗ^аоа^азазпоаГатнз.)) :z™

.' (£ = ШТР'Р£ элдпэ) : удм вазам

•(ЗВЗЗ)ээвудпз syssq дэб =: ээвддпз зо [3=1] X3S : ээвудпз syssq

SAiaaa

.'uoтдвдuэsэдdэд элдпэ ээвддпз ponnojond : uoтдвдuэsэдdэд дэдзвш .'ээвддпз до элдnэd зо [J^T] 1313 : ЛддэшоэБ рэдвтооззв

.'элдпэ : р£элдпэ

,jэлдпэ) _зо заххапз (элдпэ ээвддпз рэрипод

aoaNv (элдпэ-швэз'элдпэ-иотдээздэдит) зозыо) зо заххазапз элдпэ-ээвддпз X1I1N3

£ЕОЕ—9kZ-£0£0L ОЭИ d 130J

ГОСТ Р ИСО 10303-216—2023

wrl: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\ named_unit.dimensions.mass_exponent = 0) AND (SELF\ named_unit.dimensions.time_exponent = 1) AND (SELF\ named_unit.dimensions.electric_current_exponent = 0) AND ( SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0) ) ;

END_ENTITY; — time_unit

ENTITY topological_representation_item

SUPERTYPE OF (ONEOF

(vertex,edge,face_bound,face,connected_edge_set,

connected_face_set,loop ANDOR path))

SUBTYPE OF (representation_item);

END_ENTITY; — topological_representation_item

ENTITY toroidal_surface

SUBTYPE OF (elementary_surface);

major_radius : positive_length_measure;

minor_radius : positive_length_measure;

END_ENTITY; -- toroidal_surface

ENTITY uncertainty_measure_with_unit

SUBTYPE OF (measure_with_unit);

name : label;

description : OPTIONAL text;

WHERE

wrl: valid_measure_value(SELF\measure_with_unit.value_component); END_ENTITY; -- uncertainty_measure_with_unit

ENTITY uniform_curve

SUBTYPE OF (b_spline_curve);

END_ENTITY; -- uniform_curve

ENTITY uniform_surface

SUBTYPE OF (b_spline_surface);

END_ENTITY; -- uniform_surface

ENTITY value_representation_item

SUBTYPE OF (representation_item);

value_component : measure_value; WHERE

wrl: (SIZEOF(QUERY ( rep <* using_representations(SELF) | (NOT ( 'SHIP_MOULDED_FORM_SCHEMA.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF(rep.context_of_items))) )) = 0) ;

END_ENTITY; -- value_representation_itern

ENTITY vector

SUBTYPE OF (geometric_representation_item); о rientation : direction;

magnitude : length_measure;

WHERE

wrl: (magnitude >= 0);

END_ENTITY; — vector

ENTITY versioned_action_request;

id : identifier;

version : label;

purpose : text;

description : OPTIONAL text;

END_ENTITY; -- versioned_action_request

460

ГОСТ Р ИСО 10303-216—2023

ENTITY vertex

SUBTYPE OF (topological_representation_item);

END_ENTITY; — vertex

ENTITY vertex_loop

SUBTYPE OF (loop);

loop_vertex : vertex;

END_ENTITY; -- vertex_loop

ENTITY vertex_point

SUBTYPE OF (vertex, geometric_representation_item);

vertex_geometry : point;

END_ENTITY; — vertex_point

ENTITY week_of_year_and_day_date

SUBTYPE OF (date);

week_component : week_in_year_number;

day_component : OPTIONAL day_in_week_number;

END_ENTITY; -- week_of_year_and_day_date

RULE action_request_solution_connected_to_action FOR (

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action_request_solution := [];

set_3 : SET OF action_method := [];

t2_set : SET OF action := [];

END_LOCAL;

tl_set := QUERY ( a <* action_request_solution | VALUE_IN(which_class(a),'change plan') );

t2_set := QUERY ( b <* action | VALUE_IN(which_class(b),'change') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

set_3 := [ ] ;

REPEAT j := 1 TO HIINDEX(t2_set) BY 1;

set_3 := set_3 + [t2_set[j].chosen_method];

END_REPEAT;

violate := VALUE_IN(set_3,tl_set[i].method);

END_REPEAT;

WHERE wrl: (NOT violate);

END_RULE; — action_request_solution_connected_to_action

RULE action_request_solution_with_identification_assignment FOR (

applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF action_request_solution := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['change plan'];

t2_set : SET OF applied_identification_assignment := [];

END_LOCAL;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

c_a_set := QUERY ( i <* applied_classification_assignment | (i.assigned_class.name = arg_list[j]) );

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTI FICATION_ASSIGNMENT.ITEMS' ) ) ;

461

ГОСТ Р ИСО 10303-216—2023

t2_set := QUERY ( j <* t2_set I (j.role.name = 'globally unambiguous identifier') ); violation := NOT (SIZEOF(t2_set) = 1);

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; —action_request_solution_with_identification_assignment

RULE action_with_identification_assignment FOR ( appli ed_c1a s s i f i cat ion_a s s ignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF action := [];

c_a_set : SET OF app1ied_c1assification_assignment := [];

arg_list : LIST OF STRING := ['change', 'versionable object change event','check']; t2_set : SET OF app1ied_identification_assignment := [];

END_LOCAL;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

c_a_set := QUERY ( i <* app1ied_c1assification_assignment I (i.assigned_class.name = arg_list[j]) );

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

t2_set := QUERY ( j <* t2_set I (j.role.name = 'globally unambiguous identifier') ); violation := NOT (SIZEOF(t2_set) = 1);

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; — action_with_identification_assignment

RULE a1ternative_version_re1ationship_has_mandatоry_description FOR ( identification_assignment_relationship);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF identification_assignment_re1ationship := [];

END_LOCAL;

tl_set := QUERY ( i <* identification_assignment_re1ationship |

VALUE_IN(which_class(i),'alternative version relationship'));

violate := SIZEOF(QUERY ( к <* tl_set I (NOT EXISTS(к.description)) )) > 0; WHERE

wrl: (NOT violation);

END_RULE; —a11e rnat ive_ve rs i on_re1at i on s h ip_ha s_manda tо ry_de s c r ipt i on

RULE alternative_version_relationship_has_unique_versions FOR ( identi f i cati on_a s s ignment_relati onship);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF identification_assignment_re1ationship := []; END_LOCAL;

tl_set := QUERY ( a <* identification_assignment_relationship | VALUE_IN(which_class(a),'alternative version relationship'));

462

ГОСТ Р ИСО 10303-216—2023

REPEAT i := 1 ТО HIINDEX(tl_set) BY 1 WHILE NOT violate;

violate := tl_set[i].relating_identification_assignment.assigned_id = tl_set[i].related_identification_assignment.assigned_id;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- alternative_version_relationship_has_unique_versions

RULE alternative_version_relationship_versionable_object FOR (

applied_identification_assignment, identification_assignment_relationship);

LOCAL

violate : LOGICAL := FALSE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(applied_identification_assignment) BY 1 WHILE NOT violate;

IF

(SIZEOF(USEDIN(applied_identification_assignment[i],'SHIP_MOULDED_FO

RM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'

+ 'RELATING_IDENTIFICATION_ASSIGNMENT')) > 0) OR

(SIZEOF(USEDIN(applied_identification_assignment[i],

'SHIP_MOULDED_FORM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'

+ 'RELATED_IDENTIFICATION_ASSIGNMENT')) > 0) THEN

REPEAT j := 1 TO

HIINDEX(applied_identification_assignment[i].items) BY 1 WHILE NOT violate;

violate := NOT VALUE_IN(which_class(applied_identification_assignment[i].items[j]), 'versionable object');

END_REPEAT;

END_IF;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- alternative_version_relationship_versionable_object

RULE approval_event_with_approval_date_time FOR (approval); LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF approval := [];

t2_set : SET OF approval_date_time := [];

END_LOCAL;

tl_set := QUERY ( i <* approval | VALUE_IN(which_class(i), 'approval event') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

t2_set := bag_to_set(USEDIN(tl_set[i] ,

'SHIP_MOULDED_FORM_SCHEMA.APPROVAL_DATE_TIME.' + 'DATED_APPROVAL')); violate := NOT (SIZEOF(t2_set) = 1);

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; — approval_event_with_approval_date_time

RULE approval_event_with_approval_person_organization FOR (approval);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF approval := [];

t2_set : SET OF approval_person_organization := [];

END_LOCAL;

tl_set := QUERY ( i <* approval | VALUE_IN(which_class(i), 'approval event') );

463

ГОСТ Р ИСО 10303-216—2023

REPEAT i := 1 ТО HIINDEX(tl_set) BY 1 WHILE NOT violate;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPROVAL_PERSON_ORGANIZATION.' + 'AUTHORIZED_APPROVAL')); violate := NOT (SIZEOF(t2_set) = 1);

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; — approval_event_with_approval_person_organization

RULE approval_history_approves_same_definition FOR ( applied_group_assignment, applied_approval_assignment);

LOCAL

violate : LOGICAL := FALSE;

t3_set : SET OF approval := [];

t4_set : SET OF group_item := [];

t5_set : SET OF applied_approval_assignment := [];

t2_set : SET OF applied_group_assignment := [];

END_LOCAL;

t2_set := QUERY ( a <* applied_group_assignment I VALUE_IN( which_class(a.assigned_group),'approval history') );

t3_set := QUERY ( b <* t2_set[1].items | (

'SHIP_MOULDED_FORM_SCHEMA.APPROVAL' INTYPEOF(b)) );

t4_set := QUERY ( b <* t2_set[1].items | VALUE_IN(which_class (b), 'DEFINITION') );

violate := NOT (SIZEOF(t4_set) = 1);

REPEAT i := 1 TO HIINDEX(t3_set) BY 1 WHILE NOT violate;

t5_set := QUERY ( a <* applied_approval_assignment | ((a.

assigned_approval = t3_set[i]) AND (NOT

VALUE_IN(a.items,t4_set[1]))) );

violate := SIZEOF(t5_set) > 0;

END REPEAT;

WHERE

wrl: (NOT violate);

wr2: (SIZEOF(t4_set) = 1);

END_RULE; — approval_history_approves_same_definition

RULE approval_history_has_at_least_one_member FOR (group, applied_group_assignment); LOCAL violate : LOGICAL := FALSE;

tl_set : SET OF group := [];

t2_set : SET OF applied_group_assignment := [];

END_LOCAL;

tl_set := QUERY ( i <* group | VALUE_IN(which_class(i), 'approval history') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

t2_set := QUERY ( a <* applied_group_assignment | (a.assigned_group = tl_set[i]) ); violate := NOT (SIZEOF(t2_set) = 1);

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- approval_history_has_at_least_one_member

RULE approvals_references_approval_history FOR (applied_group_assignment, group); LOCAL violate : LOGICAL := FALSE; tl_set : SET OF group := [];

a_set : SET OF applied_group_assignment := [];

END LOCAL;

464

ГОСТ Р ИСО 10303-216—2023

tl_set := QUERY ( а <* group | VALUE_IN(which_class(а), 'approval history') ); REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_group_assignment I (NOT ((b.

assigned_group = tl_set[i]) AND (b.role.name = 'approvals'))) );

violate := SIZEOF(a_set) > 0;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- approvals_references_approval_history

RULE author_for_change_plan FOR (applied_person_and_organization_assignment, action_request_solution) ;

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action_request_solution := [];

a_set : SET OF applied_person_and_organization_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* action_request_solution |

VALUE_IN(which_class(a),'change plan') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <*applied_person_and_organization_assignment I (

VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'author')));

violate := SIZEOF(a_set) <> 1;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- author_for_change_plan

RULE author_for_change_realisation FOR (applied_person_and_organization_assignment, executed_action);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF executed_action := [];

a_set : SET OF applied_person_and_organization_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* executed_action | VALUE_IN(which_class(a),

'change realization') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_person_and_organization_assignment I (

VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'author')));

violate := SIZEOF(a_set) <> 1;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- author_for_change_realisation

RULE author_for_change_request FOR (applied_person_and_organization_assignment, versioned_action_request);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF versioned_action_request := [];

a_set : SET OF applied_person_and_organization_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* versioned_action_request I VALUE_IN(which_class(a),'change request') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <*applied_person_and_organization_assignment I (

VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'author')));

465

ГОСТ Р ИСО 10303-216—2023

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE wrl: (NOT violate);

END_RULE; -- author_for_change_request

RULE caused_by_for_check FOR (applied_person_and_organization_assignment, action); LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action := [];

a_set : SET OF applied_person_and_organization_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* action | VALUE_IN(which_class(a),'check') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <*applied_person_and_organization_assignment I ( VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'caused by')) ); violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE wrl: (NOT violate);

END_RULE; — caused_by_for_check

RULE caused_by_for_envisaged_version_creation FOR ( applied_person_and_organization_assignment, action); LOCAL violate : LOGICAL := FALSE; tl_set : SET OF action := [];

a_set : SET OF applied_person_and_organization_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* action | VALUE_IN(which_class(a), 'envisaged version creation') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate; a_set := QUERY ( b <*applied_person_and_organization_assignment I ( VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'caused by')) ); violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE wrl: (NOT violate);

END_RULE; — caused_by_for_envisaged_version_creation

RULE caused_by_for_version_creation FOR (applied_person_and_organization_assignment, action);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action := [];

a_set : SET OF applied_person_and_organization_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* action | VALUE_IN(which_class(a), 'version creation') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <*applied_person_and_organization_assignment I ( VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'caused by')) ); violate := SIZEOF(a_set) <> 1;

END_REPEAT; WHERE wrl: (NOT violate);

END_RULE; -- caused_by_for_version_creation

466

ГОСТ Р ИСО 10303-216—2023

RULE caused_by_for_version_deletion FOR (applied_person_and_organization_assignment, action);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action := [];

a_set : SET OF applied_person_and_organization_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* action | VALUE_IN(which_class(a), 'version deletion') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <*applied_person_and_organization_assignment | (

VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'caused by')) );

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- caused_by_for_version_deletion

RULE caused_by_for_version_modification FOR ( applied_person_and_organization_assignment, action);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action := [];

a_set : SET OF applied_person_and_organization_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* action | VALUE_IN(which_class(a), 'version modification') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <*applied_person_and_organization_assignment I (

VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'caused by')) );

violate := SIZEOF(a_set) <> 1;

END REPEAT;

WHERE

wrl: (NOT violate);

END RULE;

caused_by_for_version_modification

RULE caused_when_for_check FOR (applied_date_and_time_assignment, action) ; LOCAL violate : LOGICAL := FALSE;

tl_set : SET OF action := [];

a_set : SET OF applied_date_and_time_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* action | VALUE_IN(which_class(a),'check'));

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_date_and_time_assignment I (VALUE_IN(b.items, tl_set[i]) AND (b.role.name = 'caused when')) ); violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- caused_when_for_check

RULE caused_when_for_envisaged_version_creation FOR ( applied_date_and_time_assignment, action);

LOCAL

violate : LOGICAL := FALSE;

tl set : SET OF action := [];

467

ГОСТ Р ИСО 10303-216—2023

a_set : SET OF applied_date_and_time_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* action | VALUE_IN(which_class(a), 'envisaged version creation') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_date_and_time_assignment |

(VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'caused when')) );

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- caused_when_for_envisaged_version_creation

RULE caused_when_for_version_creation FOR ( applied_date_and_time_assignment, action) ;

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action := [];

a_set : SET OF applied_date_and_time_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* action | VALUE_IN(which_class(a), 'version creation') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_date_and_time_assignment |

(VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'caused when')) );

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- caused_when_for_version_creation

RULE caused_when_for_version_deletion FOR (

applied_date_and_time_assignment, action) ;

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action := [];

a_set : SET OF applied_date_and_time_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* action | VALUE_IN(which_class(a), 'version deletion') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_date_and_time_assignment |

(VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'caused when')) );

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- caused_when_for_version_deletion

RULE caused_when_for_version_modification FOR ( applied_date_and_time_assignment, action);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action := [];

a_set : SET OF applied_date_and_time_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* action | VALUE_IN(which_class(a),

468

ГОСТ Р ИСО 10303-216—2023

'version modification') );

REPEAT i := 1 ТО HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_date_and_time_assignment |

(VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'caused when')) ); violate := SIZEOF(a_set) <> 1;

END REPEAT;

WHERE

wrl: (NOT violate);

END RULE;

caused when for version modification

RULE centre_location_compound_representation_has_specified_name FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['longitudinal location',

'transversal location','vertical location'];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment | (i.

assigned_class.name = 'centre location') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

t2_set := tl_set[i].item_element;

violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1; END_REPEAT;

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; --centre_location_compound_representation_has_specified_name

RULE change_impact_with_versionable_object_change_event FOR ( applied_action_request_assignment);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF applied_action_request_assignment := [];

a_set : SET OF action := [];

END_LOCAL;

tl_set := QUERY ( b <* applied_action_request_assignment |

(b.role.name = 'change impact') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* tl_set[i].items | ((

'SHIP_MOULDED_FORM_SCHEMA.ACTION' INTYPEOF(b)) AND

VALUE_IN(which_class(b),'versionable object change event')) );

violate := SIZEOF(a_set) = 0;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; — change_impact_with_versionable_object_change_event

469

ГОСТ Р ИСО 10303-216—2023

RULE change_plan_has_mandatory_attribute_description FOR (action_request_solution); LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action_request_solution := [];

END_LOCAL;

tl_set := QUERY ( i <* action_request_solution | VALUE_IN(which_class(i),'change plan') );

violate := SIZEOF(QUERY ( к <* tl_set | (NOT EXISTS(к.description)) )) > 0;

WHERE

wrl: (NOT violate);

END RULE;

change_plan_has_mandatory_attribute_description

RULE class_and_statutory_designation_has_properties FOR (

property_de f i n i t ion_representation, appli ed_c1a s s i f i cation_a s s ignment);

LOCAL

violation : LOGICAL := FALSE;

t4_list : LIST OF product_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t3_list : LIST OF property_definition := [];

tl_list : LIST OF product_definition := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.

assigned_class.name = 'class and statutory designation') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_list := tl_list + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

t2_set := QUERY ( i <* property_definition_representation |

(i.name = 'class and statutory designation') );

REPEAT i := 1 TO HIINDEX(t2_set) BY 1;

t3_list := t3_list + t2_set[i].definition;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t3_list) BY 1;

t4_list := t4_list + t3_list[i].definition;

END_REPEAT;

violation := tl list <> t4 list;

WHERE

wrl: (NOT violation);

END_RULE; — class_and_statutory_designation_has_properties

RULE class_notation_with_named_representation_iterns FOR (representation); LOCAL

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['class notations hull', 'class notations machinery']; reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'class notation') )) > 0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) < 1;

END_REPEAT;

END REPEAT;

470

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: (NOT violation);

END_RULE; -- class_notation_with_named_representation_items

RULE class_parameters_has_properties FOR (property_definition_representation, applied_classification_assignment);

LOCAL

t3_set : LIST OF property_definition := [];

violation : LOGICAL := FALSE;

t4_set : LIST OF product_definition := [];

tl_set : LIST OF product_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.

assigned_class.name = 'class parameters') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

t2_set := QUERY ( i <* property_definition_representation |

(i.name = 'class parameters') );

REPEAT i := 1 TO HIINDEX(t2_set) BY 1;

t3_set := t3_set + t2_set[i].definition;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t3_set) BY 1;

t4_set := t4_set + t3_set[i].definition;

END_REPEAT;

violation := tl set <> t4 set;

WHERE

wrl: (NOT violation);

END_RULE; — class_parameters_has_properties

RULE compatible_dimension FOR (cartesian_point, direction, representation_context, geometric_representation_context) ;

WHERE

wrl: (SIZEOF(QUERY ( x <* cartesian_point | (SIZEOF(QUERY ( у <* geometric_representation_context | (item_in_context(x,y) AND ( HIINDEX(x.coordinates) о у.coordinate_space_dimension)) )) >0) )) = 0) ;

wr2: (SIZEOF(QUERY ( x <* direction | (SIZEOF(QUERY ( у <* geometric_representation_context | (item_in_context(x,y) AND ( HIINDEX(x.direction_ratios) О у.coordinate_space_dimension)) )) >0) )) = 0) ;

END_RULE; -- compatible_dimension

RULE compound_representation_item_with_class_id_knot FOR (applied_classification_assignment); LOCAL

t3_set : SET OF representation_item := [];

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

c_a_set2 : SET OF applied_classification_assignment := [];

l_rep_item : list_representation_item;

t2_set : SET OF compound_representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'knot') );

REPEAT i := 1 TO HIINDEX(c a set) BY 1;

471

ГОСТ Р ИСО 10303-216—2023

REPEAT j := 1 ТО HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c_a_set2 := QUERY ( i <* applied_classification_assignment | (i.assigned_class.name = 'ship curve') );

REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;

t2_set := t2_set + c_a_set2[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

l_rep_item := tl_set[i].item_element;

REPEAT j := 1 TO HIINDEX(tl_set[i].item_element) BY 1;

t3_set := t3_set + l_rep_item[j];

END_REPEAT;

violation := SIZEOF(t3_set * t2_set) < 2;

t3_set := [];

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — compound_representation_item_with_class_id_knot

RULE compound_representation_item_with_hydrostatic_properties FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['hydrostatic property value'];

t2_set : LIST OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'hydrostatic properties for constant floating position') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

t2_set := tl_set[i].item_element;

violation := SIZEOF(QUERY ( items <* t2_set I (items.name = arg_list[j]) )) < 1; END_REPEAT;;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; —compound_representation_item_with_hydrostatic_properties

RULE compound_representation_item_with_section_identifier FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF applied_identification_assignment := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment |

472

ГОСТ Р ИСО 10303-216—2023

(i.assigned_class.name = 'section of offset point table') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' + 'APPLIED_IDENTIFICATION_ASSIGNMENT' + '.ITEMS'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |

(t2_inst.role.name = 'section identifier') )) =1); END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; -- compound_representation_item_with_section_identifier

RULE date_time_for_change_plan FOR (applied_date_and_time_assignment, action_request_solution);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action_request_solution := [];

a_set : SET OF applied_date_and_time_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* action_request_solution |

VALUE_IN(which_class(a),'change plan') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_date_and_time_assignment I

(VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'date time')) ); violate := SIZEOF(a_set) <> 1;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- date_time_for_change_plan

RULE date_time_for_change_realisation FOR ( applied_date_and_time_assignment, executed_action);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF executed_action := [];

a_set : SET OF applied_date_and_time_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* executed_action |

VALUE_IN(which_class(a), 'change realisation') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_date_and_time_assignment | (VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'date time')) );

violate := SIZEOF(a_set) <> 1;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; — date_time_for_change_realisation

RULE date_time_for_change_request FOR (applied_date_and_time_assignment, versioned_action_request);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF versioned_action_request := [];

473

ГОСТ Р ИСО 10303-216—2023

a_set : SET OF applied_date_and_time_assignment := []; END_LOCAL;

tl_set := QUERY ( a <* versioned_action_request | VALUE_IN( which_class(a),'change request') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_date_and_time_assignment I (VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'date time')) );

violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- date_time_for_change_request

RULE document_has_at_least_one_references FOR (document);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF document := [];

t2_set : SET OF document_representation_type := [];

END_LOCAL;

tl_set := QUERY ( i <* document I

VALUE_IN(which_class(i),'document') ) ;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.DOCUMENT_REPRESENTATION_TYPE.' + 'REPRESENTED_DOCUMENT'));

violate := SIZEOF(t2_set) < 1;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- document_has_at_least_one_references

RULE document_has_exactly_one_author FOR (document); LOCAL

violate : LOGICAL := FALSE;

bag_3 : BAG OF applied_organization_assignment := [];

bag_2 : BAG OF applied_person_and_organization_assignment := [];

bag_l : BAG OF applied_person_assignment := [];

END_LOCAL;

REPEAT i := 1 TO SIZEOF(document) BY 1 WHILE NOT violate;

bag_l := USEDIN(document[i],'SHIP_MOULDED_FORM_SCHEMA.' +

'APPLIED_PERSON_ASSIGNMENT.ITEMS');

bag_l := QUERY ( assign <* bag_l I (assign.role.name = 'author') );

bag_2 := USEDIN(document[i],'SHIP_MOULDED_FORM_SCHEMA.' +

'APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT.ITEMS');

bag_2 := QUERY ( assign <* bag_2 | (assign.role.name = 'author') );

bag_3 := USEDIN(document[i],'SHIP_MOULDED_FORM_SCHEMA.' + 'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS');

bag_3 := QUERY ( assign <* bag_3 | (assign.role.name = 'author') ); violate := NOT ((SIZEOF(bag_l) + SIZEOF(bag_2) + SIZEOF(bag_3)) = 1);

END_REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- document_has_exactly_one_author

474

ГОСТ Р ИСО 10303-216—2023

RULE document_reference_with_address_has_at_least_one_references FOR (document); LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF document := [];

t2_set : SET OF applied_external_identification_assignment := [];

END_LOCAL;

tl_set := QUERY ( i <* document | VALUE_IN(which_class(i), 'document reference with address') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.APPLIED_EXTERN AL_IDENTIFICATION_ASSIGNMENT.ITEMS'));

violate := SIZEOF(t2_set) < 1;

END REPEAT;

WHERE wrl: (NOT violate);

END_RULE; --document_reference_with_address_has_at_least_one_references

RULE envisaged_version_creation_has_mandatory_attribute_description FOR (action); LOCAL violate : LOGICAL := FALSE; tl_set : SET OF action := [];

END_LOCAL;

tl_set := QUERY ( i <* action | VALUE_IN(which_class(i) , 'envisaged version creation') );

violate := SIZEOF(QUERY ( к <* tl_set | (NOT EXISTS(k.description)) )) > 0;

WHERE wrl: (NOT violate);

END_RULE; --envisaged_version_creation_has_mandatory_attribute_description

RULE executed_action_with_identification_assignment FOR ( applied_classification_assignment);

LOCAL violation : LOGICAL := FALSE; tl_set : SET OF executed_action := []; c_a_set : SET OF applied_classification_assignment := []; arg_list : LIST OF STRING := ['change realization']; t2_set : SET OF applied_identification_assignment := [];

END_LOCAL;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; c_a_set := QUERY ( i <* applied_classification_assignment | (i.assigned_class.name = arg_list[j]) );

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTI FICATION_ASSIGNMENT.ITEMS' ) ) ;

t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') ); violation := NOT (SIZEOF(t2_set) = 1);

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — executed_action_with_identification_assignment

475

ГОСТ Р ИСО 10303-216—2023

RULE external_instance_reference_has_same_identifier FOR ( applied_external_identi fication_assignment);

LOCAL

violation : LOGICAL := FALSE;

extref_set : SET OF applied_external_identification_assignment := []; aia_set : SET OF applied_identification_assignment := [];

END_LOCAL;

extref_set := QUERY ( i <* applied_external_identification_assignment I (i.role.name = 'external instance reference') );

REPEAT i := 1 TO HIINDEX(extref_set) BY 1 WHILE NOT violation;

aia_set := bag_to_set(USEDIN(extref_set[i].items[1],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

violation := NOT (aia_set[1].assigned_id = extref_set[i].assigned_id); END REPEAT;

WHERE

wrl: NOT violation;

END RULE; — external instance reference has same identifier

RULE floating_position_compound_representation_with_name FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['moulded form displacement',

'draught at amidships','length of waterline',

'breadth of waterline','angle of trim','angle of heel'];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'floating position') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

t2_set := tl_set[i].item_element;

violation := SIZEOF(QUERY ( items <* t2_set I (items.name = arg_list[j]) )) <> 1; END_REPEAT;

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; — floating_position_compound_representation_with_name

RULE global_axis_placement_has_properties FOR (

property_definition_representation, group, applied_classification_assignment);

LOCAL

t3_set : LIST OF property_definition := [];

violation : LOGICAL := FALSE;

t4_set : LIST OF product_definition := [];

tl_set : LIST OF product_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I(i.

476

ГОСТ Р ИСО 10303-216—2023

assigned_class.name = 'global axis placement') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX (c__a_set [i] . items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

t2_set := QUERY ( i <* property_definition_representation | (i.name = 'global axis placement') );

REPEAT i := 1 TO HIINDEX(t2_set) BY 1;

t3_set := t3_set + t2_set[i].definition;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t3_set) BY 1;

t4_set := t4_set + t3_set[i].definition;

END_REPEAT;

violation := tl_set <> t4_set;

WHERE wrl: (NOT violation);

END_RULE; — global_axis_placement_has_properties

RULE global_id_is_unique FOR (applied_identification_assignment); LOCAL violation : LOGICAL := FALSE; set_l : SET OF applied_identification_assignment := []; bag_2 : BAG OF STRING := [];

END_LOCAL;

set_l := QUERY ( i <* applied_identification_assignment | (i.role.name = 'globally unambiguous identifier') );

REPEAT i := 1 TO HIINDEX(set_l) BY 1;

bag_2 := bag_2 + [set_l[i].assigned_id];

END_REPEAT;

violation := SIZEOF(QUERY ( i <* set_l I (SIZEOF(i.items) =1))) <> SIZEOF(set_l); WHERE wrl: VALUE_UNIQUE(bag_2);

wr2: (NOT violation);

END_RULE; — global_id_is_unigue

RULE hull_moulded_form_design_parameter_with_class_references FOR ( applied_classification_assignment); LOCAL

t3_set : SET OF representation := []; violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.assigned_class.name = 'hull moulded form design parameter')); REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation; t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA. PROPERTY_DEFINITION_REPRESENTATION.' + 'DEFINITION'));

REPEAT j := 1 TO HIINDEX(t2_set) BY 1;

t3_set := t3_set + t2_set[j].used_representation; END REPEAT;

477

ГОСТ Р ИСО 10303-216—2023

violation := SIZEOF(QUERY ( t2_inst <* t3_set I ('midship tumble' IN which_class(t2_inst)) )) > 1;

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; —hull_moulded_form_design_parameter_with_class_references

RULE hydrostatic_properties_with_specified_class FOR ( applied_classification_assignment);

LOCAL

t3_set : SET OF representation_item := [];

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

c_a_set2 : SET OF applied_classification_assignment := [];

l_rep_item : list_representation_item;

t2_set : SET OF compound_representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'hydrostatic properties for constant floating position') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c_a_set2 := QUERY ( i <* applied_classification_assignment |

(i.assigned_class.name = 'floating position') );

REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;

t2_set := t2_set + c_a_set2[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

l_rep_item := tl_set[i].item_element;

REPEAT j := 1 TO HIINDEX(tl_set[i].item_element) BY 1;

t3_set := t3_set + l_rep_item[j];

END_REPEAT;

violation := SIZEOF(t3_set * t2_set) <> 1;

t3_set := [];

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; — hydrostatic_properties_with_specified_class

RULE hydrostatic_property_with_specified_name FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['property type'];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment | (i. assigned_class.name = 'hydrostatic property') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

478

ГОСТ Р ИСО 10303-216—2023

END_REPEAT;

END_REPEAT;

REPEAT i := 1 ТО HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

t2_set := tl_set[i].item_element;

violation := SIZEOF(QUERY ( items <* t2_set I (items.name = arg_list[j]) )) <> 1; END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — hydrostatic_property_with_specified_name

RULE identification_role_optional_attribute_description_required FOR ( identification_role); WHERE

wrl: (SIZEOF (QUERY ( i <* identification_role I ((i.name = 'external reference') AND (NOT EXISTS(i.description))))) = 0);

END_RULE; --identification_role_optional_attribute_description_required

RULE initiator_for_change_request FOR ( applied_person_and_organization_assignment, versioned_action_request);

LOCAL violate : LOGICAL := FALSE; tl_set : SET OF versioned_action_request := []; a_set : SET OF applied_person_and_organization_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* versioned_action_request I VALUE_IN( which_class(a),'change request') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <*applied_person_and_organization_assignment I (

VALUE_IN(b.items,tl_set[i]) AND (b.role.name = 'initiator')) ); violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE wrl: (NOT violate);

END_RULE; -- initiator_for_change_request

RULE mandatory_entity_type_for_external_instance_reference FOR ( external_source, external_source_relationship);

LOCAL violate : LOGICAL := FALSE; bag_l : BAG OF external_source := [];

END_LOCAL;

bag_l := QUERY ( a <* external_source | (a.description = 'schema name') );

REPEAT i := 1 TO SIZEOF(bag_l) BY 1 WHILE NOT violate; violate := SIZEOF(QUERY ( a <* external_source_relationship | ((a.relating_source :=: bag_l[i]) AND (a.related_source.description = 'entity type')) )) = 0;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- mandatory_entity_type_for_external_instance_reference

RULE members_is_referenced_by_at_least_one_revision FOR ( applied_group_assignment, group);

LOCAL

violate : LOGICAL := FALSE;

479

ГОСТ Р ИСО 10303-216—2023

tl_set : SET OF group := [];

a_set : SET OF applied_group_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* group I

VALUE_IN(which_class(a),'revision') ) ;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_group_assignment |

((b.assigned_group :=: tl_set[i]) AND (b.role.name = 'members')) ); violate := SIZEOF(a_set) < 1;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- members_is_referenced_by_at_least_one_revision

RULE no_approvals_except_in_approval_history FOR (approval); LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF approval := [];

t2_set : SET OF applied_group_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* approval | VALUE_IN(which_class(a), 'approval event') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_GROUP_ASSIGNMENT.ITEMS'));

violate := SIZEOF(t2_set) = 0;

REPEAT к := 1 TO HIINDEX(t2_set) BY 1 WHILE NOT violate; violate := NOT

VALUE_IN(which_class(t2_set[k].assigned_group), 'approval history'); END_REPEAT;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- no_approvals_except_in_approval_history

RULE offset_point_table_model_compound_representation_has_name FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['offset point table type'];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.

assigned_class.name = 'offset point table model') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

t2_set := tl_set[i].item_element;

violation := SIZEOF(QUERY ( items <* t2_set I (items.name = arg_list[j]) )) <> 1;

END_REPEAT;

END REPEAT;

480

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: (NOT violation);

END_RULE; --offset_point_table_model_compound_representation_has_name

RULE principal_characteristics_has_properties FOR ( property_definition_representation, applied_classification_assignment);

LOCAL

t3_set : LIST OF property_definition := [];

violation : LOGICAL := FALSE;

t4_set : LIST OF product_definition := [];

tl_set : LIST OF product_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment | (i.

assigned_class.name = 'principal characteristics') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

t2_set := QUERY ( i <* property_definition_representation |

(i.name = 'principal characteristics') );

REPEAT i := 1 TO HIINDEX(t2_set) BY 1;

t3_set := t3_set + t2_set[i].definition;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t3_set) BY 1;

t4_set := t4_set + t3_set[i].definition;

END_REPEAT;

violation := tl_set <> t4_set;

WHERE wrl: (NOT violation);

END_RULE; -- principal_characteristics_has_properties

RULE product_definition_for_call_sign FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF product_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF applied_identification_assignment := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment |

(i.assigned_class.name = 'ship designation') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

Violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set I (t2_inst.role.name = 'call sign') )) =1);

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; -- product_definition_for_call_sign

481

ГОСТ Р ИСО 10303-216—2023

RULE product—definition_for_clasS—notation FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF product-definition := [];

c_a_set : SET OF applied—classification_assignment := [];

t2_set : SET OF property_definition := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied—classification_assignment I (i. assigned—class.name = 'class and statutory designation') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY-DEFINITION.DEFINITION'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set | (

'class notation' IN which_class(t2_inst)) )) =1);

END_REPEAT;

WHERE

wrl: (NOT violation);

END—RULE; — product—definition_for_class_notation

RULE product—definition_for_flag_state FOR ( applied—classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF product-definition := [];

c_a_set : SET OF applied—classification_assignment := [];

t2_set : SET OF applied—identification_assignment := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied—classification_assignment I (i.

assigned—class.name = 'ship designation') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS' ) ) ; violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set | (t2_inst.role.name = 'flag state') )) =1);

END_REPEAT;

WHERE

wrl: (NOT violation);

END—RULE; — product—definition_for_flag_state

RULE product—definition_for_hydrostatiC—definition_requires_reference FOR ( applied—classification_assignment);

LOCAL

t3_set : SET OF property_definition_representation := []; violation : LOGICAL := FALSE;

t4_set : SET OF property_definition := [];

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

482

ГОСТ Р ИСО 10303-216—2023

c2_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment | (i.

assigned_class.name = 'hydrostatic definition') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c2_a_set := QUERY ( i <* applied_classification_assignment I (i.

assigned_class.name = 'hydrostatic table') );

REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;

t2_set := t2_set + c2_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t2_set) BY 1;

t3_set := t3_set +

bag_to_set(USEDIN(t2_set[i] ,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION')); END_REPEAT;

REPEAT i := 1 TO HIINDEX(t3_set) BY 1;

t4_set := t4_set + t3_set[i].definition;

END_REPEAT;

violation := tl_set <> t4_set;

WHERE

wrl: (NOT violation);

END_RULE; --product_definition_for_hydrostatic_definition_requires_reference

RULE product_definition_for_managing_company FOR (

app1i ed_c1as s i f i cat i on_as s ignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF product_definition := [];

c_a_set : SET OF applied_c1assification_assignment := [];

t2_set : SET OF applied_organization_assignment := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.

assigned_class.name = 'owner designation') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' + 'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set | (t2_inst.role.name = 'managing company') )) =1);

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; -- product_definition_fоr_managing_companу

RULE product_definition_for_ordering_company FOR (

appli ed_c1as s i fi cat i on_as s ignment);

LOCAL

violation : LOGICAL := FALSE;

483

ГОСТ Р ИСО 10303-216—2023

tl_set : SET OF product_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF applied_organization_assignment := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.

assigned_class.name = 'owner designation') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' + 'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |

(t2_inst.role.name = 'ordering company') )) = 1);

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; — product_definition_for_ordering_company

RULE product_definition_for_owning_company FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF product_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF applied_organization_assignment := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.

assigned_class.name = 'owner designation') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set I

(t2_inst.role.name = 'owning company') )) = 1);

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; — product_definition_for_owning_company

RULE product_definition_for_port_of_registration FOR (

applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF product_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF applied_identification_assignment := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'ship designation') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

484

ГОСТ Р ИСО 10303-216—2023

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

’SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS’));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set I (t2_inst.role.name = 'port of registration') )) =1);

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; -- product_definition_for_port_of_registration

RULE product_definition_for_regulation FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF product_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment | (i. assigned_class.name = 'class and statutory designation') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION.DEFINITION'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set I ('regulation' IN which_class(t2_inst)) )) =1);

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; -- product_definition_for_regulation

RULE product_definition_for_shipyard FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF product_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF applied_organization_assignment := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i. assigned_class.name = 'shipyard designation') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i] ,

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |

(t2_inst.role.name = 'shipyard') )) =1);

END_REPEAT;

485

ГОСТ Р ИСО 10303-216—2023

WHERE wrl: (NOT violation);

END_RULE; — product_definition_for_shipyard

RULE product_definition_for_stability_definition FOR ( applied_classification_assignment);

LOCAL

t3_set : SET OF property_definition_representation := [];

violation : LOGICAL := FALSE;

t4_set : SET OF property_definition := [];

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

c2_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.

assigned_class.name = 'stability definition') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c2_a_set := QUERY ( i <* applied_classification_assignment | (i.

assigned_class.name = 'stability table') );

REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;

t2_set := t2_set + c2_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t2_set) BY 1;

t3_set := t3_set +

bag_to_set(USEDIN(t2_set[i],

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) ) ;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t3_set) BY 1;

t4_set := t4_set + t3_set[i].definition;

END_REPEAT;

violation := tl_set <> t4_set;

WHERE wrl: (NOT violation);

END_RULE; — product_definition_for_stability_definition

RULE product_definition_relationship_references_are_distinct FOR ( product_definition_relationship);

LOCAL

cyclic_relationship : LOGICAL := FALSE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(product_definition_relationship) BY 1 WHILE

NOT cyclic_relationship;

cyclic_relationship := product_definition_relationship[i].

related_product_definition :=:

product_definition_relationship[i].relating_product_definition;

END_REPEAT;

WHERE wrl: (NOT cyclic_relationship);

END_RULE; --product_definition_relationship_references_are_distinct

486

ГОСТ Р ИСО 10303-216—2023

RULE product_definition_relationship_related_to_class_moulded_form FOR ( applied_classification_assignment);

LOCAL

t3_set : SET OF product_definition := [];

violation : LOGICAL := FALSE;

tl_set : SET OF product_definition_relationship := [];

c_a_set : SET OF applied_classification_assignment := [];

c2_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF product_definition := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment | (i.

assigned_class.name = 'moulded form relationship') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1;

t2_set := t2_set + tl_set[i].related_product_definition;

t2_set := t2_set + tl_set[i].re1ating_product_definition;

END_REPEAT;

c2_a_set := QUERY ( i <* applied_classification_assignment |

(i.assigned_class.name = 'moulded form') );

REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;

t3_set := t3_set + c2_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

violation := NOT (t2 set <= t3 set);

WHERE

wrl: (NOT violation);

END_RULE; --product_definition_relationship_related_to_class_moulded_form

RULE product_definition_relationship_with_identification_assignment FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF product_definition_relationship := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['item relationship'];

t2_set : SET OF applied_identification_assignment := [];

END_LOCAL;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = arg_list[j]) );

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') ); violation := NOT (SIZEOF(t2_set) = 1);

END REPEAT;

WHERE

487

ГОСТ Р ИСО 10303-216—2023

wrl: (NOT violation);

END_RULE; --product_definition_relationship_with_identi fication_assignment

RULE product_definition_shape_with_identification_assignment FOR ( applied_classification_assignment);

LOCAL violation : LOGICAL := FALSE; tl_set : SET OF product_definition_shape : = []; c_a_set : SET OF applied_classification_assignment := []; arg_list : LIST OF STRING := ['definition'];

t2_set : SET OF applied_identification_assignment := [];

END_LOCAL;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; c_a_set := QUERY ( i <* applied_classification_assignment | (i.assigned_class.name = arg_list[j]) );

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation; t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS')); t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') ); violation := NOT (SIZEOF(t2_set) = 1);

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; --product_definition_shape_with_identification_assignment

RULE product_definition_with_identification_assignment FOR ( applied_classification_assignment);

LOCAL violation : LOGICAL := FALSE; tl_set : SET OF product_definition := []; c_a_set : SET OF applied_classification_assignment := []; arg_list : LIST OF STRING := ['definition','definable object']; t2_set : SET OF applied_identification_assignment := [];

END_LOCAL;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; c_a_set := QUERY ( i <* applied_classification_assignment I (i.assigned_class.name = arg_list[j]) );

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i] ,

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

t2_set := QUERY ( j <* t2_set I (j.role.name = 'globally unambiguous identifier') ); violation := NOT (SIZEOF(t2_set) = 1);

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; -- product_definition_with_identification_assignment

488

ГОСТ Р ИСО 10303-216—2023

RULE product_related_product_category_with_identification_assignment FOR ( applied_c1assification_as signment);

LOCAL violation : LOGICAL := FALSE; tl_set : SET OF product_related_product_category := []; c_a_set : SET OF applied_classification_assignment := []; arg_list : LIST OF STRING := ['Shiptype']; t2_set : SET OF applied_identification_assignment := []; END_LOCAL;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; c_a_set := QUERY ( i <* applied_c1assification_assignment | (i.assigned_class.name = arg_list[j]) );

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].iterns[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation; t2_set := bag_to_set(USEDIN(tl_set[i ] , 'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS')); t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') ); violation := NOT (SIZEOF(t2_set) = 1);

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; —product_re1ated_product_category_with_ident i ficat ion_as s ignment

RULE product_with_identification_assignment FOR ( applied_classification_assignment); LOCAL violation : LOGICAL := FALSE; tl_set : SET OF product := [];

c_a_set : SET OF applied_c1assification_assignment := []; arg_list : LIST OF STRING := ['ship'];

t2_set : SET OF applied_identification_assignment := [];

END_LOCAL;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; c_a_set := QUERY ( i <* applied_classification_assignment | (i.assigned_class.name = arg_list[j]) );

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation; t2_set := bag_to_set(USEDIN(tl_set[i], 'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS')); t2_set := QUERY ( j <* t2_set I (j.role.name = 'globally unambiguous identifier') ); violation := NOT (SIZEOF(t2_set) = 1);

END_REPEAT; WHERE wrl: (NOT violation);

END_RULE; -- product_with_identification_assignment

RULE propeller_moulded_form_design_parameter_with_class_references FOR ( applied_classification_assignment);

LOCAL

489

ГОСТ Р ИСО 10303-216—2023

t3_set : SET OF representation := [];

violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF app1ied_c1assification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment |

(i.assigned_class.name = 'propeller moulded form design parameter') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +

'DEFINITION'));

REPEAT j := 1 TO HIINDEX(t2_set) BY 1;

t3_set := t3_set + t2_set[j].used_representation;

END_REPEAT;

violation := SIZEOF(QUERY ( t2_inst <* t3_set | (

'propeller location' IN which_class(t2_inst)) )) >1;

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; --propeller_moulded_form_design_parameter_with_class_references

RULE property_definition_appendage_moulded_form_design_parameter FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'appendage moulded form design parameter') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +

'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |

(t2_inst.name = 'appendage moulded form design parameter') )) = 1); END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; -- property_definition_appendage_moulded_form_design_parameter

RULE property_definition_for_bottom_moulded_form_design_parameter FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

490

ГОСТ Р ИСО 10303-216—2023

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'bottom moulded form design parameter') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION' + ' .DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set I

(t2_inst.name = 'bottom moulded form design parameter') )) =1); END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; —property_definition_for_bottom_moulded_form_design_parameter

RULE property_definition_for_bulb_moulded_form_design_parameter FOR (

applied_classificat ion_as signment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'bulb moulded form design parameter'));

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION' + ' .DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |

(t2_inst.name = 'bulb moulded form design parameter') )) = 1); END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; —property_definition_for_bulb_moulded_form_design_parameter

RULE property_definition_for_class_notation FOR (

applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'class notation') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END REPEAT;

491

ГОСТ Р ИСО 10303-216—2023

REPEAT i := 1 ТО HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY—DEFINITION_REPRESENTATION.DEFINITION')); violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set I (t2_inst.name = 'class notation') )) = 1);

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — property_definition_for_class_notation

RULE property_definition_for_class_society FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF applied_organization_assignment := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.

assigned_class.name = 'class notation') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i] ,

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |

(t2_inst.role.name = 'class society') )) = 1);

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — property_definition_for_class_society

RULE property_definition_for_deck_moulded_form_design_parameter FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF app1ied_с1assification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_c1ass.name = 'deck moulded form design parameter'));

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +

'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set I

(t2_inst.name = 'deck moulded form design parameter') )) = 1); END_REPEAT;

WHERE

492

ГОСТ Р ИСО 10303-216—2023

wrl: (NOT violation);

END_RULE; --property_definition_for_deck_moulded_form_design_parameter

RULE property_definition_for_hull_moulded_form_design_parameter FOR ( applied_classification_assignment);

LOCAL violation : LOGICAL := FALSE; tl_set : SET OF property_definition := []; c_a_set : SET OF applied_classification_assignment := []; t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.assigned_class.name = 'hull moulded form design parameter'));

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation; t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set I

(t2_inst.name = 'hull moulded form design parameter') )) =1); END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; --property_def inition_for_hull_moulded_form_design_parameter

RULE property_definition_for_local_coordinate_system FOR ( applied_classification_assignment); LOCAL violation : LOGICAL := FALSE; tl_set : SET OF property_definition := []; c_a_set : SET OF applied_classification_assignment := []; t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.assigned_class.name = 'local co-ordinate system') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set I (t2_inst.name = 'local co-ordinate system') )) = 1);

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; -- property_definition_for_local_coordinate_system

RULE property_definition_for_local_coordinate_system_with_position FOR ( applied_classification_assignment);

LOCAL violation : LOGICAL := FALSE; tl_set : SET OF property_definition := [];

493

ГОСТ Р ИСО 10303-216—2023

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.

assigned_class.name = 'local co-ordinate system with position reference') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |

(t2_inst.name = 'local co-ordinate system with position reference') )) = 1); END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; —property_definition_for_local_coordinate_system_with_position

RULE property_definition_for_moulded_form_function_parameters FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'moulded form functional definition'));

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +

'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set I

(t2_inst.name = 'moulded form function parameters') )) =1);

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; —property_definition_for_moulded_form_function_parameters

RULE property_definition_for_rudder_moulded_form_design_parameter FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'rudder moulded form design parameter') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

494

ГОСТ Р ИСО 10303-216—2023

END_REPEAT;

END_REPEAT;

REPEAT i := 1 ТО HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION' + ' .DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |

(t2_inst.name = 'rudder moulded form design parameter') )) = 1);

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; --property_def inition_for_rudder_moulded_form_design_parameter

RULE property_definition_for_thruster_moulded_form_design_parameter FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment | (i. assigned_class.name = 'thruster moulded form design parameter') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +

'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION' ) ) ;

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set I

(t2_inst.name = 'thruster moulded form design parameter') )) =1);

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; --property_definition_for_thruster_moulded_form_design_parameter

RULE property_definition_for_thruster_propeller_parameter FOR (

applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_relationship := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'thruster moulded form design parameter') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +

'PROPERTY_DEFINITION_RELATIONSHIP' +

'.RELATING_PROPERTY_DEFINITION'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set I

(t2_inst.name = 'thruster propeller parameter') )) =1);

495

ГОСТ Р ИСО 10303-216—2023

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; — property_definition_for_thruster_propeller_parameter

RULE property_definition_of_propeller_moulded_form_design_parameter FOR ( applied_classification_assignment); LOCAL violation : LOGICAL := FALSE; tl_set : SET OF property_definition := []; c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'propeller moulded form design parameter') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],'SHIP_MOULDED_FORM_SCHEMA.' +

'PROPERTY_DEFINITION_REPRESENTATION' + '.DEFINITION'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |

(t2_inst.name = 'propeller moulded form design parameter') )) = 1); END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; —property_def inition_of_propeller_moulded_form_design_parameter

RULE property_definition_with_identification_assignment FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF property_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := [

'moulded form characteristics definition', 'moulded form functional definition', 'local co-ordinate system','spacing table', 'hydrostatic definition','stability definition']; t2_set : SET OF applied_identification_assignment := []; END_LOCAL;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.assigned_class.name = arg_list[j]) );

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS' ) ) ;

t2_set := QUERY ( j <* t2_set I (j.role.name = 'globally unambiguous identifier') ); violation := NOT (SIZEOF(t2_set) = 1); END REPEAT;

496

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: (NOT violation);

END_RULE; -- property_definition_with_identification_assignment

RULE representation_for_appendage_moulded_form_design_parameter FOR ( representation);

LOCAL

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['appendage length', 'appendage breadth','appendage depth', 'type of appendage'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF(

QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +

'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'appendage moulded form design parameter') )) >0) ); REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; —representation_for_appendage_moulded_form_design_parameter

RULE representation_for_bottom_moulded_form_design_parameter FOR ( representation);

LOCAL

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['bilge radius','rise of floor', 'aft end of flat of bottom', 'front end of flat of bottom','flat of bottom breadth', 'rake of keel']; reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF(

QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'bottom moulded form design parameter') )) >0) ); REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; --representation_for_bottom_moulded_form_design_parameter

RULE representation_for_bulb_moulded_form_design_parameter FOR ( representation);

LOCAL

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['bulb length','bulb length from pp', 'bulb breadth','bulb breadth pp','bulb depth',

497

ГОСТ Р ИСО 10303-216—2023

'bulb depth pp','bulb frame section area at pp', 'bulb location']; reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_RE PRE SENTATION.USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'bulb moulded form design parameter') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — representation_for_bulb_moulded_form_design_parameter

RULE representation_for_class_and_statutory_designation FOR ( representation);

LOCAL violation : LOGICAL := FALSE; arg_list : LIST OF STRING := ['class number']; reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'class and statutory designation') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — representation_for_class_and_statutory_designation

RULE representation_for_deck_moulded_form_design_parameter FOR ( representation) ;

LOCAL violation : LOGICAL := FALSE; arg_list : LIST OF STRING := ['camber','sheer at ap','sheer at fp']; reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'deck moulded form design parameter') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE

498

ГОСТ Р ИСО 10303-216—2023

wrl: (NOT violation);

END_RULE; -- representation_for_deck_moulded_form_design_parameter

RULE representation_for_global_axis_placement FOR (representation); LOCAL violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['global axes and origin', 'after perpendicular offset','orientation'];

reps : BAG OF representation := [] ;

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF(

QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +

'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'global axis placement') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; -- representation_for_global_axis_placement

RULE representation_for_hull_moulded_form_design_parameter FOR ( representation);

LOCAL

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := [

'aft end of parallel midbody at design draught', 'front end of parallel midbody at design draught', 'aft end of flat of side','front end of flat of side', 'block coefficient','prismatic coefficient', 'max wetted frame section area','waterplane coefficient']; reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF(

QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep,

'S HIP_MOULDE D_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'hull moulded form design parameter') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; -- representation_for_hull_moulded_form_design_parameter

RULE representation_for_hydrostatic_table_constrained FOR ( applied_classification_assignment);

LOCAL

t3_set : SET OF representation_item := []; violation : LOGICAL := FALSE;

tl_set : SET OF representation := [];

499

ГОСТ Р ИСО 10303-216—2023

c_a_set : SET OF applied_classification_assignment := [];

c2_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.

assrgned_class.name = 'hydrostatic table') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c2_a_set := QUERY ( i <* applied_classification_assignment |

(i.assigned_class.name = 'hydrostatic properties for constant floating position') );

REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;

t2_set := t2_set + c2_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(tl_set[i].items) BY 1;

t3_set := t3_set + tl_set[i].items[j];

END_REPEAT;

violation := SIZEOF(t3_set * t2_set) < 1;

t3_set := [ ] ;

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; — representation_for_hydrostatic_table_constrained

RULE representation_for_hydrostatic_table_restricted FOR ( applied_classification_assignment);

LOCAL

t3_set : SET OF representation_item := [];

violation : LOGICAL := FALSE;

tl_set : SET OF representation := [];

c_a_set : SET OF applied_classification_assignment := [];

c2_a_set : SET OF app1ied_c1assification_assignment := [];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i. assigned_class.name = 'hydrostatic table') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c2_a_set := QUERY ( i <* applied_classification_assignment I (i. assigned_class.name = 'hydrostatic property') );

REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;

t2_set := t2_set + c2_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(tl_set[i].items) BY 1;

t3_set := t3_set + tl_set[i].items[j];

END_REPEAT;

violation := SIZEOF(t3_set * t2_set) < 1;

t3_set := [ ] ;

END REPEAT;

500

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: (NOT violation);

END_RULE; -- representation_for_hydrostatic_table_restricted

RULE representation_for_hydrostatic_table_restricted_by_class_id FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF representation := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['mean shell thickness'];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment | (i. assigned_class.name = 'hydrostatic table') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* tl_set[i].items I (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; —representation_for_hydrostatic_table_restricted_by_class_id

RULE representation_for_local_coordinate_system FOR (representation); LOCAL

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['local axes and origin'];

reps : BAG OF representation := [] ;

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'local co-ordinate system') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; — representation_for_local_coordinate_system

RULE representation_for_midship_tumble_restricted_by_class_id FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF representation := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['tumble out at bottom',

501

ГОСТ Р ИСО 10303-216—2023

'tumble in at top','tumble out at side', 'tumble in at side'];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i. assigned_class.name = 'midship tumble') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].iterns[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* tl_set[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; —representation_for_midship_tumble_restricted_by_class_id

RULE representation_for_moulded_form_function_parameters FOR (representation); LOCAL

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['function']; reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep, 'S HIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_RE PRE SENTATION.USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'moulded form function parameters') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; — representation_fоr_mou1ded_fоrm_function_parameters

RULE representation_for_offset_point_table_model_for_point FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF app1ied_c1assification_assignment := [];

arg_list : LIST OF STRING := ['section point'];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* app1ied_c1assification_assignment I (i. assigned_class.name = 'section of offset point table') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].iterns[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; t2_set := tl_set[i].item_element;

502

ГОСТ Р ИСО 10303-216—2023

violation := SIZEOF(QUERY ( items <* t2_set I (items.name = arg_list[j]) )) < 1; END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; -- representation_for_offset_point_table_model_for_point

RULE representation_for_offset_point_table_model_for_section FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['offset point table section'];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment | (i.

assigned_class.name = 'offset point table model') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

t2_set := tl_set[i].item_element;

violation := SIZEOF(QUERY ( items <* t2_set I (items.name = arg_list[j]) )) < 1;

END_REPEAT;

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; --representation_for_offset_point_table_model_for_section

RULE representation_for_offset_table_shape_representation_restricted FOR ( applied_classification_assignment);

LOCAL

t3_set : SET OF representation_item := [];

violation : LOGICAL := FALSE;

tl_set : SET OF representation := [];

c_a_set : SET OF applied_classification_assignment := [];

c2_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'offset table shape representation'));

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c2_a_set := QUERY ( i <* applied_classification_assignment |

(i.assigned_class.name = 'offset point table model') );

REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;

t2_set := t2_set + c2_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl set) BY 1 WHILE NOT violation;

503

ГОСТ Р ИСО 10303-216—2023

REPEAT j := 1 ТО HIINDEX(tl_set[i].items) BY 1;

t3_set := t3_set + tl_set[i].items[j];

END_REPEAT;

violation := SIZEOF(t3_set * t2_set) < 1;

t3_set := [];

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; —representation_for_offset_table_shape_representation_restricted

RULE representation_for_propeller_location_restricted_by_class_id FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF representation := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['shaft line inclination x', 'shaft line inclination y','shaft line location','propeller location']; END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment | (i. assigned_class.name = 'propeller location') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* tl_set[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; —representation_for_propeller_location_restricted_by_class_id

RULE representation_for_propeller_moulded_form_design_parameter FOR ( representation) ;

LOCAL

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['type of propulsion', 'propeller diameter','chord length at 0 7 radius', 'thickness at 0 7 radius','number of propeller blades', 'expanded area ratio','hub diameter ratio', 'nominal design pitch ratio','type of propeller blades', 'rake','skew','design sense of rotation'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'propeller moulded form design parameter') )) >0) ); REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END REPEAT;

504

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: (NOT violation);

END_RULE; --representation_for_propeller_moulded_form_design_parameter

RULE representation_for_rudder_moulded_form_design_parameter FOR ( representation);

LOCAL

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['rudder height','rudder mean height', 'rudder length','rudder mean length','rudder thickness', 'projected rudder area','type of the rudder','rudder location'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF(

QUERY ( temp_prop_def_rep <*bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))

I (temp_prop_def_rep.name = 'rudder moulded form design parameter') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; --representation_for_rudder_moulded_form_design_parameter

RULE representation_for_stability_table_restricted FOR (

applied_classification_assignment);

LOCAL

t3_set : SET OF representation_item := [];

violation : LOGICAL := FALSE;

tl_set : SET OF representation := [];

c_a_set : SET OF applied_classification_assignment := [];

c2_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'stability table') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c2_a_set := QUERY ( i <* applied_classification_assignment I (i.

assigned_class.name = 'stability properties for one floating position') );

REPEAT i := 1 TO HIINDEX(c2_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c2_a_set[i].items) BY 1;

t2_set := t2_set + c2_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(tl_set[i].items) BY 1;

t3_set := t3_set + tl_set[i].items[j];

END_REPEAT;

violation := SIZEOF(t3_set * t2_set) < 1;

t3_set := [ ] ;

END REPEAT;

505

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: (NOT violation);

END_RULE;

representation_for_stability_table_restricted

RULE representation_for_stability_table_restricted_by_class_id FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF representation := [];

c_a_set : SET OF applied_classification_assignment := []; arg_list : LIST OF STRING := ['mean shell thickness'];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment |

(i.assigned_class.name = 'stability table') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* tl_set[i].items I (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; --representation_for_stability_table_restricted_by_class_id

RULE representation_for_thruster_moulded_form_design_parameter FOR ( representation) ;

LOCAL

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['thruster tunnel diameter', 'thruster tunnel min length', 'thruster tunnel max length', 'geometric thruster location','thruster location'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF(

QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'thruster moulded form design parameter') )) >0) ); REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

violation := SIZEOF(QUERY ( rep_item <* reps[i].items I (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; --representation_for_thruster_moulded_form_design_parameter

RULE representation_has_global_uncertainty_assigned_context FOR ( shape_representation) ;

LOCAL

has_gunac : LOGICAL := TRUE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(shape_representation) BY 1 WHILE has_gunac;

506

ГОСТ Р ИСО 10303-216—2023

has_gunac := 'SHIP_MOULDED_FORM_SCHEMA.GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT' IN TYPEOF(shape_representation[i].context_of_items);

END REPEAT;

WHERE wrl: has_gunac;

END_RULE; —representation_has_global_uncertainty_assigned_context

RULE representation_has_global_unit_assigned_context FOR (representation);

LOCAL

has_guac : LOGICAL := TRUE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(representation) BY 1 WHILE has_guac;

REPEAT j := 1 TO SIZEOF(representation[i].items) BY 1 WHILE has_guac;

IF ('SHIP_MOULDED_FORM_SCHEMA.VALUE_REPRESENTATION_ITEM' IN TYPEOF(representation[i].items[j])) OR ( 'SHIP_MOULDED_FORM_SCHEMA.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(representation[i].items[ j ] ) ) THEN has_guac := 'SHIP_MOULDED_FORM_SCHEMA.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF(representation[ i ] .context_of_iterns);

END_IF;

END_REPEAT;

END REPEAT;

WHERE

wrl: has_guac;

END_RULE; — representation_has_global_unit_assigned_context

RULE representation_item_for_transformation_to_parent FOR ( applied_classification_assignment);

LOCAL

t3_set : SET OF representation := [];

t4_set : SET OF representation_map := [];

tl_set : SET OF property_definition := [];

t5_set : SET OF mapped_item := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['local coordinate system

position in global coordinate systemlocal coordinate system position in parent local coordinate system','local coordinate system position in parent local coordinate system with position reference']; violationl : LOGICAL := FALSE;

violation2 : LOGICAL := FALSE;

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment | (i.

assigned_class.name = 'local co-ordinate system') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violationl;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')); violationl := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |

(t2_inst.used_representation.name = 'local axis representation') )) =1); t3_set := t3_set + t2_set[i].used_representation;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl set) BY 1 WHILE NOT violationl;

507

ГОСТ Р ИСО 10303-216—2023

t4_set := bag_to_set(USEDIN(t3_set[i],

'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION_MAP.MAPPED_REPRESENTATION')); END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violationl;

t5_set := bag_to_set(USEDIN(t4_set[i],

'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM.MAPPING_SOURCE'));

REPEAT j := 1 TO 3 BY 1 WHILE NOT violation2;

violation2 := NOT (SIZEOF(QUERY ( t2_inst <* t5_set | (t2_inst.name = arg_list[j]) )) =1);

END_REPEAT;

END REPEAT;

WHERE

wrl: (NOT violationl); wr2: (NOT violation2);

END_RULE; — representation_item_for_transformation_to_parent

RULE representation_items_appendage_moulded_form_design_parameter FOR ( representation);

LOCAL

found : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['moulded form outer surface', 'moulded form displacement','user def appendage type'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'appendage moulded form design parameter') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found; found := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) >1;

END_REPEAT;

END REPEAT;

WHERE

wrl: (NOT found);

END_RULE; —representation_items_appendage_moulded_form_design_parameter

RULE representation_items_for_bottom_moulded_form_design_parameter FOR ( representation);

LOCAL

found : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['moulded form outer surface', 'moulded form displacement'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF(

QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'bottom moulded form design parameter') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found; found := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) > 1;

END_REPEAT;

END REPEAT;

508

ГОСТ Р ИСО 10303-216—2023

WHERE

wrl: (NOT found);

END_RULE; --representation_items_for_bottom_moulded_form_design_parameter

RULE representation_items_for_bulb_moulded_form_design_parameter FOR ( representation);

LOCAL

found : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['moulded form outer surface', 'moulded form displacement'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'bulb moulded form design parameter') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found; found := SIZEOF(QUERY ( rep_item <* reps[i].items I (rep_item.name = arg_list[j]) )) >1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT found);

END_RULE; --representation_items_for_bulb_moulded_form_design_parameter

RULE representation_items_for_deck_moulded_form_design_parameter FOR ( representation);

LOCAL

found : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['moulded form outer surface', 'moulded form displacement'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'deck moulded form design parameter') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found; found := SIZEOF(QUERY ( rep_item <* reps[i].items I (rep_item.name = arg_list[j]) )) >1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT found);

END_RULE; —representation_items_for_deck_moulded_form_design_parameter

RULE representation_items_for_hull_moulded_form_design_parameter FOR ( representation);

LOCAL

found : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['moulded form outer surface', 'moulded form displacement', 'waterline angle of entrance at stern',

509

ГОСТ Р ИСО 10303-216—2023

'waterline angle of entrance at bow',

'max frame section area location','hull length pp', 'hull length waterline','hull breadth','hull depth', 'hull design draught','gunwale radius'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'hull moulded form design parameter') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found; found := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) > 1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT found);

END_RULE; —representation_items_for_hull_moulded_form_design_parameter

RULE representation_items_for_moulded_form_design_parameters FOR ( representation);

LOCAL

found : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['status'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'moulded form design parameters') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found; found := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) > 1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT found);

END_RULE; —representation_items_for_moulded_form_design_parameters

RULE representation_items_for_moulded_form_function_parameters FOR ( representation) ;

LOCAL

found : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['user def function'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF(

QUERY ( temp_prop_def_rep <*

bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'moulded form function parameters') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found; found := SIZEOF(QUERY ( rep_item <* reps[i].items |

510

ГОСТ Р ИСО 10303-216—2023

(rep_item.name = arg_list[j]) )) >1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT found);

END_RULE; --representation_items_for_moulded_form_function_parameters

RULE representation_items_for_rudder_moulded_form_design_parameter FOR ( representation);

LOCAL

found : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['moulded form outer surface', 'moulded form displacement'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'rudder moulded form design parameter') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found; found := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) >1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT found);

END_RULE; --representation_items_for_rudder_moulded_form_design_parameter

RULE representation_items_of_thruster_moulded_form_design_parameter FOR ( representation);

LOCAL

found : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['moulded form outer surface', 'moulded form displacement'];

reps : BAG OF representation := [] ;

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'thruster moulded form design parameter') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found; found := SIZEOF(QUERY ( rep_item <* reps[i].items I (rep_item.name = arg_list[j]) )) >1;

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT found);

END_RULE; —representation_items_of_thruster_moulded_form_design_parameter

RULE representation_items_optional_for_class_notation FOR ( representation);

LOCAL

511

ГОСТ Р ИСО 10303-216—2023

found : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['ice class notation','service factor', 'approval required for heavy cargo'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'class notation') )) >0) ); REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found; found := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) >1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT found);

END_RULE; — representation_items_optional_for_class_notation

RULE representation_items_optional_for_owner_designation FOR ( representation) ;

LOCAL found : LOGICAL := FALSE; arg_list : LIST OF STRING := ['owner approval']; reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'owner designation') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found; found := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) >1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT found);

END_RULE; — representation_items_optional_for_owner_designation

RULE representation_items_optional_for_principal_characteristics FOR ( representation);

LOCAL found : LOGICAL := FALSE; arg_list : LIST OF STRING := ['block coefficient','design draught', 'design deadweight','min draught at fp', 'max draught at fp','min draught at ap', 'max draught at ap'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'principal characteristics') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found;

512

ГОСТ Р ИСО 10303-216—2023

found := SIZEOF(QUERY ( rep_item <* reps[i].items I (rep_item.name = arg_list[j]) )) >1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT found);

END_RULE; —representation_items_optional_for_principal_characteristics

RULE representation_items_propeller_moulded_form_design_parameter FOR ( representation);

LOCAL

found : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['blade_mean_height', 'moulded form outer surface','moulded form displacement']; reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'propeller moulded form design parameter') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT found;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT found; found := SIZEOF(QUERY ( rep_item <* reps[i].items I (rep_item.name = arg_list[j]) )) >1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT found);

END_RULE; —representation_items_propeller_moulded_form_design_parameter

RULE representation_of_local_coordinate_system_with_position_reference FOR ( representation);

LOCAL

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['local axes and origin'];

reps : BAG OF representation := [] ;

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF(

QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'local co-ordinate system with position reference') )) > 0) ) ;

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; —representation_of_local_coordinate_system_with_position_reference

RULE representation_restricted_by_name_class_notation FOR ( representation);

LOCAL

513

ГОСТ Р ИСО 10303-216—2023

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['service area',

'approval required for oil cargo',

'approval required for loading unloading aground', 'approval required for unloading grabs'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF( QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'class notation') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — representation_restricted_by_name_class_notation

RULE representation_restricted_by_name_class_parameters FOR ( representation) ;

LOCAL violation : LOGICAL := FALSE; arg_list : LIST OF STRING := ['length class','length solas', 'scantlings draught','block coefficient class', 'design speed ahead','design speed astern'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF(

QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) | (temp_prop_def_rep.name = 'class parameters') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — representation_restricted_by_name_class_parameters

RULE representation_restricted_by_name_principal_characteristics FOR ( representation);

LOCAL violation : LOGICAL := FALSE; arg_list : LIST OF STRING := ['length between perpendiculars', 'moulded breadth','moulded depth'];

reps : BAG OF representation := [];

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF(

QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep, 'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'principal characteristics') )) >0) );

514

ГОСТ Р ИСО 10303-216—2023

REPEAT i := 1 ТО HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; —representation_restricted_by_name_principal_characteristics

RULE representation_restricted_by_name_ship_overall_dimensions FOR ( representation);

LOCAL

violation : LOGICAL := FALSE;

arg_list : LIST OF STRING := ['overall breadth','overall depth', 'overall length','stem overhang','stern overhang'];

reps : BAG OF representation := [] ;

END_LOCAL;

reps := QUERY ( temp_rep <* representation | (SIZEOF(

QUERY ( temp_prop_def_rep <* bag_to_set(USEDIN(temp_rep,

'SHIP_MOULDED_FORM_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.' +

'USED_REPRESENTATION')) I (temp_prop_def_rep.name = 'ship overall dimensions') )) >0) );

REPEAT i := 1 TO HIINDEX(reps) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; violation := SIZEOF(QUERY ( rep_item <* reps[i].items | (rep_item.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — — repre sentat i оn_re s t ri cted_by_name_sh ip_ove ra1l_d imen s i оns

RULE revision_has_mandatory_attribute_description FOR (group); LOCAL violate : LOGICAL := FALSE;

tl_set : SET OF group := [];

END_LOCAL;

tl_set := QUERY ( i <* group |

VALUE_IN(which_class(i),'revision') ) ;

violate := SIZEOF(QUERY ( к <* tl_set | (NOT EXISTS(k.description)) )) > 0;

WHERE wrl: (NOT violate);

END_RULE; — revision_has_mandatory_attribute_description

RULE revision_with_context_referenced_for_context_of_revision FOR ( applied_group_assignment, group);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF group := [];

a_set : SET OF applied_group_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* group | VALUE_IN(which_class(a), 'revision with context') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_group_assignment I

515

ГОСТ Р ИСО 10303-216—2023

((b.assigned_group = tl_set[i]) AND (b.role.name = 'context of revision')) ); violate := SIZEOF(a_set) <> 1;

END REPEAT;

WHERE wrl: (NOT violate);

END_RULE; —revision_with_context_referenced_for_context_of_revision

RULE ship_curve_has_name FOR (applied_classification_assignment); LOCAL violation : LOGICAL := FALSE; tl_set : SET OF compound_representation_item := []; c_a_set : SET OF applied_classification_assignment := []; arg_list : LIST OF STRING := ['side condition','curve shape']; t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment | (i. assigned_class.name = 'ship curve') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation; t2_set := tl_set[i].item_element; violation := SIZEOF(QUERY ( items <* t2_set I (items.name = arg_list[j]) )) <> 1; END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — ship_curve_has_name

RULE ship_curve_segment_has_class FOR (applied_c1assification_assignment); LOCAL t3_set : SET OF representation_item := []; violation : LOGICAL := FALSE; tl_set : SET OF compound_representation_item := []; c_a_set : SET OF applied_classification_assignment := []; c_a_set2 : SET OF app1ied_c1assification_assignment := []; l_rep_item : list_representation_item; t2_set : SET OF compound_representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.assigned_class.name = 'ship curve segment') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c_a_set2 := QUERY ( i <* applied_classification_assignment | (i.assigned_class.name = 'ship curve') );

REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;

t2_set := t2_set + c_a_set2[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(tl_set[i].item_element) BY 1;

516

ГОСТ Р ИСО 10303-216—2023

l_rep_item := tl_set[i].item_element; t3_set := t3_set + l_rep_item[j];

END_REPEAT;

violation := SIZEOF(t3_set * t2_set) <> 1;

t3_set := [ ] ;

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; -- ship_curve_segment_has_c1ass

RULE ship_curve_with_spacing_position_has_class FOR ( applied_classification_assignment);

LOCAL

t3_set : SET OF representation_item := [];

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := []; c_a_set : SET OF applied_classification_assignment := []; c_a_set2 : SET OF applied_classification_assignment := []; l_rep_item : list_representation_item;

t2_set : SET OF compound_representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'ship curve with spacing position') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c_a_set2 := QUERY ( i <* applied_classification_assignment | (i.assigned_class.name = 'spacing position') );

REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1; t2_set := t2_set + c_a_set2[i].iterns[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(tl_set[i].item_element) BY 1; l_rep_item := tl_set[i].item_element;

t3_set := t3_set + l_rep_item[j];

END_REPEAT;

violation := SIZEOF(t3_set * t2_set) <> 1;

t3_set := [ ] ;

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; — ship_curve_with_spacing_position_has_class

RULE ship_designation_has_one_specified_names FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF product_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF applied_identification_assignment := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i. assigned_class.name = 'ship designation') );

REPEAT i := 1 TO HIINDEX(c a set) BY 1;

517

ГОСТ Р ИСО 10303-216—2023

REPEAT j := 1 ТО HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

violation := NOT (SIZEOF(QUERY ( t2_inst <* t2_set |

((t2_inst.role.name = 'imo number') OR

(t2_inst.role.name = 'pennant hull number')) )) = 1);

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; -- ship_designation_has_one_specified_names

RULE ship_moulded_form_revision_has_description FOR (

product_definition_relationship);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF product_definition_relationship := [];

END_LOCAL;

tl_set := QUERY ( i <* product_definition_relationship I

VALUE_IN(which_class(i),'ship moulded form revision') );

violate := SIZEOF(QUERY ( к <* tl_set | (NOT

EXISTS(k.description)) )) > 0;

WHERE

wrl: (NOT violate);

END_RULE; -- ship_moulded_form_revision_has_description

RULE ship_overall_dimensions_has_properties FOR (

property_definition_representation,applied_classification_assignment);

LOCAL

t3_set : LIST OF property_definition := [];

violation : LOGICAL := FALSE;

t4_set : LIST OF product_definition := [];

tl_set : LIST OF product_definition := [];

c_a_set : SET OF applied_classification_assignment := [];

t2_set : SET OF property_definition_representation := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment |

(i.assigned_class.name = 'ship overall dimensions') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

t2_set := QUERY ( i <* property_definition_representation |

(i.name = 'ship overall dimensions') );

REPEAT i := 1 TO HIINDEX(t2_set) BY 1;

t3_set := t3_set + t2_set[i].definition;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(t3_set) BY 1;

t4_set := t4_set + t3_set[i].definition;

END_REPEAT;

violation := tl_set <> t4_set;

WHERE

wrl: (NOT violation);

END_RULE; -- ship_overall_dimensions_has_properties 518

ГОСТ Р ИСО 10303-216—2023

RULE ship_point_compound_representation_has_name FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_c1assification_assignment := [];

arg_list : LIST OF STRING := ['point shape'];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'ship point') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

t2_set := tl_set[i].item_element;

violation := SIZEOF(QUERY ( items <* t2_set I (items.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; -- ship_point_compound_representation_has_name

RULE ship_surface_compound_representation_has_name FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['surface shape'];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'ship surface') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

t2_set := tl_set[i].item_element;

violation := SIZEOF(QUERY ( items <* t2_set I (items.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — ship_surface_compound_representation_has_name

RULE spacing_position_compound_representation_has_name FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

519

ГОСТ Р ИСО 10303-216—2023

arg_list : LIST OF STRING := ['position numberposition'];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.assigned_class.name = 'spacing position') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

t2_set := tl_set[i].item_element;

violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1; END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — spacing_position_compound_representation_has_name

RULE spacing_position_with_offset_compound_representation_has_class FOR ( applied_classification_assignment);

LOCAL

t3_set : SET OF representation_item := [];

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

c_a_set2 : SET OF applied_classification_assignment := [];

t2_set : SET OF compound_representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.assigned_class.name = 'spacing position with offset') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c_a_set2 := QUERY ( i <* applied_classification_assignment I (i.assigned_class.name = 'spacing position') );

REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;

t2_set := t2_set + c_a_set2[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(tl_set[i].item_element) BY 1;

t3_set := t3_set + tl_set[i].item_element;

END_REPEAT;

violation := SIZEOF(t3_set * t2_set) <> 1;

t3_set := [ ];

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; —spacing_position_with_of fset_compound_representation_has_class

RULE spacing_position_with_offset_compound_representation_has_name FOR ( applied_classification_assignment);

LOCAL

520

ГОСТ Р ИСО 10303-216—2023

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_c1assification_assignment := [];

arg_list : LIST OF STRING := ['offset'];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.assigned_class.name = 'spacing position with offset') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

t2_set := tl_set[i].item_element;

violation := SIZEOF(QUERY ( items <* t2_set | (items.name = arg_list[j]) )) <> 1; END_REPEAT;

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; --spacing_position_with_offset_compound_representation_has_name

RULE stability_properties_for_floating_position_has_class FOR ( applied_classification_assignment);

LOCAL

t3_set : SET OF representation_item := [];

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c a_set : SET OF applied_classification assignment := [];

c_a_set2 : SET OF applied_classification_assignment := [];

l_rep_item : list_representation_item;

t2_set : SET OF compound_representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'stability properties for one floating position') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

c_a_set2 := QUERY ( i <* applied_classification_assignment | (i.

assigned_class.name = 'stability property') );

REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;

t2_set := t2_set + c_a_set2[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(tl_set[i].item_element) BY 1;

l_rep_item := tl_set[i].item_element;

t3_set := t3_set + l_rep_item[j];

END_REPEAT;

violation := SIZEOF(t3_set * t2_set) < 1;

t3_set := [];

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; -- stability_properties_for_floating_position_has_class

521

ГОСТ Р ИСО 10303-216—2023

RULE stability_properties_for_floating_position_has_name FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['centre of gravity above keel', 'definition of starting floating position'];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'stability properties for one floating position') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

t2_set := tl_set[i].item_element;

violation := SIZEOF(QUERY ( items <* t2_set I (items.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — stability_properties_for_floating_position_has_name

RULE stability_property_has_name FOR

(applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF compound_representation_item := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['angle of heel','righting arm',

'centre of buoyancy'];

t2_set : SET OF representation_item := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I

(i.assigned_class.name = 'stability property') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

t2_set := tl_set[i].item_element;

violation := SIZEOF(QUERY ( items <* t2_set I (items.name = arg_list[j]) )) <> 1;

END_REPEAT;

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — stability_property_has_name

RULE surface with identification assignment FOR (APPLIED_CLASSIFICATION_ASSIGNMENT);

LOCAL

c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := []; tl set: SET OF surface := [];

522

ГОСТ Р ИСО 10303-216—2023

t2_set: SET OF applied_identification_assignment := [];

arg_list: LIST OF STRING := ['surface with identifier'];

violation: LOGICAL := FALSE;

END_LOCAL;

(* get all classification_assignment instances *)

REPEAT j:=l TO HIINDEX(arg_list) WHILE (NOT violation);

c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |

i.assigned class.NAME = arg LIST[j]);

END_REPEAT;

(* get all instances of surface that have class id *)

REPEAT i := 1 TO HIINDEX(c_a_set);

REPEAT j := 1 TO HIINDEX(c_a_set[i].items); tl set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

t2_set := QUERY ( j <* t2_set |

j.role.name = 'globally unambiguous identifier');

violation := NOT (SIZEOF(T2_SET) = 1);

END REPEAT;

WHERE

wrl: NOT violation;

END RULE;

surface_with_identification_assignment

RULE unique_approvals_in_approval_history FOR (group, applied_group_assignment) ;

LOCAL

violate : LOGICAL := FALSE;

t3_set : SET OF approval := [];

tl_set : SET OF group := [];

t2_set : SET OF applied_group_assignment := [];

END_LOCAL;

tl_set := QUERY ( i <* group | VALUE_IN(which_class(i), 'approval history') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate; t2_set := QUERY ( a <* applied_group_assignment | (a.assigned_group = tl_set[i]) );

t3_set := QUERY ( b <* t2_set[1].items | (

'SHIP_MOULDED_FORM_SCHEMA.APPROVAL' INTYPEOF(b)) );

violate := NOT VALUE_UNIQUE(t3_set);

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- unique_approvals_in_approval_history

RULE user_def_appendage_type_description_required FOR (representation); LOCAL

violation : LOGICAL := FALSE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(representation) BY 1 WHILE NOT violation; violation := (SIZEOF(QUERY ( r <* representation[i].items | (( 'SHIP_MOULDED_FORM_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(r)) AND (r.name = 'type of appendage') AND (r\ descriptive_representation_item.description = 'user defined')) ))

523

ГОСТ Р ИСО 10303-216—2023

> 0) AND (SIZEOF(QUERY ( г <* representation[i].items I (r.name = 'user def appendage type') )) = 0);

END REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; — user_def_appendage_type_description_required

RULE user_def_function_description_required FOR (representation); LOCAL

violation : LOGICAL := FALSE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(representation) BY 1 WHILE NOT violation; violation := (SIZEOF(QUERY ( r <* representation[i].items I (( 'SHIP_MOULDED_FORM_SCHEMA.DESCRIPTIVE_RE PRESENTATION_IТЕМ' IN TYPEOF(r)) AND (r.name = 'function') AND (r\ descriptive_representation_item.description = 'user defined')) )) > 0) AND (SIZEOF(QUERY ( r <* representation[i].items | (r.name = 'user def function') )) = 0);

END_REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — user_def_function_description_required

RULE valid_product_definition_for_class_moulded_form FOR ( applied_classification_assignment, applied_group_assignment); LOCAL violation : LOGICAL := FALSE; tl_set : SET OF product_definition := []; violatel : LOGICAL; violate2 : LOGICAL; c_a_set : SET OF app1ied_c1assification_assignment := []; gr_ass : SET OF applied_group_assignment := []; groups : SET OF group := [];

END_LOCAL;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.assigned_class.name = 'ship moulded form') );

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1; tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

gr_ass := QUERY ( i <* applied_group_assignment | (i.role.name = 'equivalence') ); REPEAT i := 1 TO HIINDEX(gr_ass) BY 1;

REPEAT j := 1 TO HIINDEX(gr_ass[i].items) BY 1;

IF gr_ass[i].items[j] IN tl_set THEN groups := groups + gr_ass[i].assigned_group;

END_IF;

END_REPEAT;

END_REPEAT;

gr_ass := QUERY ( i <* applied_group_assignment I ((SIZEOF(i.items) <> 0) AND (i.role.name = 'item structure') AND (i.assigned_group IN groups)) );

REPEAT i := 1 TO HIINDEX(gr_ass) BY 1 WHILE NOT violation;

REPEAT j := 1 TO HIINDEX(gr_ass[i].items) BY 1 WHILE NOT violation; violatel := VALUE_IN(which_class(gr_ass[i].items[j]) , 'moulded form'); violates := VALUE_IN(which_class(gr_ass[i].items[j]), 'moulded form relationship'); violation := NOT (violatel OR violates);

END REPEAT;

524

ГОСТ Р ИСО 10303-216—2023

END REPEAT;

WHERE wrl: (NOT violation);

END_RULE; — valid_product_definition_for_class_moulded_form

RULE version_creation_has_mandatory_attribute_description FOR (action);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action := [];

END_LOCAL;

tl_set := QUERY ( i <* action | VALUE_IN(which_class(i) , 'version creation') );

violate := SIZEOF(QUERY ( к <* tl_set | (NOT EXISTS(k.description)) )) > 0;

WHERE wrl: (NOT violate);

END_RULE; -- version_creation_has_mandatory_attribute_description

RULE vers ion_deletion_has_mandatоry_a11ribute_description FOR (action);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF action := [];

END_LOCAL;

tl_set := QUERY ( i <* action | VALUE_IN(which_class(i),'version deletion') ); violate := SIZEOF(QUERY ( к <* tl_set | (NOT EXISTS(k.description)) )) > 0;

WHERE

wrl: (NOT violate);

END_RULE; -- version_deletion_has_mandatory_attribute_description

RULE version_history_has_exactly_one_assigned_group FOR ( applied_group_assignment, group);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF group := [];

set_l : SET OF applied_group_assignment := [];

set_3 : SET OF group_item := [];

set_2 : SET OF applied_group_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* group I VALUE_IN(which_class(a), 'version history') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

set_l := QUERY ( b <* applied_group_assignment |

((b.assigned_group = tl_set[i]) AND (b.role.name = 'current version')) ); set_2 := QUERY ( c <* applied_group_assignment |

((c.assigned_group = tl_set[i]) AND (c.role.name = 'members')) ); violate := (SIZEOF(set_l) <> 1) OR (SIZEOF(set_2) <> 1);

IF NOT violate THEN set_3 := set_l[1].items * set_2[1].items;

violate := (SIZEOF(set_3) <> 1) OR (NOT

VALUE_IN(which_class(set_3 [1]),'versionable object'));

END_IF;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- version_histоry_has_eхаct1y_one_assigned_group

525

ГОСТ Р ИСО 10303-216—2023

RULE version_history_is_referenced_by_at_least_one_versions FOR ( applied_group_assignment, group);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF group := [];

a_set : SET OF applied_group_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* group I VALUE_IN(which_class(a), 'version history') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_group_assignment I

((b.assigned_group = tl_set[i]) AND (b.role.name = 'versions')) );

violate := SIZEOF(a_set) < 1;

END REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; --version_history_is_referenced_by_at_least_one_versions

RULE version_histоry_referenced_by_exact1y_one_current_version FOR ( applied_group_assignment, group);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF group := [];

a_set : SET OF applied_group_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* group I VALUE_IN(which_class(a),

'version history') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a set := QUERY ( b <* applied group assignment |

((b.assigned_group = tl_set[i]) AND (b.role.name = 'current version')) ); violate := SIZEOF(a_set) <> 1;

END_REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; — version_history_referenced_by_exactly_one_current_version

RULE version_history_referenced_by_multiple_roles FOR ( applied_group_assignment, group);

LOCAL

violate : LOGICAL := FALSE;

tl_set : SET OF group := [];

a_set : SET OF applied_group_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* group I VALUE_IN(which_class(a), 'version history') );

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate;

a_set := QUERY ( b <* applied_group_assignment I

((b.assigned_group = tl_set[i]) AND (NOT (b.role.name IN ['versions', 'current version','relationships']))) );

violate := SIZEOF(a_set) < 1;

END_REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; -- version_history_referenced_by_multiple_roles

526

ГОСТ Р ИСО 10303-216—2023

RULE version_modification_has_mandatory_attribute_description FOR (action); LOCAL violate : LOGICAL := FALSE; tl_set : SET OF action := [];

END_LOCAL;

tl_set := QUERY ( i <* action | VALUE_IN(which_class(i), 'version modification') );

violate := SIZEOF(QUERY ( к <* tl_set | (NOT EXISTS(k.description)) )) > 0;

WHERE wrl: (NOT violate);

END_RULE; —version_modification_has_mandatory_attribute_description

RULE version_relationship_associates_with_versionable_object FOR ( applied_identification_assignment); LOCAL violate : LOGICAL := FALSE;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(applied_identification_assignment) BY 1 WHILE NOT violate;

IF (SIZEOF(USEDIN(applied_identification_assignment[i],'SHIP_MOULDED_FO

RM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.'

+ 'RELATING_IDENTIFICATION_ASSIGNMENT')) > 0) OR (SIZEOF(USEDIN(applied_identification_assignment[i], 'SHIP_MOULDED_FORM_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.' + 'RELATED_IDENTIFICATION_ASSIGNMENT')) > 0) THEN

REPEAT j := 1 TO HIINDEX(applied_identification_assignment[i].items) BY 1 WHILE NOT violate; violate := NOT VALUE_IN(which_class(applied_identification_assignment[i].items[j]), 'versionable object');

END_REPEAT;

END_IF;

END_REPEAT;

WHERE wrl: (NOT violate);

END_RULE; —version_relationship_associates_with_versionable_object

RULE version_relationship_has_mandatory_attribute_description FOR ( identification_assignment_relationship);

LOCAL violate : LOGICAL := FALSE; tl_set : SET OF identification_assignment_relationship := [];

END_LOCAL;

tl_set := QUERY ( i <* identification_assignment_relationship |

VALUE_IN(which_class(i),'version relationship') );

violate := SIZEOF(QUERY ( к <* tl_set | (NOT EXISTS(k.description)) )) > 0;

WHERE wrl: (NOT violate);

END_RULE; --version_relationship_has_mandatory_attribute_description

RULE version_relationship_has_unique_versions FOR ( identification_assignment_relationship);

LOCAL violate : LOGICAL := FALSE; tl_set : SET OF identification_assignment_relationship := [];

END_LOCAL;

tl_set := QUERY ( a <* identification_assignment_relationship |

VALUE_IN(which_class(a),'version relationship') );

527

ГОСТ Р ИСО 10303-216—2023

REPEAT i := 1 ТО HIINDEX(tl_set) BY 1 WHILE NOT violate;

violate := tl_set[i].relating_identification_assignment.assigned_id

= tl_set[i].related_identification_assignment.assigned_id; END_REPEAT;

WHERE

wrl: (NOT violate);

END_RULE; — version_relationship_has_unique_versions

RULE versionable_object_has_one_version_id FOR ( applied_identification_assignment);

LOCAL

version_ids : SET OF applied_identification_assignment := [];

duplicate : LOGICAL := FALSE;

versionable_objects : BAG OF identification_item := [];

END_LOCAL;

version_ids := QUERY ( i <* applied_identification_assignment | (i.role.name = 'version identifier') );

REPEAT i := 1 TO HIINDEX(version_ids) BY 1;

versionable_objects := versionable_objects + version_ids[i].items;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(versionable_objects) BY 1 WHILE NOT duplicate;

REPEAT j := i + 1 TO HIINDEX(versionable_objects) BY 1 WHILE NOT duplicate; duplicate := versionable_objects[i] :=: versionable_objects[j];

END_REPEAT;

END_REPEAT;

WHERE

wrl: (NOT duplicate);

END_RULE; — versionable_object_has_one_version_id

RULE versioned_action_request_with_identification_assignment FOR ( applied_classification_assignment);

LOCAL

violation : LOGICAL := FALSE;

tl_set : SET OF versioned_action_request := [];

c_a_set : SET OF applied_classification_assignment := [];

arg_list : LIST OF STRING := ['change request'];

t2_set : SET OF applied_identification_assignment := [];

END_LOCAL;

REPEAT j := 1 TO HIINDEX(arg_list) BY 1 WHILE NOT violation;

c_a_set := QUERY ( i <* applied_classification_assignment I (i.assigned_class.name = arg_list[j]) );

END_REPEAT;

REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;

REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;

tl_set := tl_set + c_a_set[i].items[j];

END_REPEAT;

END_REPEAT;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violation;

t2_set := bag_to_set(USEDIN(tl_set[i],

'SHIP_MOULDED_FORM_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));

t2_set := QUERY ( j <* t2_set | (j.role.name = 'globally unambiguous identifier') ); violation := NOT (SIZEOF(t2_set) = 1);

END_REPEAT;

WHERE

wrl: (NOT violation);

END_RULE; —versioned_action_request_with_identification_assignment

528

ГОСТ Р ИСО 10303-216—2023

RULE versions_is_referenced_by_at_least_one_version_history FOR ( applied_group_assignment, group);

LOCAL violate : LOGICAL := FALSE; tl_set : SET OF group := []; a_set : SET OF applied_group_assignment := [];

END_LOCAL;

tl_set := QUERY ( a <* group I

VALUE_IN(which_class(a),'versions') ) ;

REPEAT i := 1 TO HIINDEX(tl_set) BY 1 WHILE NOT violate; a_set := QUERY ( b <* applied_group_assignment | ((b.assigned_group = tl_set[i]) AND (b.role.name = 'version history')) ); violate := SIZEOF(a_set) < 1;

END_REPEAT;

WHERE wrl: (NOT violate);

END_RULE; —versions_is_referenced_by_at_least_one_version_history

FUNCTION acyclic_curve_replica( rep: curve_replica; parent: curve ): BOOLEAN;

IF NOT ('SHIP_MOULDED_FORM_SCHEMA.CURVE_REPLICA' IN TYPEOF(parent)) THEN

RETURN(TRUE);

END_IF;

IF parent :=: rep THEN RETURN(FALSE);

ELSE

RETURN(acyclic_curve_replica(rep,parent\curve_replica.parent_curve));

END_IF;

END_FUNCTION; -- acyclic_curve_replica

FUNCTION acyclic_mapped_representation( parent_set: SET OF representation; children_set: SET OF representation_item ): BOOLEAN;

LOCAL

x : SET OF representation_item;

у : SET OF representation_item;

END_LOCAL;

x := QUERY ( z <* children_set | ( 'SHIP_MOULDED_FORM_SCHEMA.MAPPED_ITEM' IN TYPEOF(z)) ); IF SIZEOF(x) > 0 THEN

REPEAT i := 1 TO HIINDEX(x) BY 1;

IF x[i]\mapped_item.mapping_source.mapped_representation IN parent_set THEN RETURN(FALSE);

END_IF;

IF NOT acyclic_mapped_representation(parent_set +

x[i]\mapped_item.mapping_source.mapped_representation,

x[i]\mapped_item.mapping_source,mapped_representation.items) THEN RETURN(FALSE); END_IF;

END_REPEAT;

END_IF;

x := children_set - x;

IF SIZEOF(x) > 0 THEN REPEAT i := 1 TO HIINDEX(x) BY 1;

у := QUERY ( z <* bag_to_set(USEDIN(x[i],'')) | ( 'SHIP MOULDED FORM SCHEMA.REPRESENTATION ITEM' IN

529

ГОСТ Р ИСО 10303-216—2023

TYPEOF(z)) );

IF NOT acyclic_mapped_representation(parent_set, у) THEN RETURN(FALSE);

END_IF;

END_REPEAT;

END_IF;

RETURN(TRUE);

END_FUNCTION; -- acyclic_mapped_representation

FUNCTION acyclic_point_replica( rep: point_replica; parent: point

): BOOLEAN;

IF NOT ('SHIP_MOULDED_FORM_SCHEMA.POINT_REPLICA' IN TYPEOF(parent)) THEN RETURN(TRUE);

END_IF;

IF parent :=: rep THEN RETURN(FALSE); ELSE

RETURN(acyclic_point_replica(rep,parent\point_rep1i ca.parent_pt)); END_IF;

END_FUNCTION; — асус1ic_point_rер1ica

FUNCTION acyclic_product_category_relationship( relation: product_category_re1ationship; children: SET OF product_category

): BOOLEAN; LOCAL

x : SET OF product_category_relationship; local_children : SET OF product_category;

END_LOCAL;

REPEAT i := 1 TO HIINDEX(children) BY 1;

IF relation.category :=: children[i] THEN RETURN(FALSE);

END_IF;

END_REPEAT;

x := bag_to_set(USEDIN(relation.category,'SHIP_MOULDED_FORM_SCHEMA.' + ’PRODUCT_CATEGORY_RELATIONSHIP.SUB_CATEGORY’));

local_children := children + relation.category;

IF SIZEOF(x) > 0 THEN

REPEAT i := 1 TO HIINDEX(x) BY 1; IF NOT

acyc1ic_product_category_relationship(x[i],local_children) THEN RETURN(FALSE);

END_IF;

END_REPEAT;

END_IF;

RETURN(TRUE);

END_FUNCTION; — асус1ic_product_category_re1ationship

FUNCTION асус1ic_surface_replica(

rep: surface_replica;

parent: surface

): BOOLEAN;

IF NOT ('SHIP_MOULDED_FORM_SCHEMA.SURFACE_REPLICA' IN TYPEOF(parent)) THEN

RETURN(TRUE) ;

END_IF;

IF parent :=: rep THEN

530

ГОСТ Р ИСО 10303-216—2023

RETURN(FALSE); ELSE

RETURN(acycli c_su rface_replica(rep,parent\surface_replica.parent_surface)); END_IF;

END_FUNCTION; — acyclic_surface_replica

FUNCTION associated_surface( arg: pcurve_or_surface ): surface;

LOCAL surf : surface;

END_LOCAL;

IF 'SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN TYPEOF(arg) THEN surf := arg.basis_surface;

ELSE surf := arg; END_IF;

RETURN(surf) ;

END_FUNCTION; -- associated_surface

FUNCTION bag_to_set( the_bag: BAG OF GENERIC:intype ): SET OF GENERIC:intype;

LOCAL the_set : SET OF GENERIC:intype := [];

END_LOCAL;

IF SIZEOF(the_bag) > 0 THEN

REPEAT i := 1 TO HIINDEX(the_bag) BY 1; the_set := the_set + the_bag[i];

END_REPEAT;

END_IF;

RETURN(the_set);

END_FUNCTION; — bag_to_set

FUNCTION base_axis( dim: INTEGER; axisl, axis2, axis3: direction ): LIST [2:3] OF direction; LOCAL

u : LIST [2:3] OF direction; dl : direction;

d2 : direction; factor : REAL; END_LOCAL;

IF dim = 3 THEN

dl := NVL(normalise(axis3),dummy_gri || direction ([ 0,0,1]));

d2 := first_proj_axis(dl,axisl);

u := [d2,second_proj_axis(dl,d2,axis2),dl]; ELSE

IF EXISTS(axisl) THEN dl := normalise(axisl); u := [dl,orthogonal_complement(dl)]; IF EXISTS(axis2) THEN

factor := dot_product(axis2,u[2]); IF factor < 0 THEN

u[2].direction_ratios[1] := -u[2].direction_ratios[l];

u[2] .direction_ratios[2] := -u [2] .direction_ratios[2]; END_IF;

END IF;

531

ГОСТ Р ИСО 10303-216—2023

ELSE

IF EXISTS(axis2) THEN dl := normalise(axis2); u := [orthogonal_complement(dl),dl]; u[1].direction_ratios[1] := -u[1].direction_ratios[1]; u[1].direction_ratios[2] := -u[1].direction_ratios[2]; ELSE u := [dummy_gri || direction([1,0]),dummy_gri || direction([0,1])];

END_IF;

END_IF;

END_IF;

RETURN(u) ;

END_FUNCTION; — base_axis

FUNCTION boolean_choose( b: BOOLEAN; choicel: GENERIC:item; choice2: GENERIC:item ): GENERIC:item; IF b THEN

RETURN(choicel) ; ELSE

RETURN(choice2);

END_IF;

END_FUNCTION; -- boolean_choose

FUNCTION build_2axes( ref_direction: direction ): LIST [2:2] OF direction; LOCAL

d : direction := NVL(normalise(ref_direction),dummy_gri || direction([1,0]));

END_LOCAL;

RETURN([d,orthogonal_complement(d)]);

END_FUNCTION; — build_2axes

FUNCTION build_axes( axis, ref_direction: direction ): LIST [3:3] OF direction; LOCAL dl : direction; d2 : direction;

END_LOCAL;

dl := NVL(normalise(axis),dummy_gri || direction([0,0,1]));

d2 := first_proj_axis(dl,ref_direction);

RETURN([d2,normalise(cross_product(dl,d2)).orientation,dl]);

END_FUNCTION; — build_axes

FUNCTION closed_shell_reversed( a_shell: closed_shell ): oriented_closed_shell; LOCAL the_reverse : oriented_closed_shell;

END_LOCAL;

IF 'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_CLOSED_SHELL' IN TYPEOF(a_shell) THEN

532

ГОСТ Р ИСО 10303-216—2023

the_reverse := dummy_tri || connected_face_set(a_shell\ connected_face_set.cfs_faces) || closed_shell() || oriented_closed_shell(a_shell\oriented_closed_shell.closed_shell_element,NOT a_shell\oriented_closed_shell.orientation) ;

ELSE the_reverse := dummy_tri || connected_face_set(a_shell\connected_face_set.cfs_faces) II closed_shell() || oriented_closed_shell(a_shell,FALSE);

END_IF;

RETURN(the_reverse);

END_FUNCTION; -- closed_shell_reversed

FUNCTION conditional_reverse( p: BOOLEAN;

an_item: reversible_topology

): reversible_topology;

IF p THEN

RETURN(an_item);

ELSE

RETURN(topology_reversed(an_item));

END_IF;

END_FUNCTION; -- conditional_reverse

FUNCTION constraints_composite_curve_on_surface( c: composite_curve_on_surface

): BOOLEAN; LOCAL n_segments : INTEGER := SIZEOF(c.segments); END_LOCAL;

REPEAT к := 1 TO n_segments BY 1;

IF (NOT ('SHIP_MOULDED_FORM_SCHEMA.PCURVE' INTYPEOF(c\ composite_curve.segments[k].parent_curve))) AND (NOT ( 'SHIP_MOULDED_FORM_SCHEMA.SURFACE_CURVE' IN TYPEOF(c\ composite_curve.segments[k].parent_curve))) AND (NOT ( 'SHIP_MOULDED_FORM_SCHEMA.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF(c\composite_curve.segments[k].parent_curve))) THEN RETURN(FALSE);

END_IF;

END_REPEAT;

RETURN(TRUE);

END_FUNCTION; -- constraints_composite_curve_on_surface

FUNCTION constraints_param_b_spline( degree: INTEGER;

up_knots: INTEGER;

up_cp: INTEGER;

knot_mult: LIST OF INTEGER;

knots: LIST OF parameter_value

): BOOLEAN; LOCAL

к : INTEGER;

sum : INTEGER;

result : BOOLEAN := TRUE;

END_LOCAL;

sum := knot_mult[1];

REPEAT i := 2 TO up_knots BY 1; sum := sum + knot_mult[i];

END_REPEAT;

IF (degree < 1) OR (up_knots < 2) OR (up_cp < degree) OR (sum <> ( degree + up_cp + 2)) THEN

533

ГОСТ Р ИСО 10303-216—2023

result := FALSE; RETURN(result); END_IF;

к := knot_mult[1];

IF (k < 1) OR (k > (degree + 1)) THEN result := FALSE;

RETURN(result);

END_IF;

REPEAT i := 2 TO up_knots BY 1;

IF (knot_mult[i] < 1) OR (knots[i] <= knots [i - 1]) THEN result := FALSE;

RETURN(result);

END_IF;

к := knot_mult[i];

IF (i < up_knots) AND (k > degree) THEN result := FALSE;

RETURN(result);

END_IF;

IF (i = up_knots) AND (k > (degree + 1)) THEN result := FALSE;

RETURN(result);

END_IF;

END_REPEAT;

RETURN(result);

END_FUNCTION; -- constraints_param_b_spline

FUNCTION cross_product( argl, arg2: direction ): vector;

LOCAL

v2 : LIST [3:3] OF REAL; vl : LIST [3:3] OF REAL; mag : REAL;

res : direction; result : vector; END_LOCAL;

IF (NOT EXISTS(argl)) OR (argl.dim = 2) OR (NOT EXISTS(arg2)) OR (arg2.dim = 2) THEN RETURN(?) ;

ELSE BEGIN vl := normalise(argl).direction_ratios; v2 := normalise(arg2).direction_ratios; res := dummy_gri || direction([(vl[2] * v2[3]) - (vl[3] * v2[2]),( vl[3] * v2[l]) - (vl[l] * v2[3] ) , (vl[1] * v2[2]) - (vl[2] * v2 [ 1 ] ) ] ) ; mag := 0;

REPEAT i := 1 TO 3 BY 1;

mag := mag + (res.direction_ratios[i] * res.direction_ratios[i]); END_REPEAT;

IF mag > 0 THEN result := dummy_gri || vector(res,SQRT(mag)) ; ELSE result := dummy_gri || vector(argl,0);

END_IF;

RETURN(result); END;

END_IF;

END_FUNCTION; -- cross_product

534

ГОСТ Р ИСО 10303-216—2023

FUNCTION curve_weights_positive( b: rational_b_spline_curve ): BOOLEAN;

LOCAL

result : BOOLEAN := TRUE;

END_LOCAL;

REPEAT i := 0 TO b.upper_index_on_control_points BY 1;

IF b.weights[i] <= 0 THEN result := FALSE; RETURN(result);

END_IF;

END_REPEAT;

RETURN(result);

END_FUNCTION; — curve_weights_positive

FUNCTION derive_dimensional_exponents( x: unit

): dimensional_exponents;

LOCAL

result : dimensional_exponents := dimensional_exponents(0,0,0,0,0,0,0);

END_LOCAL;

IF 'SHIP_MOULDED_FORM_SCHEMA.DERIVED_UNIT' IN TYPEOF(x) THEN

REPEAT i := LOINDEX(x.elements) TO HIINDEX(x.elements) BY 1; result.length_exponent := result.length_exponent + (x.elements[i].exponent * x.elements[i].unit.dimensions.length_exponent); result.mass_exponent := result.mass_exponent + (x.elements[i]. exponent * x.elements[i].unit.dimensions.mass_exponent); result.time_exponent := result.time_exponent + (x.elements[i].exponent * x.elements[i].unit.dimensions.time_exponent); result.electric_current_exponent := result. electric_current_exponent + (x.elements[i].exponent * x. elements[i].unit.dimensions.electric_current_exponent); result.thermodynamic_temperature_exponent := result. thermodynamic_temperature_exponent + (x.elements[i].exponent * x.elements[i].unit.dimensions.thermodynamic_temperature_exponent); result.amount_of_substance_exponent := result. amount_of_substance_exponent + (x.elements[i].exponent * x.elements[i].unit.dimensions.amount_of_substance_exponent); result.luminous_intensity_exponent := result. luminous_intensity_exponent + (x.elements[i].exponent * x.elements[i].unit.dimensions.luminous_intensity_exponent);

END_REPEAT;

ELSE result := x.dimensions;

END_IF;

RETURN(result);

END_FUNCTION; -- derive_dimensional_exponents

FUNCTION dimension_of(

item: geometric_representation_item ): dimension_count;

LOCAL

x : SET OF representation;

у : representation_context; dim : dimension_count;

END_LOCAL;

IF 'SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT' IN TYPEOF(item)

THEN

dim := SIZEOF(item\cartesian_point.coordinates);

535

ГОСТ Р ИСО 10303-216—2023

RETURN(dim);

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.DIRECTION' IN TYPEOF(item) THEN dim := SIZEOF(item\direction.direction_ratios);

RETURN(dim);

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.VECTOR' IN TYPEOF(item) THEN dim := SIZEOF(item\vector.orientation\direction.direction_ratios); RETURN(dim);

END_IF;

x := using_representations(item);

у := x[1].context_of_items;

dim := y\geometric_representation_context.coordinate_space_dimension; RETURN(dim);

END_FUNCTION; -- dimension_of

FUNCTION dimensions_for_si_unit( n: si_unit_name

) : dimensional_exponents;

CASE n OF

metre

gram second

ampere kelvin mole candela radian steradian hertz newton pascal joule watt coulomb volt farad ohm siemens weber tesla henry

degree_celsius lumen lux

becquerel gray sievert OTHERWISE

END_CASE;

: RETURN(dimensional_exponents(1,0,0,0,0,0,0));

: RETURN(dimensional_exponents(0,1,0,0,0,0,0));

: RETURN(dimensional_exponents(0,0,1,0,0,0,0));

: RETURN(dimensional_exponents(0,0,0,1,0,0,0));

: RETURN(dimensional_exponents (0,0,0,0,1,0,0));

RETURN(dimensional_exponents(0,0,0,0,0,1,0));

: RETURN(dimensional_exponents(0,0,0,0,0,0,1));

: RETURN(dimensional_exponents(0,0,0,0,0,0,0));

: RETURN(dimensional_exponents(0,0,0,0,0,0,0));

: RETURN(dimensional_exponents(0,0, -1,0,0,0, 0)) ;

: RETURN(dimensional_exponents(1,1,-2,0,0,0,0));

: RETURN(dimensional_exponents(-1,1,-2,0,0,0,0));

: RETURN(dimensional_exponents(2,1,-2,0,0,0,0));

: RETURN(dimensional_exponents(2,1,-3,0,0,0,0));

: RETURN(dimensional_exponents(0,0,1,1,0,0,0));

: RETURN(dimensional_exponents(2,1,-3,-1,0,0,0));

: RETURN(dimensional_exponents(-2,-1,4,1,0,0,0));

: RETURN(dimensional_exponents(2,1,-3,-2,0,0,0));

: RETURN(dimensional_exponents (-2,-1,3,2,0,0,0));

: RETURN(dimensional_exponents(2,1,-2,-1,0,0,0));

: RETURN(dimensional_exponents(0,1,-2,-1,0,0,0));

: RETURN(dimensional_exponents(2,1,-2,-2,0,0,0));

: RETURN(dimensional_exponents (0,0,0,0,1,0,0));

: RETURN(dimensional_exponents (0,0,0,0,0,0,1));

: RETURN(dimensional_exponents (-2,0,0,0,0,0,1)) ;

: RETURN(dimensional_exponents(0,0,-1,0,0,0,0));

: RETURN(dimensional_exponents(2,0,-2,0,0,0,0));

: RETURN(dimensional_exponents(2,0,-2,0,0,0,0));

: RETURN(?) ;

END_FUNCTION; -- dimensions_for_si_unit

FUNCTION dot_product( argl, arg2: direction ): REAL;

LOCAL

ndim : INTEGER; scalar : REAL; vecl : direction; vec2 : direction;

END LOCAL;

536

ГОСТ Р ИСО 10303-216—2023

IF (NOT EXISTS(argl)) OR (NOT EXISTS(arg2)) THEN scalar := ?;

ELSE

IF argl.dim <> arg2.dim THEN scalar := ?;

ELSE BEGIN vecl := normalise(argl); vec2 := normalise(arg2); ndim := argl.dim; scalar := 0;

REPEAT i := 1 TO ndim BY 1;

scalar := scalar + (vecl.direction_ratios[i] * vec2. direction_ratios [i]);

END_REPEAT;

END;

END_IF;

END_IF;

RETURN(scalar) ;

END_FUNCTION; — dot_product

FUNCTION edge_reversed( an_edge: edge ): oriented_edge; LOCAL the_reverse : oriented_edge;

END_LOCAL;

IF 'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_EDGE' IN TYPEOF(an_edge) THEN the_reverse := dummy_tri || edge(an_edge.edge_end,an_edge.edge_start)

II oriented_edge(an_edge\oriented_edge.edge_element,NOT an_edge\ oriented_edge.orientation);

ELSE the_reverse := dummy_tri || edge(an_edge.edge_end,an_edge.edge_start) II oriented_edge(an_edge,FALSE);

END_IF;

RETURN(the_reverse);

END_FUNCTION; -- edge_reversed

FUNCTION face_bound_reversed( a_face_bound: face_bound ): face_bound; LOCAL the_reverse : face_bound;

END_LOCAL;

IF 'SHIP_MOULDED_FORM_SCHEMA.FACE_OUTER_BOUND' IN TYPEOF(a_face_bound) THEN the_reverse := dummy_tri || face_bound(a_face_bound\face_bound.bound, NOT a_face_bound\face_bound.orientation) || face_outer_bound() ; ELSE the_reverse := dummy_tri || face_bound(a_face_bound.bound,NOT a_face_bound.orientation) ;

END_IF;

RETURN(the_reverse);

END_FUNCTION; -- face_bound_reversed

537

ГОСТ Р ИСО 10303-216—2023

FUNCTION face_reversed( a_face: face ): oriented_face; LOCAL the_reverse : oriented_face;

END_LOCAL;

IF 'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_FACE' IN TYPEOF(a_face) THEN the_reverse := dummy_tri || face(set_of_topology_reversed(a_face.bounds)) |I oriented_face(a_face\oriented_face.face_element,NOT a_face\oriented_face.orientation);

ELSE the_reverse := dummy_tri || face(set_of_topology_reversed(a_face.bounds)) || oriented_face(a_face,FALSE); END_IF;

RETURN(the_reverse);

END_FUNCTION; — face_reversed

FUNCTION first_proj_axis( z_axis, arg: direction ): direction;

LOCAL x_vec : vector; v : direction; z : direction; x_axis : direction;

END_LOCAL;

IF NOT EXISTS(z_axis) THEN RETURN(?) ;

ELSE z := normalise(z_axis); IF NOT EXISTS(arg) THEN IF z.direction_ratios <> [1,0,0] THEN v := dummy_gri || direction([1,0,0]); ELSE v := dummy_gri || direction([0,1,0]); END_IF;

ELSE

IF arg.dim <> 3 THEN RETURN(?);

END_IF;

IF cross_product(arg,z).magnitude = 0 THEN RETURN (?);

ELSE v := normalise(arg); END_IF;

END_IF;

x_vec := scalar_times_vector(dot_product(v,z),z); x_axis := vector_difference(v,x_vec).orientation; x_axis := normalise(x_axis);

END_IF;

RETURN(x_axis);

END_FUNCTION; -- first_proj_axis

FUNCTION get_basis_surface( c: curve_on_surface ): SET [0:2] OF surface; LOCAL surfs : SET [0:2] OF surface;

538

ГОСТ Р ИСО 10303-216—2023

n : INTEGER;

END_LOCAL;

surfs := [ ] ;

IF ’SHIP_MOULDED_FORM_SCHEMA.PCURVE’ IN TYPEOF(c) THEN surfs := [c\pcurve.basis_surface];

ELSE

IF 'SHIP_MOULDED_FORM_SCHEMA.SURFACE_CURVE' IN TYPEOF(c) THEN n := SIZEOF(c\surface_curve.associated_geometry);

REPEAT i := 1 TO n BY 1;

surfs := surfs + associated_surface(c\surface_curve. associated_geometry[i]);

END_REPEAT;

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF(c)

THEN

n := SIZEOF(c\composite_curve.segments);

surfs := get_basis_surface(c\composite_curve.segments[1].parent_curve); IF n > 1 THEN

REPEAT i := 2 TO n BY 1; surfs := surfs * get_basis_surface(c\composite_curve.segments[i].parent_curve);

END_REPEAT;

END_IF;

END_IF;

RETURN(surfs) ;

END_FUNCTION; — get_basis_surface

FUNCTION get_description_value( obj: description_attribute_select ): text;

LOCAL description_bag : BAG OF description_attribute := USEDIN(obj, 'SHIP_MOULDED_FORM_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.' + 'DESCRIBED_ITEM');

END_LOCAL;

IF SIZEOF(description_bag) = 1 THEN

RETURN(description_bag[1].attribute_value); ELSE

RETURN(?);

END_IF;

END_FUNCTION; -- get_description_value

FUNCTION get_id_value( obj: id_attribute_select ): identifier;

LOCAL id_bag : BAG OF id_attribute := USEDIN(obj, 'SHIP_MOULDED_FORM_SCHEMA.' + 'ID_ATTRIBUTE.' + 'IDENTIFIED_ITEM');

END_LOCAL;

IF SIZEOF(id_bag) = 1 THEN

RETURN(id_bag[1].attribute_value); ELSE

RETURN(?);

END_IF;

END_FUNCTION; — get_id_value

539

ГОСТ Р ИСО 10303-216—2023

FUNCTION get_name_value( obj: name_attribute_select ): label; LOCAL name_bag : BAG OF name_attribute := USEDIN (obj, 'SHIP_MOULDED_FORM_SCHEMA.' + ’NAME_ATTRIBUTE.' + 'NAMED_ITEM');

END_LOCAL;

IF SIZEOF(name_bag) = 1 THEN

RETURN(name_bag[1].attribute_value); ELSE

RETURN(?);

END_IF;

END_FUNCTION; -- get_name_value

FUNCTION get_role( obj: role_select ): object_role; LOCAL role_bag : BAG OF role_association := USEDIN(obj, 'SHIP_MOULDED_FORM_SCHEMA.' + 'ROLE_ASSOCIATION.' + 'ITEM_WITH_ROLE'); END_LOCAL;

IF SIZEOF(role_bag) = 1 THEN RETURN(role_bag[1].role); ELSE RETURN (?);

END_IF;

END_FUNCTION; — get_role

FUNCTION item_in_context( item: representation_item; cntxt: representation_context ): BOOLEAN; LOCAL у : BAG OF representation_item; END_LOCAL; IF

SIZEOF(USEDIN(item,'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION.ITEMS') * cntxt.representations_in_context) > 0 THEN RETURN(TRUE); ELSE у := QUERY ( z <* USEDIN(item,'') | ( 'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION_ITEM' IN TYPEOF(z)) ); IF SIZEOF(y) > 0 THEN REPEAT i := 1 TO HIINDEX(y) BY 1;

IF item_in_context(y[i],cntxt) THEN RETURN(TRUE);

END_IF; END_REPEAT; END_IF;

END_IF;

RETURN(FALSE);

END_FUNCTION; -- item_in_context

FUNCTION leap_year( year: year_number ): BOOLEAN;

IF (((year MOD 4) = 0) AND ((year MOD 100) <> 0)) OR ((year MOD 400) = 0) THEN RETURN(TRUE);

540

ГОСТ Р ИСО 10303-216—2023

ELSE

RETURN(FALSE);

END_IF;

END_FUNCTION; — leap_year

FUNCTION 1ist_face_loops( f: face

) : LIST [0: ?] OF loop; LOCAL

loops : LIST [0:?] OF loop := [];

END_LOCAL;

REPEAT i := 1 TO SIZEOF(f.bounds) BY 1;

loops := loops + f.bounds[i].bound;

END_REPEAT;

RETURN(loops);

END_FUNCTION; — list_face_loops

FUNCTION list_of_topology_reversed( a_list: list_of_reversible_topology_item ): list_of_reversible_topology_item; LOCAL

the_reverse : list_of_reversible_topology_item;

END_LOCAL;

the_reverse := [];

REPEAT i := 1 TO SIZEOF(a_list) BY 1;

the_reverse := topology_reversed(a_list[i]) + the_reverse;

END_REPEAT;

RETURN(the_reverse);

END_FUNCTION; -- list_of_topology_reversed

FUNCTION list_to_array(

lis: LIST [0:?] OF GENERIC:t;

low: INTEGER; u: INTEGER

): ARRAY OF GENERIC:t; LOCAL

n : INTEGER;

res : ARRAY [low:u] OF GENERIC:t;

END_LOCAL;

n := SIZEOF(lis);

IF n <> ((u - low) + 1) THEN RETURN (?) ;

ELSE

res := [lis [ 1]] ;

REPEAT i := 2 TO n BY 1;

res[(low + i) - 1] := lis[i];

END_REPEAT;

RETURN(res);

END_IF;

END_FUNCTION; -- list_to_array

FUNCTION list_to_set(

1: LIST [0:?] OF GENERIC:t

): SET OF GENERIC:t; LOCAL

s : SET OF GENERIC:t := [];

END_LOCAL;

REPEAT i := 1 TO SIZEOF(1) BY 1;

541

ГОСТ Р ИСО 10303-216—2023

s : = s + 1 [ i ];

END_REPEAT;

RETURN(s);

END_FUNCTION; — list_to_set

FUNCTION make_array_of_array(

lis: LIST [1:?] OF LIST [1:?] OF GENERIC:t;

lowl: INTEGER;

ul: INTEGER;

low2: INTEGER;

u2: INTEGER

): ARRAY OF ARRAY OF GENERIC:t; LOCAL

res : ARRAY [lowl:ul] OF ARRAY [Iow2:u2] OF GENERIC:t;

END_LOCAL;

IF ((ul - Lowl) + 1) <> SIZEOF(lis) THEN

RETURN(?) ;

END__ IF;

IF ((u2 - low2) + 1) <> SIZEOF(lis[l]) THEN

RETURN(?);

END—IF;

res := [list—to_array(lis[1],Low2,u2)];

REPEAT i := 2 TO HIINDEX(lis) BY 1;

IF ((u2 - low2) + 1) <> SIZEOF(lis[i]) THEN RETURN (?) ;

END—IF;

res[(lowl + i) - 1] := list_to_array(lis[i],low2,u2);

END_REPEAT;

RETURN(res);

END_FUNCTION; -- make_array_of_array

FUNCTION mixed_loop_type_set(

1: SET [0:?] OF loop

): LOGICAL;

LOCAL

poly_loop_type : LOGICAL;

END_LOCAL;

IF SIZEOF(1) <= 1 THEN

RETURN(FALSE);

END_IF;

poly_loop_type := 'SHIP_MOULDED_FORM_SCHEMA.POLY_LOOP' IN

TYPEOF(1[1]);

REPEAT i := 2 TO SIZEOF(1) BY 1;

IF ('SHIP_MOULDED_FORM_SCHEMA.POLY_LOOP' IN TYPEOF(1[i])) <> poly_loop_type THEN RETURN(TRUE);

END_IF;

END_REPEAT;

RETURN(FALSE);

END_FUNCTION; -- mixed_loop_type_set

FUNCTION nmsf_curve_check( cv: representation_item ): BOOLEAN;

IF SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.BOUNDED_CURVE',

'SHIP_MOULDED_FORM_SCHEMA.CONIC,

'SHIP_MOULDED_FORM_SCHEMA.CURVE_REPLICA',

'SHIP_MOULDED_FORM_SCHEMA.LINE',

'SHIP_MOULDED_FORM_SCHEMA.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN

542

ГОСТ Р ИСО 10303-216—2023

RETURN(FALSE);

ELSE

IF (('SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_CURVE' IN TYPEOF(cv))

AND (cv\b_spline_curve.self_intersect = FALSE)) OR (cv\b_spline_curve.self_intersect = UNKNOWN) THEN RETURN(TRUE);

ELSE

IF SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.CONIC ,

'SHIP_MOULDED_FORM_SCHEMA.LINE'] * TYPEOF(cv)) = 1 THEN RETURN(TRUE); ELSE

IF 'SHIP_MOULDED_FORM_SCHEMA.CURVE_REPLICA' IN TYPEOF(cv)

THEN

RETURN(nmsf_curve_check(cv\curve_replica.parent_curve)); ELSE

IF ('SHIP_MOULDED_FORM_SCHEMA.OFFSET_CURVE_3D' IN TYPEOF(cv))

AND ( (cv\offset_curve_3d.self_intersect = FALSE) OR

(cv\offset_curve_3d.self_intersect = UNKNOWN)) AND (NOT( 'SHIP_MOULDED_FORM_SCHEMA.POLYLINE' IN TYPEOF(cv\ offset_curve_3d.basis_curve))) THEN

RETURN(nmsf_curve_check(cv\offset_curve_3d.basis_curve));

ELSE

IF 'SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN TYPEOF(cv) THEN

RETURN(nmsf_curve_check(cv\pcurve.reference_to_curve\ representation.items[1]) AND nmsf_surface_check(cv\pcurve.basis_surface));

ELSE

IF 'SHIP_MOULDED_FORM_SCHEMA.SURFACE_CURVE' IN TYPEOF(cv)

THEN

IF nmsf_curve_check(cv\surface_curve.curve_3d) THEN

REPEAT i := 1 TO SIZEOF(cv\surface_curve.associated_geometry) BY 1; IF 'SHIP_MOULDED_FORM_SCHEMA.SURFACE' IN

TYPEOF(cv\surface_curve.associated_geometry[i]) THEN

IF NOT nmsf_surface_check(cv\surface_curve. associated_geometry[i]) THEN RETURN(FALSE);

END_IF;

ELSE

IF 'SHIP_MOULDED_FORM_SCHEMA.PCURVE' IN TYPEOF(cv\surface_curve.associated_geometry[i] ) THEN

IF NOT nmsf_curve_check(cv\surface_curve. associated_geometry[i]) THEN RETURN(FALSE);

END_IF;

END_IF;

END_IF;

END_REPEAT;

RETURN(TRUE);

END_IF; ELSE IF 'SHIP_MOULDED_FORM_SCHEMA.POLYLINE' IN TYPEOF(cv) THEN

IF SIZEOF(cv\polyline.points) >= 3 THEN RETURN(TRUE);

END_IF;

END_IF;

END_IF;

END IF;

543

ГОСТ Р ИСО 10303-216—2023

END_IF; END_IF; END_IF; END_IF;

END_IF;

RETURN(FALSE);

END_FUNCTION; -- nmsf_curve_check

FUNCTION nmsf_surface_check( surf: surface ): BOOLEAN; IF 'SHIP_MOULDED_FORM_SCHEMA.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN RETURN(TRUE); ELSE IF 'SHIP_MOULDED_FORM_SCHEMA.SWEPT_SURFACE' IN TYPEOF(surf) THEN RETURN(nmsf_curve_check(surf\swept_surface.swept_curve)); ELSE IF (('SHIP_MOULDED_FORM_SCHEMA.OFFSET_SURFACE' IN TYPEOF(surf)) AND (surf\оffset_surface.se1f_intersect = FALSE)) OR (surf\offset_surface.se1f_intersect = UNKNOWN) THEN RETURN(nmsf_surface_check(surf\offset_surface.basis_surface)); ELSE IF 'SHIP_MOULDED_FORM_SCHEMA.SURFACE_REPLICA' IN TYPEOF(surf) THEN RETURN(nmsf_surface_check(surf\surface_replica.parent_surface)); ELSE IF (('SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_SURFACE' IN

TYPEOF(surf)) AND (surf\b_spline_surface.se1f_intersect = FALSE)) OR (surf\t>_spline_surface . seif_intersect = UNKNOWN) THEN RETURN(TRUE);

END_IF;

END_IF;

END_IF;

END_IF;

END_IF;

RETURN(FALSE);

END_FUNCTION; -- nmsf_surface_check

FUNCTION normalise( arg: vector_or_direction ): vector_or_direction; LOCAL ndim : INTEGER; v : direction; vec : vector; mag : REAL; result : vector_or_direction; END_LOCAL; IF NOT EXISTS(arg) THEN result := ?; ELSE ndim := arg.dim; IF 'SHIP_MOULDED_FORM_SCHEMA.VECTOR' IN TYPEOF(arg) THEN BEGIN v := dummy_gri || direction(arg.orientation.direction_ratios);

544

ГОСТ Р ИСО 10303-216—2023

IF arg.magnitude = 0 THEN

RETURN (?) ;

ELSE

vec := dummy_gri || vector(v,l);

END_IF;

END;

ELSE

v := dummy_gri || direction(arg.direction_ratios);

END_IF;

mag := 0;

REPEAT i := 1 TO ndim BY 1;

mag := mag + (v.direction_ratios[i] *

v.direction_ratios[i]) ;

END_REPEAT;

IF mag > 0 THEN

mag := SQRT(mag);

REPEAT i := 1 TO ndim BY 1;

v.direction_ratios[i] := v.direction_ratios[i] / mag; END_REPEAT;

IF 'SHIP_MOULDED_FORM_SCHEMA.VECTOR' IN TYPEOF(arg) THEN vec.orientation := v; result := vec;

ELSE

result := v;

END_IF;

ELSE

RETURN (?);

END_IF;

END_IF;

RETURN(result);

END_FUNCTION; — normalize

FUNCTION open_shell_reversed(

a_shell: open_shell

): oriented_open_shell;

LOCAL

the_reverse : oriented_open_shell;

END_LOCAL;

IF 'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_OPEN_SHELL' IN

TYPEOF(a_shell)

THEN

the_reverse := dummy_tri || connected_face_set(a_shell\ connected_face_set.cfs_faces) || open_shell() ||

oriented_open_shell(a_shell\oriented_open_shell.open_shell_element,NOT a_shell\oriented_open_shell.orientation);

ELSE

the_reverse := dummy_tri || connected_face_set(a_shell\

connected_face_set.cfs_faces) I I open_shell() || oriented_open_shell(a_shell,FALSE);

END_IF;

RETURN(the_reverse);

END_FUNCTION; -- open_shell_reversed

FUNCTION orthogonal_complement(

vec: direction

): direction;

LOCAL

result : direction;

END_LOCAL;

IF (vec.dim <> 2) OR (NOT EXISTS(vec)) THEN

545

ГОСТ Р ИСО 10303-216—2023

RETURN(?) ;

ELSE

result := dummy_gri ||

direction([—vec.direction_ratios[2], vec. direction_ratios[1]]);

RETURN(result);

END_IF;

END_FUNCTION; — orthogonal_complement

FUNCTION path_head_to_tail( a_path: path

): BOOLEAN;

LOCAL

n : INTEGER;

p : BOOLEAN := TRUE;

END_LOCAL;

n := SIZEOF(a_path.edge_list);

REPEAT i := 2 TO n BY 1;

p := p AND (a_path.edge_list[i - l].edge_end :=: a_path.edge_list[i].edge_start);

END_REPEAT;

RETURN(p) ;

END_FUNCTION; — path_head_to_tail

FUNCTION path_reversed( a_path: path ): oriented_path; LOCAL the_reverse : oriented_path;

END_LOCAL;

IF 'SHIP_MOULDED_FORM_SCHEMA.ORIENTED_PATH’ IN TYPEOF(a_path) THEN the_reverse := dummy_tri || path(list_of_topology_reversed(a_path.edge_list)) I I oriented_path(a_path\oriented_path.path_e1ement, NOT a_path\oriented_path.orientation);

ELSE the_reverse := dummy_tri || path(1i st_o f_topology_reve rsed(a_path. edge_list)) || oriented_path(a_path,FALSE);

END_IF;

RETURN(the_reverse);

END_FUNCTION; — path_reversed

FUNCTION scalar_times_vector( scalar: REAL;

vec: vector_or_direction ): vector;

LOCAL v : direction; mag : REAL; result : vector;

END_LOCAL;

IF (NOT EXISTS(scalar)) OR (NOT EXISTS(vec)) THEN RETURN(?) ;

ELSE

IF 'SHIP_MOULDED_FORM_SCHEMA.VECTOR' IN TYPEOF(vec) THEN v := dummy_gri || direction(vec.orientation.direction_ratios);

546

ГОСТ Р ИСО 10303-216—2023

mag := scalar * vec.magnitude; ELSE

v := dummy_gri || direction(vec.direction_ratios); mag := scalar;

END_IF;

IF mag < 0 THEN

REPEAT i := 1 TO SIZEOF(v.direction_ratios) BY 1; v.direction_ratios[i] := -v.direction_ratios[i];

END_REPEAT; mag := -mag; END_IF; result := dummy_gri || vector(normalise(v),mag);

END_IF;

RETURN(result);

END_FUNCTION; -- scalar_times_vector

FUNCTION second_proj_axis( z_axis, x_axis, arg: direction ): direction;

LOCAL temp : vector; v : direction; y_axis : vector;

END_LOCAL;

IF NOT EXISTS(arg) THEN

v := dummy_gri || direction([0,1,0]); ELSE

v := arg;

END_IF;

temp := sca1ar_times_vector(dot_product(v,z_axis),z_axis); y_axis := vector_difference(v,temp);

temp := scalar_times_vector(dot_product(v,x_axis),x_axis); y_axis := vector_difference(y_axis,temp);

y_axis := normalise(y_axis);

RETURN(y_axis.orientation);

END_FUNCTION; -- second_proj_axis

FUNCTION set_of_topology_reversed( a_set: set_of_reversible_topology_item ): set_of_reversible_topology_item; LOCAL

the_reverse : set_of_reversible_topology_item;

END_LOCAL;

the_reverse := [];

REPEAT i := 1 TO SIZEOF(a_set) BY 1; the_reverse := the_reverse + topology_reversed(a_set[i]);

END_REPEAT;

RETURN(the_reverse);

END_FUNCTION; -- set_of_topology_reversed

FUNCTION shell_reversed( a_shell: shell ): shell;

IF 'SHIP_MOULDED_FORM_SCHEMA.OPEN_SHELL' IN TYPEOF(a_shell) THEN RETURN(open_shell_reversed(a_shell));

ELSE

IF 'SHIP_MOULDED_FORM_SCHEMA.CLOSED_SHELL' IN TYPEOF(a_shell) THEN

RETURN(closed shell reversed(a shell));

547

ГОСТ Р ИСО 10303-216—2023

ELSE

RETURN (?) ;

END_IF;

END_IF;

END_FUNCTION; -- shell_reversed

FUNCTION surface_weights_positive( b: rational_b_spline_surface ): BOOLEAN;

LOCAL

result : BOOLEAN := TRUE;

END_LOCAL;

REPEAT i := 0 TO b.u_upper BY 1;

REPEAT j := 0 TO b.v_upper BY 1;

IF b.weights[i][j] <= 0 THEN result := FALSE;

RETURN(result);

END_IF;

END_REPEAT;

END_REPEAT;

RETURN(result);

END_FUNCTION; — surface_weights_positive

FUNCTION topology_reversed( an_item: reversible_topology ): reversible_topology;

IF 'SHIP_MOULDED_FORM_SCHEMA.EDGE' IN TYPEOF(an_item) THEN RETURN(edge_reversed(an_item));

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.PATH' IN TYPEOF(an_item) THEN RETURN(path_reversed(an_item));

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.FACE_BOUND' IN TYPEOF(an_item) THEN RETURN(face_bound_reversed(an_item));

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.FACE' IN TYPEOF(an_item) THEN RETURN(face_reversed(an_item));

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.SHELL' IN TYPEOF(an_item) THEN RETURN(shell_reversed(an_item));

END_IF;

IF 'SET' IN TYPEOF(an_item) THEN

RETURN(set_of_topology_reversed(an_item));

END_IF;

IF 'LIST' IN TYPEOF(an_item) THEN

RETURN(list_of_topology_reversed(an_item));

END_IF;

RETURN(?) ;

END_FUNCTION; -- topology_reversed

FUNCTION using_items(

item: founded_item_select;

checked_items: SET OF founded_item_select

): SET OF founded_item_select; LOCAL

next_items : SET OF founded_item_select;

new_check_iterns : SET OF founded_item_select; result_items : SET OF founded_item_select;

END LOCAL;

548

ГОСТ Р ИСО 10303-216—2023

result-items := [];

new_check_items := checked_items + item; next_items := QUERY ( z <* bag_to_set(USEDIN(item,'')) | (( 'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION-ITEM' IN TYPEOF(z)) OR ('SHIP_MOULDED_FORM—SCHEMA.FOUNDED—ITEM' IN TYPEOF(z))) ); IF SIZEOF(next_items) > 0 THEN REPEAT i := 1 TO HIINDEX(next—items) BY 1;

IF NOT (next—items[i] IN new_check_items) THEN result—items := result—items + next_items[i] + using_iterns(next_iterns[i],new_check_iterns);

END_IF; END_REPEAT; END—IF;

RETURN(result—items);

END—FUNCTION; -- using_items

FUNCTION using_representations( item: founded_item_select ): SET OF representation; LOCAL results : SET OF representation; intermediate—items : SET OF founded_item_select; result—bag : BAG OF representation;

END_LOCAL; results := [ ] ; result_bag := USEDIN(item, 'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION.ITEMS'); IF SIZEOF(result_bag) > 0 THEN REPEAT i := 1 TO HIINDEX(result_bag) BY 1; results := results + result—bag[i];

END_REPEAT;

END—IF;

intermediate_items := using_items(item,[]);

IF SIZEOF(intermediate_items) > 0 THEN REPEAT i := 1 TO HIINDEX(intermediate_items) BY 1; result—bag := USEDIN(intermediate—items[i], 'SHIP_MOULDED_FORM_SCHEMA.REPRESENTATION.ITEMS'); IF SIZEOF(result_bag) > 0 THEN

REPEAT j := 1 TO HIINDEX(result_bag) BY 1; results := results + resu1t_bag[j];

END_REPEAT;

END-IF; END_REPEAT; END_IF; RETURN(results);

END—FUNCTION; — using_representations

FUNCTION valid—calendar_date( date: calendar_date ): LOGICAL;

CASE date.month—component OF

1 : RETURN((1 <= date.day_component) AND (date.day_component <= 31)); 2 : BEGIN

IF leap_year(date.year-Component) THEN RETURN((1 <= date.day_component) AND (date.day_component <= 29)); ELSE

RETURN((1 <= date.day_component) AND (date.day_component <= 28)); END_IF;

END;

3 : RETURN((1 <= date.day_component) AND (date.day_component <= 31));

549

ГОСТ Р ИСО 10303-216—2023

4 : RETURN((1 <= date.day_component) AND

5 : RETURN((1 <= date.day_component) AND

6 : RETURN((1 <= date.day_component) AND

7 : RETURN((1 <= date.day_component) AND

8 : RETURN((1 <= date.day_component) AND

9 : RETURN((1 <= date.day_component) AND

(date.day_component <= 30));

(date.day_component <= 31));

(date.day_component <= 30));

(date.day_component <= 31));

(date.day_component <= 31));

(date.day_component <= 30));

10 : RETURN((1 <= date.day_component)

11 : RETURN((1 <= date.day_component)

12 : RETURN((1 <= date.day_component)

AND (date.day_component <= 31))

AND (date.day_component <= 30))

AND (date.day_component <= 31))

END CASE;

RETURN(FALSE);

END_FUNCTION; -- valid_calendar_date

FUNCTION valid_measure_value( m: measure_value ): BOOLEAN;

IF 'REAL' IN TYPEOF(m) THEN RETURN(m > 0) ;

ELSE

IF 'INTEGER' IN TYPEOF(m) THEN RETURN(m > 0);

ELSE

RETURN(TRUE);

END_IF;

END—IF;

END—FUNCTION; -- valid_measure_value

FUNCTION valid_time( time: local_time ): BOOLEAN;

IF EXISTS(time.second—component) THEN RETURN(EXISTS(time.minute_component)); ELSE

RETURN(TRUE);

END_IF;

END_FUNCTION; — valid_time

FUNCTION valid_units( m: measure_with—unit ): BOOLEAN;

IF 'SHIP_MOULDED_FORM_SCHEMA.LENGTH_MEASURE' IN TYPEOF(m. value_component) THEN

IF derive—dimensional—exponents(m.unit—component) <> dimensional—exponents(1,0,0,0,0,0,0) THEN RETURN(FALSE);

END-IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.MASS_MEASURE' IN TYPEOF(m.value_component) THEN

IF derive_dimensional_exponents(m.unit—component) <> dimensional—exponents(0,1,0,0,0,0,0) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.TIME_MEASURE' IN TYPEOF(m.value_component) THEN

IF derive_dimensional_exponents(m.unit—component) <>

550

ГОСТ Р ИСО 10303-216—2023

dimensional_exponents(0,0,1,0,0,0,0) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.ELECTRIC_CURRENT_MEASURE' IN

TYPEOF(m.value_component) THEN

IF derive_dimensional_exponents(m.unit_component) <> dimensional_exponents(0,0,0,1,0,0,0) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.THERMODYNAMIC_TEMPERATURE_MEASURE' IN

TYPEOF(m.value_component) THEN

IF derive_dimensional_exponents(m.unit_component) <> dimensional_exponents(0,0,0,0,1,0,0) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.CELSIUS_TEMPERATURE_MEASURE' IN

TYPEOF(m.value_component) THEN

IF derive_dimensional_exponents(m.unit_component) <> dimensional_exponents(0,0,0,0,1,0,0) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.AMOUNT_OF_SUBSTANCE_MEASURE' IN

TYPEOF(m.value_component) THEN

IF derive_dimensional_exponents(m.unit_component) <> dimensional_exponents(0,0,0,0,0,1,0) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.LUMINOUS_INTENSITY_MEASURE' IN

TYPEOF(m.value_component) THEN

IF derive_dimensional_exponents(m.unit_component) <> dimensional_exponents(0,0,0,0,0,0,1) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.PLANE_ANGLE_MEASURE' IN TYPEOF(m.value_component)

IF derive_dimensional_exponents(m.unit_component) <> dimensional_exponents(0,0,0,0,0,0,0) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.SOLID_ANGLE_MEASURE' IN TYPEOF(m.value_component)

IF derive_dimensional_exponents(m.unit_component) <> dimensional_exponents(0,0,0,0,0,0,0) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.AREA_MEASURE' IN

TYPEOF(m.value_component) THEN

IF derive_dimensional_exponents(m.unit_component) <> dimensional_exponents(2,0,0,0,0,0,0) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.VOLUME_MEASURE' IN TYPEOF(m. value_component) THEN

IF derive_dimensional_exponents(m.unit_component) <>

THEN

THEN

551

ГОСТ Р ИСО 10303-216—2023

dimensional_exponents(3,0,0,0,0,0,0) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.RATIO_MEASURE' IN TYPEOF(m. value_component) THEN

IF derive_dimensional_exponents(m.unit_component) <> dimensional_exponents(0,0,0,0,0,0,0) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.POSITIVE_LENGTH_MEASURE’ IN

TYPEOF(m.value_component) THEN

IF derive_dimensional_exponents(m.unit_component) <> dimensional_exponents(1,0,0,0,0,0,0) THEN RETURN(FALSE);

END_IF;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.POSITIVE_PLANE_ANGLE_MEASURE' IN

TYPEOF(m.value_component) THEN

IF derive_dimensional_exponents(m.unit_component) <> dimensional_exponents(0,0,0,0,0,0,0) THEN RETURN(FALSE);

END_IF;

END_IF;

RETURN(TRUE);

END_FUNCTION; — valid_units

FUNCTION valid_wireframe_edge_curve( crv: curve

): BOOLEAN;

IF SIZEOF(['SHIP_MOULDED_FORM_SCHEMA.LINE',

'SHIP_MOULDED_FORM_SCHEMA.CONIC',

'SHIP_MOULDED_FORM_SCHEMA.B_SPLINE_CURVE',

'SHIP_MOULDED_FORM_SCHEMA.POLYLINE'] * TYPEOF(crv)) = 1 THEN RETURN(TRUE);

ELSE

IF 'SHIP_MOULDED_FORM_SCHEMA.CURVE_REPLICA' IN TYPEOF(crv) THEN

RETURN(valid_wireframe_edge_curve(crv\curve_replica.parent_curve)); ELSE

IF 'SHIP_MOULDED_FORM_SCHEMA.OFFSET_CURVE_3D' IN TYPEOF(crv) THEN

RETURN(valid_wireframe_edge_curve(crv\offset_curve_3d.basis_curve)); END_IF;

END_IF;

END_IF;

RETURN(FALSE);

END_FUNCTION; -- valid_wireframe_edge_curve

FUNCTION valid_wireframe_vertex_point( pnt: point

): BOOLEAN;

IF 'SHIP_MOULDED_FORM_SCHEMA.CARTESIAN_POINT' IN TYPEOF(pnt)

THEN

RETURN(TRUE);

ELSE

IF 'SHIP_MOULDED_FORM_SCHEMA.POINT_REPLICA' IN TYPEOF(pnt) THEN

RETURN(valid_wireframe_vertex_point(pnt\point_replica.parent_pt));

552

ГОСТ Р ИСО 10303-216—2023

END_IF;

END_IF;

RETURN(FALSE);

END_FUNCTION; -- valid_wireframe_vertex_point

FUNCTION vector_difference(

argl, arg2: vector_or_direction ): vector;

LOCAL

ndim : INTEGER;

mag2 : REAL;

magi : REAL;

mag : REAL;

res : direction; vecl : direction; vec2 : direction; result : vector; END_LOCAL;

IF (NOT EXISTS(argl)) OR (NOT EXISTS(arg2)) OR (argl.dim <> arg2.dim) THEN

RETURN(?);

ELSE

BEGIN

IF 'SHIP_MOULDED_FORM_SCHEMA.VECTOR' IN TYPEOF(argl) THEN magi := argl.magnitude; vecl := argl.orientation;

ELSE

magi := 1;

vecl := argl;

END_IF;

IF 'SHIP_MOULDED_FORM_SCHEMA.VECTOR' IN TYPEOF(arg2) THEN mag2 := arg2.magnitude; vec2 := arg2.orientation;

ELSE

mag2 := 1;

vec2 := arg2;

END_IF;

vecl := normalise(vecl); vec2 := normalise(vec2); ndim := SIZEOF(vecl.direction_ratios); mag := 0;

res := dummy_gri || direction(vecl.direction_ratios); REPEAT i := 1 TO ndim BY 1;

res.direction_ratios[i] := (magi * vec1.direction_ratios[i]) + ( mag2 * vec2.direction_ratios[i]);

mag := mag + (res.direction_ratios[i] * res.direction_ratios[i]); END_REPEAT;

IF mag > 0 THEN

result := dummy_gri || vector(res,SQRT(mag)); ELSE result := dummy_gri || vector(vecl,0);

END_IF;

END;

END—IF;

RETURN(result);

END_FUNCTION; -- vector_difference

FUNCTION which_class( t: GENERIC

): LIST OF STRING;

553

ГОСТ Р ИСО 10303-216—2023

LOCAL

class_list : LIST OF STRING := [];

elements : BAG OF applied_classification_assignment;

END_LOCAL;

elements := USEDIN(t,'SHIP_MOULDED_FORM_SCHEMA.APPLIED_CLASSIFICATION_ASSIGNMENT.ITEMS'); REPEAT i := 1 TO HIINDEX(elements) BY 1;

IF elements[i]\classification_assignment.role.name = 'class membership' THEN class_list := class_list + elements[i]\classification_assignment.as s igned_c1ass\group.name;

END_IF;

END_REPEAT;

RETURN(class_list);

END_FUNCTION; — which_class

END_SCHEMA; -- ship_moulded_form_schema

554

ГОСТ Р ИСО 10303-216—2023

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

Сокращенные наименования объектов прикладной интерпретированной модели

В таблице В.1 приведены сокращенные наименования объектов, указанных в ПИМ настоящего стандарта. Требования к использованию сокращенных наименований определены в методах реализации, описанных в ИСО 10303-21, ИСО 10303-22, ISO/TS 10303-28.

Таблица В.1 — Сокращенные наименования объектов ПИМ

Наименование объекта

Сокращенное наименование

ACTION

ACTION

ACTION_ASSIGNMENT

ACTASS

ACTION_METHOD

ACTMTH

ACTION_RELATIONSHIP

ACTRLT

ACTION_REQUEST_ASSIGNMENT

ACRQAS

ACTION_REQUEST_SOLUTION

ACRQSL

ADDRESS

ADDRSS

ADVANCED_FACE

ADVFC

AMOUNT_OF_SUBSTANCE_UNIT

AOSU

APPLICATION_CONTEXT

APPCNT

APPLICATION_CONTEXT_ELEMENT

APCNEL

APPLICATION_PROTOCOL_DEFINITION

APPRDF

APPLIED_ACTION_ASSIGNMENT

APACAS

APPLIED_ACTION_REQUEST_ASSIGNMENT

AARA

APPLIED_APPROVAL_ASSIGNMENT

APAPAS

APPLIED_CLASSIFICATION_ASSIGNMENT

APCLAS

APPLIED_DATE_AND_TIME_ASSIGNMENT

ADATA

APPLIED_DOCUMENT_REFERENCE

APDCRF

APPLIED_EFFECTIVITY_ASSIGNMENT

APEFAS

APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT

AEIA

APPLIED_GROUP_ASSIGNMENT

APGRAS

APPLIED_IDENTIFICATION_ASSIGNMENT

APIDAS

APPLIED_ORGANIZATION_ASSIGNMENT

APORAS

APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT

APAOA

APPLIED_PERSON_ASSIGNMENT

APPRAS

APPROVAL

APPRVL

APPROVAL_ASSIGNMENT

APPASS

APPROVAL_DATE_TIME

APDTTM

APPROVAL_PERSON_ORGAN IZATION

APPROR

APPROVAL_ROLE

APPRL

APPROVAL_STATUS

APPSTT

AXIS1_PLACEMENT

AX1PLC

AXIS2_PLACEMENT_2D

A2PL2D

555

ГОСТ Р ИСО 10303-216—2023

Продолжение таблицы В. 1

Наименование объекта

Сокращенное наименование

AXIS2_PLACEMENT_3D

A2PL3D

B_SPLINE_CURVE

BSPCR

B_SPLINE_CURVE_WITH_KNOTS

BSCWK

B_SPLINE_SURFACE

BSPSR

B_SPLINE_SURFACE_WITH_KNOTS

BSSWK

BEZIER_CURVE

BZRCRV

BEZIER_SURFACE

BZRSRF

BOUNDED_CURVE

BNDCRV

BOUNDED_PCURVE

BNDPCR

BOUNDED_SURFACE

BNDSRF

BOUNDED_SURFACE_CURVE

BNSRCR

CALENDAR_DATE

CLNDT

CARTESIAN_POINT

CRTPNT

CARTESIAN_TRANSFORMATION_OPERATOR

CRTROP

CARTESIAN_TRANSFORMATION_OPERATOR_3D

CTO3

CHARACTERIZED_OBJECT

CHROBJ

CIRCLE

CIRCLE

CLASS

CLASS

CLASSIFICATION_ASSIGNMENT

CLSASS

CLASSIFICATION_ROLE

CLSRL

CLOSED_SHELL

CLSSHL

COMPOSITE_CURVE

CMPCRV

COMPOSITE_CURVE_ON_SURFACE

CCOS

COMPOSITE_CURVE_SEGMENT

CMCRSG

COMPOUND_REPRESENTATION_ITEM

CMRPIT

CONIC

CONIC

CONICAL_SURFACE

CNCSRF

CONNECTED_EDGE_SET

CNEDST

CONNECTED_FACE_SET

CNFCST

CONTEXT_DEPENDENT_UNIT

CNDPUN

CONVERSION_BASED_UNIT

CNBSUN

COORDINATED_UNIVERSAL_TIME_OFFSET

CUTO

CURVE

CURVE

CURVE_REPLICA

CRVRPL

CYLINDRICAL_SURFACE

CYLSRF

DATE

DATE

DATE_AND_TIME

DTANTM

DATE_AND_TIME_ASSIGNMENT

DATA

DATE_TIME_ROLE

DTTMRL

556

Продолжение таблицы В. 1

ГОСТ Р ИСО 10303-216—2023

Наименование объекта

Сокращенное наименование

DEFINITIONAL_REPRESENTATION

DFNRPR

DEGENERATE_PCURVE

DGNPCR

DEGENERATE_TOROIDAL_SURFACE

DGTRSR

DERIVED_UNIT

DRVUNT

DERIVED_UNIT_ELEMENT

DRUNEL

DESCRIPTION_ATTRIBUTE

DSCATT

DESCRIPTIVE_REPRESENTATION_ITEM

DSRPIT

DIMENSIONAL_EXPONENTS

DMNEXP

DIRECTION

DRCTN

DOCUMENT

DCMNT

DOCUMENT_REFERENCE

DCMRFR

DOCUMENT_REPRESENTATION_TYPE

DCRPTY

DOCUMENT_TYPE

DCMTYP

DOCUMENT_USAGE_CONSTRAINT

DCUSCN

EDGE

EDGE

EDGE_BASED_WIREFRAME_MODEL

EBWM

EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION

EBWSR

EDGE_CURVE

EDGCRV

EDGE_LOOP

EDGLP

EFFECTIVITY

EFFCTV

EFFECTIVITY_ASSIGNMENT

EFFASS

ELECTRIC_CURRENT_UNIT

ELCRUN

ELEMENTARY_SURFACE

ELMSRF

ELLIPSE

ELLPS

EVALUATED_DEGENERATE_PCURVE

EVDGPC

EXECUTED_ACTION

EXCACT

EXTERNAL_IDENTIFICATION_ASSIGNMENT

EXIDAS

EXTERNAL_SOURCE

EXTSRC

EXTERNAL_SOURCE_RELATIONSHIP

EXSRRL

EXTERNALLY_DEFINED_ITEM

EXDFIT

FACE

FACE

FACE_BASED_SURFACE_MODEL

FBSM

FACE_BOUND

FCBND

FACE_OUTER_BOUND

FCOTBN

FACE_SURFACE

FCSRF

FACETED_BREP

FCTBR

FOUNDEDJTEM

FNDITM

FUNCTIONALLY_DEFINED_TRANSFORMATION

FNDFTR

GEOMETRIC_CURVE_SET

GMCRST

557

ГОСТ Р ИСО 10303-216—2023

Продолжение таблицы В. 1

Наименование объекта

Сокращенное наименование

GEOMETRIC_REPRESENTATION_CONTEXT

GMRPCN

GEOMETRIC_REPRESENTATION_ITEM

GMRPIT

GEOMETRIC_SET

GMTST

GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT

GC

GLOBAL_UNIT_ASSIGNED_CONTEXT

GUAC

GROUP

GROUP

GROUP_ASSIGNMENT

GRPASS

GROUP_RELATIONSHIP

GRPRLT

HYPERBOLA

HYPRBL

ID_ATTRIBUTE

IDATT

IDENTIFICATION_ASSIGNMENT

IDNASS

IDENTIFICATION_ASSIGNMENT_RELATIONSHIP

IDASRL

IDENTIFICATION_ROLE

IDNRL

INTERSECTION_CURVE

INTCRV

ITEM_DEFINED_TRANSFORMATION

ITDFTR

LENGTH_MEASURE_WITH_UNIT

LMWU

LENGTH_UNIT

LNGUNT

LINE

LINE

LOCAL_TIME

LCLTM

LOOP

LOOP

LUMINOUS_INTENSITY_UNIT

LMINUN

MANIFOLD_SOLID_BREP

MNSLBR

MAPPED_ITEM

MPPITM

MASS_MEASURE_WITH_UNIT

MMWU

MASS_UNIT

MSSUNT

MEASURE_WITH_UNIT

MSWTUN

NAME_ATTRIBUTE

NMATT

NAMED_UNIT

NMDUNT

NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION

NMSSR

OBJECT_ROLE

OBJRL

OFFSET_CURVE_3D

OFCR3D

OFFSET_SURFACE

OFFSRF

OPEN_SHELL

OPNSHL

ORDINAL_DATE

ORDDT

ORGANIZATION

ORGNZT

ORGANIZATION_ASSIGNMENT

ORGASS

ORGANIZATION_ROLE

ORGRL

ORGANIZATIONAL_ADDRESS

ORGADD

ORGANIZATIONAL_PROJECT

ORGPRJ

558

Продолжение таблицы В. 1

ГОСТ Р ИСО 10303-216—2023

Наименование объекта

Сокращенное наименование

ORIENTED_CLOSED_SHELL

ORCLSH

ORIENTED_EDGE

ORNEDG

ORIENTED_FACE

ORNFC

ORIENTED_OPEN_SHELL

OROPSH

ORIENTED_PATH

ORNPTH

ORIENTED_SURFACE

ORNSRF

PARABOLA

PRBL

PARAMETRIC_REPRESENTATION_CONTEXT

PRRPCN

PATH

PATH

PCURVE

PCURVE

PERSON

PERSON

PERSON_AND_ORGANIZATION

PRANOR

PERSON_AND_ORGANIZATION_ASSIGNMENT

PAOA

PERSON_AND_ORGANIZATION_ROLE

PAOR

PERSON_ASSIGNMENT

PRSASS

PERSON_ROLE

PRSRL

PERSONAL_ADDRESS

PRSADD

PLACEMENT

PLCMNT

PLANE

PLANE

PLANE_ANGLE_MEASURE_WITH_UNIT

PAMWU

PLANE_ANGLE_UNIT

PLANUN

POINT

POINT

POINT_ON_CURVE

PNONCR

POINT_ON_SURFACE

PNONSR

POINT_REPLICA

PNTRPL

POLY_LOOP

PLYLP

POLYLINE

PLYLN

PRODUCT

PRDCT

PRODUCT_CATEGORY

PRDCTG

PRODUCT_CATEGORY_RELATIONSHIP

PRCTRL

PRODUCT_CONTEXT

PRDCNT

PRODUCT_DEFINITION

PRDDFN

PRODUCT_DEFINITION_CONTEXT

PRDFCN

PRODUCT_DEFINITION_FORMATION

PRDFFR

PRODUCT_DEFINITION_RELATIONSHIP

PRDFRL

PRODUCT_DEFINITION_SHAPE

PRDFSH

PRODUCT_RELATED_PRODUCT_CATEGORY

PRPC

PROPERTY_DEFINITION

PRPDFN

PROPERTY_DEFINITION_RELATIONSHIP

PRDFR

559

ГОСТ Р ИСО 10303-216—2023

Продолжение таблицы В. 1

Наименование объекта

Сокращенное наименование

PROPERTY_DEFINITION_REPRESENTATION

PRDFRP

QUASI_UNIFORM_CURVE

QSUNCR

QUASI_UNIFORM_SURFACE

QSUNSR

RATIO_UNIT

RTUNT

RATIONAL_B_SPLINE_CURVE

RBSC

RATIONAL_B_SPLINE_SURFACE

RBSS

REPRESENTATION

RPRSNT

REPRESENTATION_CONTEXT

RPRCNT

REPRESENTATIONJTEM

RPRITM

REPRESENTATION_MAP

RPRMP

REPRESENTATION_RELATIONSHIP

RPRRLT

ROLE_ASSOCIATION

RLASS

SEAM_CURVE

SMCRV

SERIAL_NUMBERED_EFFECTIVITY

SRNMEF

SHAPE_ASPECT

SHPASP

SHAPE_DEFINITION_REPRESENTATION

SHDFRP

SHAPE_REPRESENTATION

SHPRPR

SI_UNIT

SUNT

SOLID_ANGLE_MEASURE_WITH_UNIT

SAMWU

SOLID_ANGLE_UNIT

SLANUN

SOLID_MODEL

SLDMDL

SPHERICAL_SURFACE

SPHSRF

SUBFACE

SBFC

SURFACE

SRFC

SURFACE_CURVE

SRFCRV

SURFACE_OF_LINEAR_EXTRUSION

SL

SURFACE_OF_REVOLUTION

SROFRV

SURFACE_REPLICA

SRFRPL

SWEPT_SURFACE

SWPSRF

THERMODYNAMIC_TEMPERATURE_UNIT

THTMUN

TIME_UNIT

TMUNT

TOPOLOGICAL_REPRESENTATIONJTEM

TPRPIT

TOROIDAL_SURFACE

TRDSRF

UNCERTAINTY_MEASURE_WITH_UNIT

UMWU

UNIFORM_CURVE

UNFCRV

UNIFORM_SURFACE

UNFSRF

VALUE_REPRESENTATIONJTEM

VLRPIT

VECTOR

VECTOR

VERSIONED_ACTION_REQUEST

VRACRQ

560

Окончание таблицы В. 1

ГОСТ Р ИСО 10303-216—2023

Наименование объекта

Сокращенное наименование

VERTEX

VERTEX

VERTEX_LOOP

VRTLP

VERTEX_POINT

VRTPNT

WEEK_OF_YEAR_AND_DAY_DATE

WOYADD

561

ГОСТ Р ИСО 10303-216—2023

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

Специальные требования к методам реализации

Метод реализации определяет, какие типы поведения при обмене необходимы относительно настоящего стандарта. Соответствие настоящего стандарта должно быть реализовано в структуре обмена. Файловый формат должен быть закодирован в соответствии с синтаксисом и отображением языка EXPRESS, как определено в ИСО 10303-21, ИСО 10303-28, а также в ПИМ, определенной в приложении А настоящего стандарта. Заголовок структуры обмена должен определять использование настоящего стандарта посредством наименования схемы 'ship moulded form schema'.

С.1 Общие требования

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

Если отправляющая система не предоставляет данных для требуемого строкового значения, препроцессор должен использовать «.UNUSED», или пустую строку ".

Для дальнейшего указания причины отсутствия данных используется следующее соглашение:

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

- строка со значением '.UNUSED.' указывает данные пользователя в обязательном атрибуте, который не управляется отправляющей системой, неизвестен на момент обмена данными или является обязательной информацией ПИМ, не имеющей соответствия в ПЭМ;

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

С.2 Требования к методу реализации, определенному в ИСО 10303-21

Если используется метод реализации ИСО 10303-21, формат файла должен быть закодирован в соответствии с синтаксисом и языковым отображением языка EXPRESS, определенным в ИСО 10303-21.

Элемент FILE_SCHEMA заголовка должен указывать имя используемой схемы EXPRESS и включать идентификатор информации об объекте (см. приложение Е).

Пример — Приведенный ниже экземпляр идентифицирует схему ship_moulded_form:

FILE_SCHEMA (('SHIP_MOULDED_FORM_SCHEMA { 1 0 10303 216 2 1 1} '))

С.З Требования к методу реализации, определенному во 2-м издании ИСО 10303-21

В ИСО 10303-21:2002 добавлена возможность указания конкретного класса соответствия, которому соответствует раздел «Данные файла обмена». Файлы обмена, соответствующие ISO 10303-21 издания 2002 г., должны содержать один или несколько экземпляров сущности Section_context в разделе «Заголовок файла».

Пример — SECTION_CONTEXT ($,('ССГ));

Если в файл обмена включен один раздел данных, то должен быть включен один экземпляр сущности Section_context, а значением атрибута section_context.section должно быть $. Набор значений атрибута section_ context.context_identifiers должен содержать одно значение для идентификации конкретного класса соответствия прикладного протокола, которому соответствуют эти данные.

Значение атрибута должно быть одним из следующих:

- СС1;

- СС2;

-ССЗ;

- СС4;

-СС5.

562

ГОСТ Р ИСО 10303-216—2023

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

Форма заявки о соответствии реализации протоколу

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

Данное приложение представляет собой анкету, которая заполняется реализатором и может использоваться при подготовке к проверке соответствия в испытательной лаборатории. Заполненная форма называется ЗСРП.

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

Вопросы:

1 Для упрощения ссылки, необходим идентификатор изделия или системы, с помощью которого тестируемая реализация STEP (стандарт для обмена данными об изделии) формируется в пакет и/или закупается.

Идентификатор (или наименование) изделия/системы:

2 В настоящем стандарте определено 12 классов. Каждый класс задает подмножество конструктивов ПИМ. Данные классы описываются в настоящем стандарте (см. раздел 6). Для соответствия настоящего стандарта требуется хотя бы один из основных классов соответствия с 1 по 4.

Требуемые классы соответствия (функциональные возможности) — нужное обвести:

класс 1. Поддержка обмена гидростатическими данными;

класс 2. Поддержка обмена базовой геомерией теоретических обводов в форме таблицы ординат;

класс 3. Поддержка обмена класса 2 плюс представления каркасной формы;

класс 4. Поддержка обмена класса 3 плюс представления поверхностной формы;

класс 5. Поддержка обмена класса 4 плюс применимость корпуса.

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

Требуемые формы реализации — нужное обвести:

- структура обмена (ИСО 10303-21);

- структура обмена (ИСО 10303-22);

- структура обмена (ISO/TS 10303-28).

4 Используется ли структура обмена в ISO/TS 10303-28, какая?

Структура обмена ISO/TS 10303-28:

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

Ответ по умолчанию:

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

Обеспечивает ли тестируемая реализация (ТР) некоторую свободу пользователю при изменении и определении статических опций?

Да или Нет

7 Если да, то какие?

(а) Класс(ы) соответствия:

(Ь) Ответ по умолчанию:

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

Эксперт(ы) (испытатель/сертификатор/аккредитатор):

563

ГОСТ Р ИСО 10303-216—2023

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

Регистрация информационного объекта

Е.1 Обозначение документа

Для обеспечения однозначной идентификации информационного объекта в открытой системе настоящему стандарту присвоен идентификатор объекта {iso standard 10303 part(216) version(2)}.

Смысл данного обозначения определен в ИСО/МЭК 8824-1 и описан в ИСО 10303-1.

Е.2 Обозначение схемы

Для обеспечения однозначной идентификации схемы ship_moulded_form_schema в открытой системе полной схеме ship_moulded_form_schema присвоен идентификатор объекта

{iso standard 10303 part(216) version(2) object(1) ship-moulded-form-schema(l)} (см. приложение A).

Смысл данного обозначения определен в ИСО/МЭК 8824-1 и описан в ИСО 10303-1.

564

ГОСТ Р ИСО 10303-216—2023

Приложение F (справочное)

Прикладная функциональная модель

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

ПФМ охватывает виды деятельности, выходящие за рамки данного ПП. В схемах использована измененная нотация IDEF0 [9]. Базовая нотация показана на рисунке F.1. Каждый вид деятельности может быть разбит на части с целью более детального рассмотрения. Если какой-либо вид деятельности разбит на части, то он представлен на отдельном рисунке.

Как и любая модель IDEF0, ПФМ зависит от конкретной точки зрения и цели. Точка зрения ПФМ определяется инженером-технологом. Целью ПФМ является объяснение контекста и области применения данного ПП.

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

Примечание — Точка зрения ПФМ представляет собой глобальный процесс разработки судна. Эта функциональная модель определяет виды деятельности жизненного цикла для всех ПП в области судостроения. Виды деятельности, связанные с жизненным циклом в судостроении, не развернутые в данной функциональной модели, подробно описаны в других прикладных протоколах в области судостроения.

Рисунок F.1 — Основная нотация IDEF0

F.1 Определения и сокращения ПФМ

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

Определения, приведенные в данном приложении, не заменяют определения, приведенные в основном тексте настоящего стандарта.

F.1.1 утвержденный проект (approved design): Состояние передачи проекта для производства и инспекции.

F.1.2 планы расположения (arrangements)*: Отсеки и помещения судна.

Примечание — Любое описание планов расположения будет включать соответствующие определения назначения отсека или помещения.

F.1.3 сборка судна (assemble ship)*: Этап изготовления судна, в ходе которого собираются модульные блоки и дополнительные части.

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

F.1.4 информация об эксплуатационной готовности, надежности и ремонтопригодности (availability, reliability and maintainability information)*: Информация, необходимая для монтажа и планового обслуживания всех компонентов на судне.

F.1.5 основные параметры корпуса (basic hull parameters): Главные размеры и пропорции, основанные на оценках по данным за предыдущие периоды или взятые по предварительным проектным разработкам.

565

ГОСТ Р ИСО 10303-216—2023

F.1.6 бюджет (budget)*: Ограниченные денежные средства на проектирование, строительство и техническое обслуживание судна.

F.1.7 расчет с применением вычислительной гидродинамики (calculate CFD)*: Выполнение расчета движения жидкости вокруг корпуса.

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

F.1.8 расчет стоимости судна (calculate cost of ship)*: Описание формирования документов для переговоров на основе технических данных о продукции и расчет сметной стоимости ее изготовления.

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

F.1.9 расчет гидростатических характеристик (calculate hydrostatic properties): Выполнение расчета теоретической плавучей части судна исходя из его проектных параметров.

F.1.10 свидетельства (certificates)*: Документы, лицензии и разрешения, выданные на готовое судно.

F.1.11 проверка проекта в части правил и нормативов (check design against rules and regulations): Рассмотрение проекта для обеспечения соответствия требованиям национальной и международной классификации.

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

F.1.12 классификационное общество (Classification Society): Организация, которая повышает безопасность человеческой жизни и имущества в море, обеспечивая правила, положения и персонал для оценки и классификации судов в течение их жизненного цикла.

F.1.13 завершение и утверждение проекта машин и механизмов (complete and approve design of machinery)*: Выбор, устройство и утверждение всех машин и механизмов на судне.

F.1.14 завершение и утверждение проекта насыщения и распределительных систем (complete and approve design of outfitting and distribution systems)*: Выбор и утверждение всего необходимого достроечного оборудования.

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

F.1.15 завершение и утверждение проекта конструкции судна (complete and approve design of ship structure)*: Утверждение окончательного проекта судна до начала строительства.

F.1.16 завершение и утверждение проекта судна (complete and approve ship design): Создание, проверка и утверждение данных об изделии проекта судна, необходимых правил и нормативов, документов и классификационных чертежей с использованием предварительного проекта.

Примечание — Результатом этого вида деятельности является утвержденный проект и график изготовления и поставки.

F.1.17 проведение приемочных испытаний (conduct acceptance trials): Окончательные испытания для поставки судна.

F.1.18 выполнение ходовых испытаний подрядчиком (conduct contractor sea trials): Ходовые испытания для проверки соответствия построенного судна контрактным требованиям.

F.1.19 выполненная строевая по шпангоутам (completed sectional area curve): Кривая, построенная путем представления площади каждого поперечного сечения, в виде точки на кривой, через заданные интервалы через корпус по всей длине судна (см. рисунок 43).

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

F.1.20 консультанты (consultants): Организации и учреждения, предоставляющие определенные услуги верфям, судовладельцам и классификационным обществам в течение жизненного цикла судна.

F.1.21 контракт (contract): Юридическое соглашение, документирующее и утверждающее заказ на судно.

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

F.1.22 стоимость (cost)*: Рассчитываемые денежные затраты на судно, основанные на затратах на материалы, труд и накладные расходы.

566

ГОСТ Р ИСО 10303-216—2023

F.1.23 выполнение предварительного проектирования (create preliminary design): Начальный этап проектирования судна с учетом классификационных правил, национальных и международных требований, ограничений на судостроительной верфи, а также требований владельца.

F.1.24 выполнение предварительных планов общего расположения (create preliminary general arrangements)*: Создание начальных планов деления на отсеки исходя из предварительного определения формы корпуса.

F.1.25 создание предварительной формы корпуса (create preliminary hull form): Начальный этап проектирования формы корпуса судна.

Примечание — Первый этап проектирования судна с использованием основных размеров и параметров формы судов-прототипов. Создают один или несколько вариантов предварительной формы судна.

F.1.26 выполнение предварительного проектирования машин и механизмов (create preliminary machinery design)*: Начальный выбор и расположение главных машин и механизмов судна.

Примечание — Включает главную силовую установку, систему валов, энергосистемы и погрузочно-разгрузочное оборудование.

F.1.27 выполнение предварительного проектирования насыщения (create preliminary outfitting design)*: Создание начального проекта корабельного достроечного оборудования.

Примечание — Включает распределительные системы, такие как трубопроводы и электрические системы.

F.1.28 выполнение предварительного конструктивного проектирования (create preliminary structure design)*: Создание начального проекта стальной конструкции и расположения основных конструктивных элементов.

F.1.29 принятие решения об обеспечении послепродажного и технического обслуживания (decide postsales & maintenance support)*: Подготовка предложения по техническому обслуживанию судна.

Примечание — Эта часть относится к конкурсной пакетной документации и включает в себя обеспечение послепродажного обслуживания.

F.1.30 вывод из эксплуатации и разборка (decommission and disassemble)*: Фаза жизненного цикла судна, в ходе которой судно изымается из эксплуатации или демонтируется.

F.1.31 график выполнения проекта (design schedule): Данные, которые контролируют промежуток времени от этапа проектирования до производства.

F.1.32 данные потока (details of flow): Результаты анализа вычислительной гидродинамики, который моделирует поток жидкости вдоль корпуса. Используются для оценки сопротивления корпуса воде, а также при оценке требований к силовым установкам судна.

F.1.33 проектирование насыщения и распределительных систем (distribution and outfitting design)*: Выполнение проекта распределительных систем и насыщения.

Пример — К распределительным системам относятся системы ОВКВ, электрические и трубопроводные системы. К насыщению относятся двери, трапы, насосы, электродвигатели, а также пульты управления.

F.1.34 выполнение изменений параметров (do parametric variations): Выполнение оценки альтернативных проектных решений для корпуса, созданных путем изменения параметров теоретических обводов корпуса.

Примечание — При изменении скорости, длины или ширины судна меняется форма корпуса судна.

F.1.35 свидетельства на оборудование (equipment certificates)*: Свидетельства (сертификаты), выданные классификационным обществом по завершению изготовления элементов оборудования, которые будут собираться для создания конечного изделия.

F.1.36 оценка параметров формы (estimate form parameters): Определение предварительных параметров формы корпуса на основе предыдущих данных судна-прототипа и расчетных главных размерений.

F.1.37 оценка гидродинамики и мощности (estimate hydrodynamics and powering)*: Расчеты, аппроксимирующие данные гидродинамических характеристик для предварительной формы корпуса.

Пример — Типы оценок: сопротивление, ходкости, мореходность и маневренность.

F.1.38 оценка главных размерений и параметров (estimate main dimensions and parameters): Параметры и измерения, отвечающие требованиям клиентов.

Пример — К требованиям клиентов относятся скорость, загрузка, задача и емкости.

F.1.39 оценка маневренности (estimate manoeuvrability)*: Аппроксимация маневренности судна и сравнение результатов модельных испытаний с проектными требованиями.

567

ГОСТ Р ИСО 10303-216—2023

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

F.1.40 оценка сопротивления и мощности (estimate resistance and powering)*: Расчеты, выполняемые на основе предыдущих данных для получения данных о мощности силовых установок и сопротивлении для эскизного предварительного проекта.

F.1.41 оценка мореходности (estimate sea-keeping)*: Расчеты теоретического поведения судна на волнении.

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

F.1.42 оценка запроса и составление графика подготовки предложения (evaluate request and schedule bid): Функция судостроительной верфи в части выполнения анализа и рассмотрения заявки от судовладельца на новое судно.

F.1.43 придание обтекаемой формы корпусу (fair hull): Корректировки теоретического обвода корпуса для исправления любых искажений (аберраций) поверхности.

F.1.44 обратная связь (feedback): Возврат информации после выполнения какого-либо вида деятельности.

F.1.45 окончательное формирование и утверждение планов общего расположения (finalise and approve general arrangements)*: Окончательный проект распределения пространства и расположения отсеков и входов.

F.1.46 окончательное формирование и утверждение формы корпуса (finalise and approve hull form)*: Получение утвержденной законченной формы корпуса за счет выполнения предварительного проекта.

Примечание — Результатом этого вида деятельности является утвержденный проект формы корпуса.

F.1.47 окончательное формирование и утверждение гидродинамики и силовых установок (finalise and approve hydrodynamics and powering)*: Выполнение гидродинамического анализа для окончательного проекта.

Примечание — Включает соответствующие гидродинамические расчеты, такие как сопротивление, ходкость, мореходность и маневренность.

F.1.48 получение окончательных главных размерений и параметров (finalise main dimensions and parameters): Доработка модельных испытаний, анализа и требований к использованию.

F.1.49 определение носовой части корпуса (fore-body definition): Проектирование теоретических обводов корпуса, относящихся к носовой части судна.

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

F.1.50 планы общего расположения (general arrangements)*: Проект распределения пространства и расположения отсеков и входов.

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

F.1.51 создание начального определения кормовой части корпуса (generate initial aft-body definition): Установка основной формы теоретического обвода корпуса, относящейся к кормовой части корпуса судна, на основе главных размерений, предварительной формы корпуса и эксплуатационных характеристик с учетом количества и размера гребных винтов.

Примечание — Кормовая часть корпуса судна — это часть судна в корму от средней части судна (для цилиндрической вставки корпуса) или мидель-шпагоута (для нецилиндрической вставки корпуса).

F.1.52 создание начального определения палубы (generate initial deck definition): Определение положения и формы главной открытой палубы судна по главным размерам, предварительной форме корпуса и эксплуатационным характеристикам.

F.1.53 создание начального определения носовой части корпуса (generate initial fore-body definition): Установка основной формы теоретического обвода корпуса, относящейся к носовой части корпуса судна, на основе главных размерений, предварительной формы корпуса и эксплуатационных характеристик.

Примечание — Носовая часть корпуса судна — это часть судна в нос от средней части судна (для цилиндрической вставки корпуса) или мидель-шпангоута (для нецилиндрической вставки корпуса).

F.1.54 создание начального определения формы корпуса (generate initial hull form definition): Установка первичной формы теоретического обвода корпуса на основе рассчитанных главных размерений, предварительной формы корпуса и эксплуатационных характеристик.

568

ГОСТ Р ИСО 10303-216—2023

F.1.55 создание начального определения средней части корпуса (generate initial mid-body definition): Установка основной формы теоретического обвода корпуса, относящейся к средней части корпуса судна, на основе главных размерений, предварительной формы корпуса и эксплуатационных характеристик.

F.1.56 данные из предыдущих проектов (historical data from previous designs): Данные, хранящиеся на судостроительной верфи или в модельном бассейне, по предыдущим проектам судов.

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

F.1.57 параметры формы корпуса (hull form parameters): Коэффициент полноты водоизмещения, призматический коэффициент и число Фруде, используемые на этапе предварительного проектирования для оценки гидростатических и гидродинамических характеристик судна.

F.1.58 сечения формы корпуса (hull form sections): Деления теоретических обводов корпуса между плоскостными сечениями по продольной оси судна.

F.1.59 определение формы теоретического обвода корпуса с палубой (hull moulded form with deck definition): Теоретический обвод корпуса, включающий водонепроницаемую палубу судна.

F.1.60 теоретический обвод корпуса (hull moulded form): Поверхность, определяющая форму корпуса судна.

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

F.1.61 результаты в части гидродинамики и силовой установки (hydrodynamics & powering results)*: Конструкторские расчеты и данные модельных испытаний в опытовом бассейне.

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

F.1.62 таблица гидростатических характеристик (hydrostatics table): Таблицы с данными, описывающими гидростатические характеристики судна, полученные в результате расчетов на начальном и конечном этапах проектирования.

F.1.63 знания и опыт (knowledge and experience): Предыдущая история работы компании, осмысление информации о судах, понимание проблемных областей и способность выполнять анализ в отношении судна на протяжении всего его жизненного цикла.

F.1.64 законы, правила и нормативы (laws, rules and regulations): Национальные законы, законодательные акты и правила классификационных обществ, которые используются для управления проектированием, производством, эксплуатацией, техническим обслуживанием и утилизацией судна.

F.1.65 перечень необходимых свидетельств (list of required certificates)*: Свидетельства (сертификаты) на судно, выданные классификационным обществом, национальными и международными регулирующими органами.

F.1.66 условия загрузки (loading conditions)*: Количества груза, водяного балласта и расходных материалов, определенных для каждого помещения или отсека, которые используются в качестве основы для проектирования.

Пример — К расходным материалам относятся запасы продуктов, топлива и медикаментов.

F.1.67 руководство по обеспечению остойчивости и загрузки (loading and stability manual): Буклет, хранящийся на борту судна, в котором указаны предписанные пределы загрузки и разгрузки судна в зависимости от прочности и остойчивости судна.

F.1.68 проект машин и механизмов (machinery design): Проектные чертежи, прототипы, а также модели в электронном формате машин и механизмов судна.

Примечание — Результаты, полученные в процессе окончательного проектирования.

F.1.69 главное размерение (main dimension): Длина, ширина, высота и осадка судна.

Примечание — Оценивают во время предварительного проектирования теоретического обвода корпуса, а затем окончательно уточняют на этапе основного проектирования.

F.1.70 вес машин и механизмов (machinery weights): Оцененный или рассчитанный проектный вес всех машин и механизмов на борту судна.

Примечание — Являются результатом нескольких расчетов и проектной деятельности.

F.1.71 результаты в части маневрирования (manoeuvring results)*: Просчитанные результаты зигзагообразных маневров, запланированных движений и поворотов, основанные на предыдущих модельных испытаниях в опытовом бассейне или ходовых испытаниях.

F.1.72 производственные ограничения (manufacturing restrictions): Ограничения процессов строительства, сборки и проектирования судов, регулируемые доступными технологиями и мощностями судостроительной верфи.

F.1.73 ведомость материалов (material list)*: Перечень всех исходных материалов, необходимых для изготовления судна.

Примечание — Результат процесса окончательного проектирования.

569

ГОСТ Р ИСО 10303-216—2023

F.1.74 определение средней части корпуса (mid-body definition): Проект теоретического обвода корпуса прямостенной части корпуса, которая включает в себя проект плоскости мидель-шпангоута судна, которая идет между кормовой частью и носовой частью корпуса судна, или проект теоретического обвода корпуса проекта плоскости мидель-шпангоута для судов без прямостенной части корпуса.

Пример — У нефтяных танкеров и сухогрузов имеется прямостенная часть корпуса, при этом у военных судов прямостенная часть корпуса встречается редко.

F.1.75 консультанты модельного бассейна (model basin consultants): Организации, выполняющие испытания в модельном бассейне для расчета данных в части гидродинамики и силовых установок.

F.1.76 теория модельного бассейна (model basin theory)*: Формулы, а также опыт, знания и эмпирические данные, используемые консультантами модельного бассейна для расчета данных в части гидродинамики и силовых установок.

F.1.77 изменения на основании машин и механизмов (modifications from machinery)*: Внесение изменений или корректировок в гидродинамику и требования к силовым установкам на базе обратной связи, полученной из предварительного проекта машин и механизмов.

F.1.78 изменения формы корпуса (modifications to hull form): Внесение изменений или корректировок в гео-мерическую форму корпуса на базе обратной связи, полученной по результатам гидродинамики и требований к стловым установкам, а также в процессе окончательного проектирования.

F.1.79 изменения параметров формы корпуса (modifications to hull form parameters): Внесение изменений или корректировок в параметры формы по результатм выполнения изменений параметров на этапе предварительного проектирования.

F.1.80 изменения главных измерений (modifications to main dimensions): Внесение изменений или корректировок в главные размеры корпуса, возникшие в процессе проектирования теоретических обводов корпуса.

F.1.81 модульные блоки (modular units)*: Подсекции судна, уже оборудованного машинами, механизмами и достроечным оборудованием, которые будут собираться для создания конечного изделия.

F.1.82 предложение (offer): Предложение от судостроительной верфи на изготовление указанного в запросе судна.

Примечание — Являются данными верфи, получаемыми в процессе предварительного проектирования.

F.1.83 указания по предложению (offer guidelines): Данные, необходимые для того, чтобы сделать безусловное предложение судовладельцу.

F.1.84 эксплуатация и техническое облуживание судна (operate and maintain a ship)*: Процедуры и документация по эксплуатации, обслуживанию и ремонту судна в течение его срока службы.

F.1.85 эксплуатационная информация (operational information)*: Документ, составляемый в результате эксплуатации, технического обслуживания и освидетельствоания судна, в который входит инофрмация о состоянии судна.

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

F.1.86 владелец (owner): Организация, которая направляет запрос на судно, заказывает, принимает поставку и эксплуатирует его.

F.1.87 запрос владельца с требованиями (owner request with requirements): Документ, содержащий требования, представляемые на судостроительную верфь владельцем с приглашением на подачу конкурсной заявки.

F.1.88 выполнение модельных испытаний (perform model tests)*: Проведение модельных испытаний в буксировочном или модельном бассейне.

Примечание — Результаты этих испытаний используют при проектировании гидродинамической части и требований к силовым установкам.

F.1.89 выполнение жизненного цикла судна (perform ship lifecycle): Завершенные этапы существования судна, включающие разработку концепции, проектирование, строительство, эксплуатацию и утилизацию.

F.1.90 размещение заказа (place order)*: Подтверждение получения и принятие тендерного предложения судостроительной верфи на изготовление судна.

Примечание — На основании этого заключается контракт с судостроительной верфью.

F.1.91 система планового технического обслуживания (planned maintenance system)*: Данные, полученные в процессе окончательного проектирования и используемые во время эксплуатации и технического обслуживания судна.

F.1.92 требования к мощности двигателя (power requirements for engine)*: Данные в части гидродинамики и ходкости, используемые при выборе главного двигателя.

F.1.93 предварительная компоновка (pre layout): Первая компоновка судна, разработанная на стадии рассмотрения тендерных предложений и являющаяся основой для выполнения предварительного проекта.

570

ГОСТ Р ИСО 10303-216—2023

F.1.94 прогнозирование полезной мощности двигателей и рабочей скорости (predict brake power and service speed)*: Выполнение оценки требуемой полезной мощности двигателя и необходимой мощности, подаваемой на гребной винт, для определения типоразмера основного двигателя.

F.1.95 прогнозирование рабочих характеристик гребного винта (predict propeller performance)*: Выполнение оценки данных в части требований к ходкости для создания предварительного проекта гребного винта.

F.1.96 прогнозирование данных в части ходкости (predict propulsion data)*: Выполнение расчета требований к силовой установке судна.

Примечание — Приблизительное определение движущей силы может быть выполнено с помощью уравнения перемещения для конкретных чисел Фруда (см. 4.2.21.4) на этапе предварительного проектирования.

F.1.97 прогнозирование сопротивления (predict resistance)*: Выполнение оценки площади смачиваемой поверхности судна, оказывающей сопротивление волнению.

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

F.1.98 предварительный проект (проектирование) (preliminary design): Проект, в результате которого представляется тендерное предложение.

F.1.99 предварительные планы общего расположения (preliminary general arrangements): Определение помещений и отсеков на судне на раннем этапе.

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

F. 1.100 предварительная форма корпуса (preliminary hull form): Определение на раннем этапе теоретического обвода корпуса, в результате процесса выполнения предварительного проектирования.

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

F.1.101 предварительный проект машин и механизмов (preliminary machinery design)*: Определение на раннем этапе проектирования машин и механизмов.

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

F.1.102 предварительный проект машин и механизмов, конструкции и насыщения (preliminary machinery, structure and outfitting design)*: Имеющаяся на раннем этапе обратная связь в части проектной информации по машинам и механизмам, конструкции, а также насыщению и отделке.

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

F.1.103 предварительный проект насыщения (preliminary outfitting design)*: Определение на раннем этапе судового насыщения и жилых помещений.

Примечание — Входит в процесс предварительного проектирования.

F.1.104 предварительный конструктивный проект (preliminary structure design)*: Определение на раннем этапе стальной конструкции судна.

Примечание — Входит в процесс предварительного проектирования.

F.1.105 подготовка тендерной заявки (prepare bid): Подготовка всей документации и данных, необходимых для подачи предложения владельцу на постройку судна.

F.1.106 представление предложения (present offer)*: Предоставление всей необходимой документации в составе тендерного предложения на изготовление указанного в запросе судна потенциальному владельцу.

F.1.107 разработка и утверждение нормативной документации (produce and approve reference documents): Составление и подборка технической документации, утвержденной для судна, с использованием производственной информации.

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

F.1.108 изготовление и инспектирование судна (produce and inspect a ship): Выполнение строительства и обеспечение качества на каждом этапе постройки или сборки судна.

Примечание — Инспектирование означает контроль всех видов деятельности на протяжении всего жизненного цикла судна.

F.1.109 изготовление модульных стандартных блоков (produce modular build units)*: Выполнение сборки стальных подсекций и их монтажа в большие отдельные сертифицированные блоки, которые после сборки или присоединения составляют готовое судно.

571

ГОСТ Р ИСО 10303-216—2023

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

F.1.110 изготовление стальных подсекций (produce steel sub-sections)*: Создание и соединение элементы стальной конструкции, которые после сборки и сертификации образуют модульный блок.

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

F. 1.111 информация о комплектующих изделиях (product component information)*: Технические данные по всем деталям, частям и элементам, которые будут использованы на судне.

Примечание — Эти данные учитывают при выполнении предварительных проектов.

F. 1.112 график производства и поставки (production and delivery schedule): График, в соответствии с которым судно должно быть изготовлено и поставлено.

F.1.113 производственная информация (production information): Данные, описывающие детали изготовления и строительства.

Пример — К этим данным относятся: размеры, механические свойства, материалы и информация о цехах.

F. 1.114 проект гребного винта (propeller design)*: Проект гребного винта или движителя на основании гидродинамических и расчетов требований к силовой установке.

Примечание — Этот проект определяет некоторые конструкции судовых машин и механизмов.

F.1.115 теория гребного винта (propeller theory)*: Знания, основанные на опыте, данных за предыдущие периоды и научных исследованиях характеристик судовых гребных винтов.

F.1.116 обеспечение качества (quality assurance): Правила, применяемые организацией на территории судостроительной верфи, перед которой поставлена задача провести аудит организации верфи и процессов, применяемых таким образом, чтобы обеспечить качество конечной продукции.

F.1.117 теория регулярных волн (regular wave theory)*: Знания и опыт, относящиеся к реакции судна движения на перемещения на волнах с постоянной высотой и периодом.

F.1.118 заявка на судно (quest a ship): Первое действие или обращение судовладельца, имеющего намерение заказать судно.

Примечание — Имея определенные представления о внешнем виде и функциональности судна, владелец излагает эти представления в своем запросе, направляемом на верфь.

F.1.119 запрос на внесение производственных изменений (request for production changes): Запрашиваемые изменения в проект судна на основании производственного опыта или трудностей с реализацией данного проекта судна.

F.1.120 сопротивление и мощность на валу (resistance and shaft power)*: Противодействие движению, на основании которого выполняются оценки гидродинамики и требований к силовой установке.

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

F. 1.121 теория сопротивления (resistance theory)*: Принципы, теоремы и правила, используемые для прогнозирования сопротивления корпуса при движении вперед в море.

F.1.122 ресурсы (resources): Судостроительная верфь, классификационное общество и внешние консультанты.

F.1.123 график (schedule): План управления сроками производственных этапов.

Примечание — Формируется в составе процесса окончательного проектирования.

F.1.124 план утилизации (scrapping plan)*: Документ, используемый для планирования времени и ресурсов, необходимых для разборки судна.

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

F. 1.126 данные модели изделия судна (ship product model data): Данные об изделии для судна, накопленные на протяжении всего его жизненного цикла.

Примечание — Поскольку утилизация также входит в жизненный цикл, судно не является результатов на выходе (выходом), и сохраняется только задокументированная информация и знания о судне.

F.1.127 изменение веса судна (ship weight modifications)*: Пересмотр веса судна после выполнения предварительного проекта конструкций.

572

ГОСТ Р ИСО 10303-216—2023

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

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

F.1.129 краткосрочные и долгосрочные реакции (short and long term responses)*: Аппроксимация мореходных качеств с расчетами, основанными на регулярном волнении определенной высоты и периода.

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

F.1.130 задание технических требований на судно (specify ship): Разработка точных спецификаций на судно до заключения контракта.

F.1.131 стальные подсекции (steel sub-sections)*: Подсекции стальной конструкции, в которые устанавливают машины, механизмы и распределительные системы до сборки.

F.1.132 конструктивный проект (structural design)*: Проект основания и набора судна.

Пример — Этот проект включает в себя киль, корпус, переборки, палубы, надстройки, балки, ребра жесткости и пр.

F. 1.133 техническая документация (technical documentation): Детальная информация о существенных вещах, необходимых для изготовления судна и системы.

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

F. 1.134 технические требования (technical requirements): Спецификации владельца, которые должны быть реализованы в готовом судне.

F.1.135 результаты испытаний (test results)*: Задокументированные оценки и заключения по каждому контролю, проверке или анализу на соответствие проектным спецификациям, правилам и нормативам.

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

F. 1.136 испытание судна (test ship): Выполнение испытаний и оценки фактического судна на соответствие проектным спецификациям, правилам и нормативам, а также контрактным требованиям.

Примечание — Выполняют испытания конструкции и проводят ходовые испытания. Результаты испытаний документируют.

F.1.137 испытание конструкций (test structures): Выполнение испытания и оценка стальных конструкций на соответствие проектным спецификациям, правилам и нормативам, а также контрактным требованиям.

Примечание — Результатом является документация с результатами испытаний.

F. 1.138 испытание систем (test systems)*: Судовые системы, включая оборудование, которые испытывают и оценивают на соответствие проектным спецификациям, правилам и нормативам, а также контрактным требованиям.

Примечание — Результатом является документация с результататми испытаний.

F.1.139 суммарное сопротивление (total resistance)*: Противодействующие силы, действующие на корпус при движении вперед.

Пример — Суммарное сопротивление включает в себя сопротивление трения, сопротивление волны, вихревое сопротивление и сопротивление воздуха.

F.1.140 модель для буксировочного опытового бассейна (towing tank model): Масштабная модель судна, используемая в буксировочном опытовом бассейне для оценки гидродинамических характеристик.

F.1.141 необходимость транспортировки (ransportation need): Ограничение, определяющее спецификацию для строительства судна.

F. 1.142 вес и центры тяжести (weights and centres of gravity)*: Значение веса предметов и центры тяжести этих предметов.

Примечание — Вес и центры тяжести необходимы для дальнейших расчетов.

F.1.143 трудоемкость (workload)*: Суммарные усилия, необходимые для строительства судна выбранного проекта, по оценке судостроительной верфи и привлекаемых консультантов.

573

ГОСТ Р ИСО 10303-216—2023

F.2 Диаграммы прикладной функциональной модели

Диаграммы ПФМ представлены на рисунках F.2 — F.15. Графическая форма ПФМ представлена в формате моделирования видов деятельности IDEF0 [9]. Виды деятельности и потоки данных, не относящиеся к рассматриваемой области, отмечены звездочкой.

Ограничения при изготовлении

Необходимость транспортировки

Законы,правила и нормативы

574

Знания и опыт, данные — за периоды по предыдущим проектам

Выполнение жизненного цикла судна

Ресурсы

(верфь, классификационное общество, консультанты)

■>■ Обратная связь

-------► Модельные данные

изделия судна

Рисунок F.2 — Узел АО — жизненный цикл теоретического обвода

Ограничения

Законы,правила

М1 (верфь, классификационное общество, консультанты)

Верфь/владелец

Рисунок F.3 — Узел АО — выполнение жизненного цикла судна

575

ГОСТ Р ИСО 10303-216—2023

576

ГОСТ Р ИСО 10303-216—2023

М1 (верфь, классификационное общество, консультанты)

Рисунок F.4 — Узел АО — задание технических требований на судно

577

Данные предыдущих проектов

М1 Верфь

Рисунок F.5 — Узел А12 — подготовка тендерной заявки

ГОСТ Р ИСО 10303-216—2023

578

СЗ Ограничения при изготовлении

СЗ Запрос владельца с требованиями

Информация о комплектующих

С4 Законы,правила и нормативы

Указания И по предложению

Предварительная компоновка

Вес машин и механизмов

Предварительные планы общего расположения

Создание

1Предвари-"—тельная

предварительной формы корпуса

А1221

ГОСТ Р ИСО 10303-216—2023

форма корпуса

Базовые параметры |^ корпуса

Предварительный

проект машин и механизмов, конструкции и насыщения*

Создание предварительных планов общего расположения _______А1222

Изменения на основании машин и механизмов*

Данные| из предыдущих | проектов

Результаты в части гидродинамики и силовой установки*

Сопротивление и мощность на валу

П редва рител ьны й проект

7--► 01

Оценка гидродинамики и требований к силовой установке*

А1223

Верфь/консультанты -

Проект гребного винта*

Создание предварительного конструктивного проекта* ______А1224

Предварительный конструкторский проект*

Изменения массы судна

М1 Верфь

Создание предварительного проекта машин и механизмов

Предварительный проект машин и механизмов*

Предварительный проект насыщения*

А1225

Обратная связь >

Создание предвари -тельного проекта насыщения*

А1226

Рисунок F.6 — Узел А122 — создание предварительного проекта

и

01

Базовые параметры корпуса

М1 Верфь

Рисунок F.7 — Узел А1221 — создание предварительной формы корпуса

579

ГОСТ Р ИСО 10303-216—2023

580

Проект гребного винта*

ГОСТ Р ИСО 10303-216—2023

М1 Верфь

Рисунок F.8 — Узел А12214 — создание начального определения формы корпуса

СЗ Законы,правила

С1 Данные

М1 Верфь/консультанты

Рисунок F.9 — Узел А1223 — оценка гидродинамики и требований к силовой установке

сл

ОО

ГОСТ Р ИСО 10303-216—2023

582

ГОСТ Р ИСО 10303-216—2023

М1 Верфь/консультанты

Рисунок F.10 — Узел А12231 — оценка сопротивления и требований к силовой установке

583

М1 (верфь, классификационное общество, консультанты)

Рисунок F.11 — Узел А2 — завершение и утверждение проекта судна

ГОСТ Р ИСО 10303-216—2023

584

С5 Изменения формы

ГОСТ Р ИСО 10303-216—2023

Ресурсы (верфь, классификационное общество, консультанты)

Рисунок F.12 — Узел А22 — окончательное определение и утверждение формы корпуса

585

Изменения на основании машин и механизмов*

Теоретический обвод корпуса

И -----

С2 График проектирования

С1 Законы,правила и нормативы

Расчет с применением вычислительной гидродинамики* А231

Изменения формы корпуса

> 02

Результаты в части гидродинамики и силовой установки’

Данные потока*-—

Выполнение модельных испытаний*

А232

Ресурсы

М1 (верфь, классификационное общество, консультанты)

Модель для буксировочного опытового бассейна

Рисунок F.13 — Узел А23 — окончательное определение и утверждение гидродинамики и требований к силовой установке

ГОСТ Р ИСО 10303-216—2023

586

Контракт

ГОСТ Р ИСО 10303-216—2023

Ml Верфь/классификационное общество Классификационное общество

Рисунок F.14 — Узел АЗ — изготовление и инспектирование судна

Судно

И -----

587

Обеспечение качества

Утвержденный С2 С1

М1 Верфь/классификационное общество

Рисунок F.15 — Узел А34 — испытания судна

ГОСТ Р ИСО 10303-216—2023

ГОСТ Р ИСО 10303-216—2023

Приложение G (справочное)

Прикладная эталонная модель

В настоящем приложении приведена ПЭМ для настоящего стандарта, которая представлена на рисунках G.1 — G.25. Прикладная эталонная модель является графическим представлением структуры и ограничений прикладных объектов (см. раздел 4). Графическая форма прикладной эталонной модели представлена нотацией EXPRESS-G. Прикладная эталонная модель не зависит от методов реализации. Определение нотации EXPRESS-G приведено в ИСО 10303-11:2004 (приложение D).

Рисунок G.1 — Схема ПЭМ 1 из 25 в EXPRESS-G

588

ГОСТ Р ИСО 10303-216—2023

Рисунок G.2 — Схема ПЭМ 2 из 25 в EXPRESS-G

589

ГОСТ Р ИСО 10303-216—2023

1

, 14,16,20,21,22,23,24,25) J

590

(ABS) shiptype

(RT) description

j— —1

-Q text I

(RT) definedJor S[l:?]

* carrier

workingship

—C *research_ship

*navy ship

(INV) ship items FOR ship context S[0:?]

ship

singlehullorclass f ------------------------Q single_or_multiple_hulls ]

units S[0:J

hasjype ।-------------г

-----------О carri er_shipjype

hasjype ।-------------n

----—---Q_ working_shipjype i<

has_type (-------------n

-----—---9 research_ship typc j •

hasjype i------~.------n

----------q navy_shipjype

it^-4

-C named unit

■O derived unit

Рисунок G.3 — Схема ПЭМ 3 из 25 в EXPRESS-G

ГОСТ Р ИСО 10303-216—2023

Рисунок G.4 — Схема ПЭМ 4 из 25 в EXPRESS-G

591

ГОСТ Р ИСО 10303-216—2023

class number

592

class_and_statutory_desi gnation

thestatutory

the class

(RT) local_units S[0:?]

service factor

-CREAL

approval_required_for_oil_cargo

BOOLEAN

approval requiredJoading_unloading_aground

BOOLEAN

approval required Ioading unioading grabs

л

BOOLEAN

class_society

C 4,3

^organization

class notation

class notations hull S[l:?]

к. text >

class notations machinery S[l:?]

3,1 4 text

service_area

ice_class_notation

Л 3,1 text

approval_required_for_heavy_cargo

Рисунок G.5 — Схема ПЭМ 5 из 25 в EXPRESS-G

-cj heavy_cargo 11

ГОСТ Р ИСО 10303-216—2023

stem_overhang

stemoverhang

overall breadth

shipoveralldimensions

overall depth

-C] *positive_length_measure

■Cl

overall length

---------------я

(RT) defined_for S[l:?]

Рисунок G.6 — Схема ПЭМ 6 из 25 в EXPRESS-G

593

ГОСТ Р ИСО 10303-216—2023

sheeratap

6,2

posi ti vej ength m easure

594

sheer at fp

*—О deck_moul ded_form designjparameter

6,2

positive J engthmeasure

camber

(RT) defined for S[l:?]

Рисунок G.7 — Схема ПЭМ 7 из 25 в EXPRESS-G

ГОСТ Р ИСО 10303-216—2023

aft cnd_of_parallel_midbody_at_design_draught

block coefficient

6,3

ratio measure

iosi ti ve_l engthm easure,

front end of parallel midbody at_design draught

pri sm ati c_coeffi ci ent

'--------57--------

positivelengthmeasure,

hullmouldedformdesignparameter

\rati omeasure

aft end of flat of side -------------"

waterplane coefficient

6,2 '

iosi ti veJ ength_m easing

front end of flat of side

6,2 '

•osi tivelengthmeasure,

(DER) length_to_beam_ratio

max frame section area location

6,2 lositivejcngthmcasure,

max wetted frame section area

gunwaleradius

Tl area measure

hull design draught

6,2 V--=-----

>ositive_length measure/

67 Л

yposi ti ve l cngth m easure,

waterl i ne_angl e_of_entrance_at_stern

\plane angle measure/

(DER) length_of_parallel_midbody_at_design draught

\positive_length_measum,

(DER) length of flat of side

67>

>ositive length measure,

waterline angle of entrance at bow

hull _length_pp

hulldepth

6,2 '

>ositive_length measure,

hulllengthwaterline

hull breadth Л

[ midship_tumble_data ----------!

6.2

(ositivelengthmeasure,

tumble in at side

tumble out at side

measure

67> iositive_length_measure,

6,2 5

>ositive Iength measur(^

6,2 positive length measure

midshiptumble

tumbleinattop

6,2

positive_length_measure

tumble out at bottom

6,2

positi ve_l ength_m ea sure

6,2

positiyelengthnieasure

Рисунок G.8 — Схема ПЭМ 8 из 25 в EXPRESS-G

595

ГОСТ Р ИСО 10303-216—2023

bilge_radius

6,2

positive J engthmeasure

rise of floor

6,2

posi ti ve_l ength_m easure

aftendoffl atofbottom /--~

\jjositive length measure/

596

bottom moulded form designjparameter

front end of flat of bottom

6,2 A

positive length measure/

flat of bottom breadth

6,2

posi ti vejengthmeasure

(DER) Iength_of_flat_of_bottom

6,2

positivelengthmeasure

rake_of_keel j" “j

-----------------ci plane_angle_measure j

Г “ ri

5,1(11)')

location

7,1 >

ameasury^

bulb moulded form design parametei

bulbjocation

bulbframesecti on_area_at_pp

bulb_depth_pp

( 6,2

у positive_length_measureу

6,2 Л

posi ti vej ength_measureу

Г 6,2

у positiveJength_measurey

6,2 A

< positivejength_measureу

biilbbreadth

bulb_length_from_pp

bulb length (

bulb_breadthjpp ( 6,2

у positive length measure^

bulb depth 6^2

к positive length measure

Рисунок G.9 — Схема ПЭМ 9 из 25 в EXPRESS-G

ГОСТ Р ИСО 10303-216—2023

(адш)

О

propeller_moulded_form_design_parameter

nominaldesignpitchratio

6,3

hub_diameter_ratio

k ratio measure /

6,3 A yratio_measure7

< 6,3 Л

^ratiojneasure у

expanded_area_rati о

thickness_at_0_7_radius

Л 6,2 A

positive length measury

chord J engt h_at_0_7_rad i u

Г « 'I

\posilive length measuiy

propellerdiameter

( 6-2

\positive_length_measiny

bl ade_mean_h eight

rake

Л 6,2 Л

soositi ve_l ength_m easure/

< 9,3 A

< plane_angle_measurey

skew

c

and

pro

es

9,3 Л

planeanglemeasure/ n

of propeller blade J J

11

type ofjropellcr bl ados

type_ol_propLilsion r-

i_

number of propeller blad

11

0

INTEGER

design_sense_of_rotation j

1 J

i_

iviauuii

location_of_the_propeller_at_the_ship_hull

Рисунок G.10 — Схема ПЭМ 10 из 25 в EXPRESS-G

597

ГОСТ Р ИСО 10303-216—2023

thruster tunnel min length

6,2

positive length measure,

598

thruster_tunnel _m ax J ength

6,2

»ositive_length_measure,

thruster_moulded_form_design_parameter

thruster tunnel diameter

6,2

positive length measure,

geometric_thruster_location

13,1 centre location

thruster location

9,1 location

thruster_propeller_parameter

10,1

propeller moulded form design parameter

5

type of the rudder

--------p

-C’rudderjypei ।

rudder location

13,1 centre location

proj ectedrudderarea

< 7,1

J area measure

(DER) aspect_ratio

rudder_mean_l ength

rudder_moulded_form_design_parameter

6,2

posi ti ve 1 engthm easure

rudder thickness

6,2

positive length measure

rudder J ength

rudder mean height

6,2

positive length measure

6.2

positive J engthm easure

rudder height

positive length measure

5

userdefappendagetype

typeof appendage

appendagebreadth

*appendage_moulded_form_design_parameter

appendagejength

appendage depth

-c{ appendage_type ' I

6,2

posi ti veJ ength m easure

6,2

positivejength_measure

6,2

positive length measure

Рисунок G.11 — Схема ПЭМ 11 из 25 в EXPRESS-G

ГОСТ Р ИСО 10303-216—2023

Рисунок G.12 — Схема ПЭМ 12 из 25 в EXPRESS-G

599

ГОСТ Р ИСО 10303-216—2023

6,2 positive length m easure

properties_in_the_hydrostatic_table L[l:?]

hydrostatic_property

property_type r-----------------n

-----------—---------C| hydrostatic_property_type

property measure p--------------------1

-------—--------4 j hydrostatic property measure •----

items S[l:?]

moment measure

600

(INV) related_hydrostatic_table S[1:?] ______________________________________Q.

hydrostatic_properties_for_constant floating_position

defi ni ti on_of_fl oati ng_positi on

i inertia_moment_measure

hydrostatic property values L[1:?]

(ABS) hydrostatic_property value

hydrostatic scalar value

< hydrostatic position value

7,1

area measure

6,1 lengthmeasure/

scalar . T ----C REAL

Рисунок G.13 — Схема ПЭМ 13 из 25 в EXPRESS-G

ГОСТ Р ИСО 10303-216—2023

(INV) related stability table S[l:?]

О________________________definition_of_starting_floating_position

stability; properties Jor _one_ floating position ccntrc of gravity_abovc_kccl

stability _properties_for_different_angles_of_heel L[ 1:?]

JJ---------- righting_arm

6Д lengthmeasure

centre_of_buoyancy

stabilityjproperty --------------------—

angle_of_heel

13,1

centre location

9,3 plane_angle_measure

Рисунок G.14 — Схема ПЭМ 14 из 25 в EXPRESS-G

601

ГОСТ Р ИСО 10303-216—2023

Рисунок G.15 — Схема ПЭМ 15 из 25 в EXPRESS-G

602

ГОСТ Р ИСО 10303-216—2023

rel ati ng spac i ng positi on

(RT) (DER) position

offset

*spacing_position_with_offset

Рисунок G.16 — Схема ПЭМ 16 из 25 в EXPRESS-G

603

ГОСТ Р ИСО 10303-216—2023

Рисунок G.17 — Схема ПЭМ 17 из 25 в EXPRESS-G

604

ГОСТ Р ИСО 10303-216—2023

Рисунок G.18 — Схема ПЭМ 18 из 25 в EXPRESS-G

Рисунок G.19 — Схема ПЭМ 19 из 25 в EXPRESS-G

605

ГОСТ Р ИСО 10303-216—2023

chosen solution for

Рисунок G.20 — Схема ПЭМ 20 из 25 в EXPRESS-G

606

ГОСТ Р ИСО 10303-216—2023

Рисунок G.21 — Схема ПЭМ 21 из 25 в EXPRESS-G

607

ГОСТ Р ИСО 10303-216—2023

Рисунок G.22 — Схема ПЭМ 22 из 25 в EXPRESS-G

608

1

(ABS) definition

defined_for S[l:?]

22,2 definable_object

localunits S[0:?]

3,2 unit

*id

ГОСТ Р ИСО 10303-216—2023

Рисунок G.23 — Схема ПЭМ 23 из 25 в EXPRESS-G

609

ГОСТ Р ИСО 10303-216—2023

Рисунок G.24 — Схема ПЭМ 24 из 25 в EXPRESS-G

610

ГОСТ Р ИСО 10303-216—2023

Рисунок G.25 — Схема ПЭМ 25 из 25 в EXPRESS-G

611

ГОСТ Р ИСО 10303-216—2023

Приложение Н (справочное)

Прикладная интерпретированная модель EXPRESS-G

Рисунки Н.1 — Н.26 соответствуют аннотированному EXPRESS-листингу ПИМ, приведенному в приложении А. В этих рисунках использована графическая нотация EXPRESS-G языка EXPRESS. Определение EXPRESS-G приведено в ИСО 10303-11:2004 (приложение А).

applicationjjrotocoldefinition

application_interpreted_model_schema_name^_

status

। label ]

Я ।

о---9

612

appl ication protocol vear

— _____

h^(9) j—Cj ear Hummer [

----i__________j

it----------- ' ] attribute_tvpe ।

application

application

(DER) description -----

--------------------q text

(^1,6(26)

*application context

frame of reference

V

(INV) contextelemenls S[ 1:?]

(Г,2(1,2,3,4,5,6,7,8,9.10,11,12,13,17,26))

(DER) id ।---------i -------------a identifier i

1,3(1,2,3,4,5,6,10,11,12,26)))

Рисунок H.1 — Прикладной контекст — схема ПИМ 1 из 26 в EXPRESS-G

ГОСТ Р ИСО 10303-216—2023

4; productorformationordefinition

description

name

*of_product

productdefinitionformation

Y formation

’,8,9,10,11,12,:

A

—c

----^(DER) name label )

id

С *product

1,2

text

1,1

label

id

frame_of_reference S [ 1:?]

description

*id

1,4 productcontext

____________ze._____________

characterized_product_definition

S

*product_definition

>

relating_product_definition

related_product_definition

Э-----------------------

*product_definition_relationship

name

description

id

1,2 text

description

frame of reference

(DER) role

5

1,5 productdefinitioncontext

assignedeffectivity

* effecti vity_assignment

(DER) description

(DER) name

*effectivity

effectivity_start_id

cffcctivity_cnd_id

serial numbered effectivity

applied_effectivity_assignment

^Jitems S[l:?]

effectivity_item_

3,1 productdefinitionshape

1,7 product_related_product_category

3,2 propertydefinition

Рисунок H.2 — Определение изделия — схема ПИМ 2 из 26 в EXPRESS-G

613

ГОСТ Р ИСО 10303-216—2023

Q 3,4(10,25,26) (DER) description l__

definition Г

-------Q

represented_definiti on

614

(DER) name

*property_defmition representation

*shape_definition_representation

description

name

characterized_definition

used_representation Л

*property_defmition_relationship

2,3 characterized_product_definition

< characterized_object

name

J I

i I derivedjproperty_select ll_________________________

(3,2(2,7,8,10,11,12,26^)

relatingjpropcrty_defmition

related_property_definition

description

-ci; shape definition

r-— of_shape

A__I

*shape_aspect

3-

о 6

*definition

<

description

product_definitional

name

(DER) id

name

description

(DER) id

*property_definition 3-

*product_definition_shape

ZZ?---?------

Рисунок H.3 — Определение свойства — схема ПИМ 3 из 26 в EXPRESS-G

param etri c_representati on_con text

global_unit_assigned_context 3™

units S[l:?]

ГОСТ Р ИСО 10303-216—2023

globaluncertaintyassignedcontext

uncertainty S[l:9]

context

representationcontext

context of items

(INV) representations in context S[ 1:?]

1,2 text

(DER) description

(DER) id

identifie]

name

label

uncertainty _measure_with_unit

geom etri crepre sentati oncontext

coordinate space dimension

15,3 dimension count

name

description

repl

represen tati onrel ati on shi p

Q O £

rep_2

^representation

■c *definitional_representation

c

shaperepre sentati on

■C *non_manifold_surface_shape_representation

mapped_representation

items S[l:?] Lc *edge_based_wireframe_shape_representation

*representation map

77-------------------

mapping_origin r

---------------c mappingjarget

* representation item

name

V

mappingsource

(INV) map_usage S[ I:?]

1—-—-—। hst_representation_item К

S[l:?] i------zzzzzz-zzz^ -------j set_representation_item P---------

* mappedjtem 3— < *compound_r epresentation J tem

| item element

15,1

geom etri c represen tati on i tem

-C *value_representation_item

15,2

topological representation !tem,

p--------°---------j

i ] compoundJtemdcfinition [—

Li------------------1

valuecomponent

14,5 measure value

descri ptive_representation_item

description

Рисунок H.4 — Представление — схема ПИМ 4 из 26 в EXPRESS-G

615

ГОСТ Р ИСО 10303-216—2023

assigned_action

*action assignment

5^25?)

2,4 product_definition_relationship

applied action_assignment

2,1

>roduct definition

items S[l:?]

3,1 product definition shape

2,2 product

action item

relating_action

<

< *action

616

1,7

product_related_product_category

5,2 executed action

actionrelationship

description

name

related action

supported item

chosen method

description

(DER) id

name

name

description

action method

consequence

purpose

Cl

* executed action

(ABS)

*action_request_assignment

(DER) role

method

1,2

text

1,2

text

^5,3(7,9,10,11,25,26)^)

A (PER) name

*action_request_solution >

(DER) description

request

assigned_action_request ( 5,4(7,9,10,11) )

-2—x—

*applied_action_request_assignment

items S[1

version

action request item

* versioned_action_request

purpose

1,1

label

1,2

text

description

1,2 text

id

Рисунок H.5 — Действие — схема ПИМ 5 из 26 в EXPRESS-G

first name

middle_names L[l:?]

prefix_titles L[l:?]

■person

suffix_titles L[l:?]

id

last name

W

abel

1,1

abel

(DER) id

ГОСТ Р ИСО 10303-216—2023

description

name

organizational project

responsible organizations S[1:?]

the_person

the organization

(DER) name

(DER) description

people S[l:?]

* persоn an dorgan i zati on

id

-c

identifier/

description

organization

name

! person organization select !

L_._________-____J organizations S[l:?]

Рисунок H.6 — Человек и организация — схема ПИМ 6 из 26 в EXPRESS-G

617

ГОСТ Р ИСО 10303-216—2023

(DER) description

role

-С * organ ization_role

618

(ABS) organizationassignment

assign edorgan i zati on

* appI i edorgani zati onassignment

items S 1:?]

[ organi zati on_i tern j----

3,2 property definition,

2,1

iroduct definitioi

:person_role

name

name

(DER) description

(ABS) personas signment

(DER) description

*person and organization role

name

role

(ABS)

person and organization assignment

as si gned_per son an d organ i zat i on

6,1

person an dorgani zati on

* ap pl i ed_person_and_organizati on_assi gnm ent

items S[l:?]

person and organization item

assigned_person

6,2 person

5,1 action

5,2

executed actioi

applied person assignment

5,4 versionedactionrequest

items S[l:?]

1 I I

' । person item (

5,3 actionrequestsolution

Рисунок H.7 — Назначение человека и организации — схема ПИМ 7 из 26 в EXPRESS-G

ГОСТ Р ИСО 10303-216—2023

Рисунок Н.8 — Согласование — схема ПИМ 8 из 26 в EXPRESS-G

619

ГОСТ Р ИСО 10303-216—2023

name

620

(ABS) date and time assignment

role

< *date time role

assigned_date_and_time

applied date and time assignment

items S[l:?l

11 j •

11 date and time item i

5,4 versioned_action_request

5,3

acti onrequestsolution

2,1 productdefinition

5,2 executed action

5,1 action

datecomponent

INTEGER 3

INTEGER 0-

--------------

I ahead or behind j p

INTEGER 3-

(DER) description

-----------------------

i date time or event occurrence •

П~---- 11 date_time_select н

____Q_____

date and time 0-

time_component

f---------------second_component

*second in minute p------------

Г : hour component

j *hour_in_day p---------------

* . . , I minute component

'‘ minute in hour p-----—---1-----

minute offset

hour offset

sense

(DER) actual minute offset

1,9 year_number

*local time 3-

zone

*coordinated universal time offset

year_component

3-

г-----------------: day_component

। *day_in_year_number jo-------------------

' *day_in_month_number o-

| *month_in_year number jo-

*ordinal date o—

day_component

month component

*calendar date 3—

[ “I week_component

। *week_in_year_number p---------------

&- — —— — __ —---- - -- - - -J

r-----------------1 day_component

*day_in_week_number jo-----------.

week_of_year_and_day_date 3-

Рисунок H.9 — Дата и время — схема ПИМ 9 из 26 в EXPRESS-G

role

name

ГОСТ Р ИСО 10303-216—2023

(ABS) classificationassignmcnt

----------------C classificationrole

assigned class

description

*applied_classification_assignment

items S[l:?]

classification item

11,2 external source

12,2 document reference.

4,4 representation

name

description

group_relationship

relating_group

related_group

description

group

(DER) id

name

5,3 action_rcqucst_solution

assign ed_group

V

1,1 label

5,2 executed action

_0_ *class

3,2

iroperty definition

(вд)

(10,2(2,5,8,12,25))

A description

2,1

noduct definition

(ABS)

* groupassignment

(DER) role

■^—^—C *object_role

name

1,2

text

1,1

label

5,4 versioned_action_request,

*applied_group_assignment

items S[l:?]

4,5 shape_representation

applied_action_request_assignment

groupitem

24,4 edge_curvc

3,1

>roduct_definition_shape

13,2

measure with unit

17,5 axis2_placement_3d

H,1 identification_assignment_relationship

2,4 product_definition_relationship

4,2 compound_representation_item

2,4 product_definition_relationship

3,4

propertydefinitionrepresentation

2,1 product_definition

4,6 representationrelationship

11,1 identification_assignment_relationship

1,7 product_related_product_category

Рисунок H.10 — Присвоение классификации и группа — схема ПИМ 10 из 26 в EXPRESS-G

621

ГОСТ Р ИСО 10303-216—2023

(DER) description

-С * external source Э-

related source

V

source

source id

externally_defmed_item

item id г p

-----------------Cl |

622

relatingsource

source item

*external_source_relationship

name

name

description

description

1,3

identifier

1,1

label

*identification assignment relationship

relating_identification_assignment

related_identification_assignment

assigned_id

(ABS) identification_assignment

source

name

role

< *identification role

description

(ABS) external_identification_assignment

*applied_identification_assignment

items S[l:?]

*applied_external_identification_assignment

items S[l:?] _________

external identification item

2,4

productdefinitionrelationship

53 action

identification item

3,1 productdefinitionshape

3,2 propertydefinition

2,1 product_defin ition

5,1 action

2,2 product

5,4 versionedactionrequest

3,2 property_definition

2,4

productdefinitionrelationship

4,2 compoundrepresentationitem

1,7 product_rclatcd_product_catcgory

5,2 executed action

2,1 productdefinition

5,3 action request solution

Рисунок H.11 — Присвоение идентификации — схема ПИМ 11 из 26 в EXPRESS-G

*document_usage_constraint

ГОСТ Р ИСО 10303-216—2023

subject_element

subject_element_value

Рисунок Н.12 — Документ — схема ПИМ 12 из 26 в EXPRESS-G

623

ГОСТ Р ИСО 10303-216—2023

624

unit_component

value_component

■*measure_with_unit

/ 14,5

\ measure value

named unit >

1

name

'uncertaintyjtneasure_with_unit description

*derived unit

(DER) name

1,1 label

dimensions

unit

14,6 dimensional_exponents

-C *mass unit

-C *time unit

C *length_unit

C *ratio unit

elements S[l:?]

derived unit element

€ *luminous_intensity_unit

€ *solid_angle_unit

C *electric current unit

1

exponent

-C conversion based unit

C *thermodynamic_temperature_unit

C * amount of substance unit

*plane_angle_unit

conversion factor

name

1,1 label

C context dependent unit

< si unit

name

1,1 label

prefix

-d si_prefix

name ।---------------;---------dsi_unit_name; i

(RT) (DER) dimensions

14,6 ,dimensional_exponente,

Рисунок H.13 — Измерение с единицей измерения — схема ПИМ 13 из 26 в EXPRESS-G

ГОСТ Р ИСО 10303-216—2023

■^ length measure

measure_value j-

positivejengthmeasure t

Г"---------

I timemeasure p-

-a mass_measure

area measure

electric current measure

volume measure

r ,

} thermodynamic_temperature_measure ।

Celsius temperature measure

solid_angle_measure

amount of substance measure

planeanglemeasure

; count measure jo-

i “I

-Q *positive_plane_angle_measure j

----------------------i

-cj luminous intensity measure i

—oj parameter value [> L____________।

massexponent

< REAL

dimensional exponents

timeexponent

< REAL

electriccurrentexponent

< REAL

thermodynamic temperature exponent amount of substance exponent

length exponent

< REAL

< REAL

< REAL

luminous intensity exponent

< REAL

Рисунок H.14 — Измеряемое значение — схема ПИМ 14 из 26 в EXPRESS-G

625

ГОСТ Р ИСО 10303-216—2023

:geometric_representation_item

(PER) dim

---------------.

<| ^dimension count

626

€ geometricset

elements S[l:?] п---------------

---------------------c| i geometric_set_select

*geometric_curve_set

wireframe model

< edge_based_wireframe_model

17,8 cartesiantransformationoperator

18,1 A

curve /

24,4 edge_curve

23,3

face based surface model

24,10 face surface

17,2 placement

16,1 point

20,1

surface

17,3

vector

24,2 vertex_point

20,1 surface

ebwm boundary S[l:?] -----------------------C connected edge set

ces_edges S[ I:?]

I

__________0__________

topological representation item

24,6

loop

24,7

path

23,1 connected face set

15,4

connected edge set

24,3 edge

24,5 face bound

24,9 face

Рисунок H.15 — Геометрическое и топологическое представление — схема ПИМ 15 из 26 в EXPRESS-G

1

point >

parentjpt

■С *point_replica

transformation

basis curve

C pointoncurve

point_parameter

basis surface

■C

point_on_surfacc

point_parameter_u

point_paramctcr_v

C *cartesian_point

--------o----

ГОСТ Р ИСО 10303-216—2023

17,8 cartesian_transformation_operator

14,4 parameter_value

14,4 parameter_value

14,4 parameter_value

trimming_sclcct ■

14,4 parametervalue

coordinates L[l:3]

14,1 length_measure

equivalentjoint

evaluated_degenerate_pcurve

- -

C *degenerate_pcurve

surfaceboundary

reference to curve

4,3 definitionalrepresentation

basis surface

Рисунок H.16 — Точка — схема ПИМ 16 из 26 в EXPRESS-G

627

ГОСТ Р ИСО 10303-216—2023

*axisl placement

axis

(DER) z

*vcctor

628

placement

axis2 placement 2d

1--- --------9

(DER) p L[2:2]

ref direction

location

n--------------------

vectorordirection

-------1------

magnitude

14,1 lengthmeasure

orientation

-----------!

। transformation ।

___________i

item defined transformation

16,2 cartesian_point

n axis2_placement ' -----r------1

*axis2_placement_3d

—9---1-------'

ref direction

(DER)p L[3:3]

.0__Q_0__Q О Q___Q.

----------------C

direction ratios L[2:3]

REAL

name

transform item I

transform item 2

description

* directi on

V

4,1 representati on_i tem

4,1 repre sentati on_i tem

axis

description

-0 functionally defined transformatior

- name

(^17,7(20^

local origin

axisl

16,2 cartesian_point

*cartesian_transformation_operator

axis2

scale (DER) scl

< REAL

< REAL

j

(DER)u L[3:3]

: cartesiantran sform ati on_operat or_3 d

axis3

Рисунок H.17 — Расположение — схема ПИМ 17 из 26 в EXPRESS-G

ГОСТ Р ИСО 10303-216—2023

Рисунок Н.18 — Кривая — схема ПИМ 18 из 26 в EXPRESS-G

629

ГОСТ Р ИСО 10303-216—2023

Рисунок Н.19 — Ограниченная кривая — схема ПИМ 19 из 26 в EXPRESS-G

630

ГОСТ Р ИСО 10303-216—2023

Рисунок Н.20 — Поверхность — схема ПИМ 20 из 26 в EXPRESS-G

631

ГОСТ Р ИСО 10303-216—2023

Рисунок Н.21 — Элементарная поверхность — схема ПИМ 21 из 26 в EXPRESS-G

632

ГОСТ Р ИСО 10303-216—2023

< uniform surface

Рисунок Н.22 — Ограниченная поверхность — схема ПИМ 22 из 26 в EXPRESS-G

633

ГОСТ Р ИСО 10303-216—2023

Рисунок Н.23 — Твердая модель и обшивка — схема ПИМ 23 из 26 в EXPRESS-G

634

ГОСТ Р ИСО 10303-216—2023

Рисунок Н.24 — Топология — схема ПИМ 24 из 26 в EXPRESS-G

635

ГОСТ Р ИСО 10303-216—2023

Рисунок Н.25 — Атрибут имени и ролевая связь — схема ПИМ 25 из 26 в EXPRESS-G

636

ГОСТ Р ИСО 10303-216—2023

2,5 effectivity

7,2 person and organization_role

7,3 person_role

3,4

property _definition_representation

Рисунок H.26 — Идентификационный и описательный атрибуты — схема ПИМ 26 из 26 в EXPRESS-G

637

ГОСТ Р ИСО 10303-216—2023

Приложение J (справочное)

Машинно-интерпретируемые листинги

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

- сокращенные имена: http://www.tc184-sc4.org/Short_names/

- EXPRESS: http:www.tc84-sc4.ord/EXPRESS/

В случае каких-либо затруднений при доступе к данным сайтам, следует обращаться в Центральный секретариат ИСО или напрямую в ИСО ТК 184/ПК4 по адресу: sc4sec@tc184-sc4.org.

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

638

ГОСТ Р ИСО 10303-216—2023

Приложение К (справочное)

Руководство по применению прикладного протокола

В настоящем приложении приведены ответы на некоторые вопросы в отношении ПЭМ настоящего стандарта.

К.1 Каким образом можно привязать интервальное расстояние (spacing position) к теоретическому обводу (moulded form)?

Используйте прикладной объект local_co_ordinate_system_with_position_reference, указывающий на этот объект moulded_form.

К.2 Каким образом можно дать ссылку на определенный во внешнем коде теоретический обвод (moulded form)?

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

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

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

К.4 Руководство по использованию и определения тестовых сценариев

Руководство по использованию приведено в ESTEP АР 216 Test Case Definitions [12]. В этом руководстве описываются сценарии использования, а также примеры тестовых сценариев.

639

ГОСТ Р ИСО 10303-216—2023

Приложение L (справочное)

Технические пояснения

L.1 Модель изделия судна

Целью STEP1) является поддержка методов и функций для разработки моделей изделий. Модель изделия — это однозначное представление изделия, такого как судно, автомобиль, самолет или производственная установка, в нейтральном машинно-интерпретируемом формате, на протяжении всего срока службы изделия. Задача состоит в том, чтобы представить изделие от этапа определения требований и концептуального проектирования до производства, технического обслуживания и, наконец, вывода из эксплуатации и демонтажа. Представление должно включать все геометрические и негеометрические данные, связанные с изделием, включая топологию, геометрию, функциональность, прочность, параметры и характеристики, статус состояния и историю обслуживания.

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

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

Ключевыми элементами модели изделия судна являются:

- планы расположения;

- теоретические обводы;

- механические системы (машины и механизмы, силовые установки, погрузо-разгрузочные системы);

- конструкции;

- распределительные системы (трубопроводы, ОВКВ, электрические, гидравлические/пневматические);

- оснащение и меблировка;

- связь;

- боевые системы;

- навигация;

- эксплуатация.

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

- ИСО 10303-215: Ship Arrangements (планы расположения судна);

- ИСО 10303-216: Ship Moulded Forms (теоретические обводы судна);

- ИСО 10303-218: Ship Structures (судовые конструкции).

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

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

L.2 Общая модель судна

ОМК определяет общий каркас и основу моделирования для всех ПП в области судостроения в целях обеспечения взаимодействия между этими ПП.

1) Стандарт по обмену данными моделей изделий.

640

ГОСТ Р ИСО 10303-216—2023

Рисунок L.1 — Модель изделия судна

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

ОМК описывается в руководстве по разработке ПП для судостроения [11]. В этом руководстве описываются:

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

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

- общая модель судна.

L.3 Руководство по моделированию

Руководство по моделированию можно рассматривать как расширение языка EXPRESS, определенного в разделе 11 STEP. Оно определяет использование конструктивов языка EXPRESS для моделирования данных в области судостроения. Это руководство по моделированию также используют в общей модели судна.

Все работы по моделированию ПП в области судостроения выполняются в форме стандартных блоков. Стандартный блок — это спецификация на основе языка EXPRESS, которая используется для определения функциональной единицы для точки доступа. Функциональная единица может включать один или несколько стандартных блоков. Стандартный блок состоит из трех схем:

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

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

- схема модели, определяющая все новые элементы для данного стандартного блока.

641

ГОСТ Р ИСО 10303-216—2023

Граничные объекты.

Поверхность.

Каркас.

Точка ординаты

Рисунок L.2 — Структура настоящего стандарта

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

- имя стандартного блока;

- размер стандартного блока;

- существующие стандартные блоки;

- комментирование стандартных блоков;

- ограничения по использованию языка EXPRESS;

- ссылки на ресурсы STEP;

- ограничения на количество элементов в стандартных блоках;

- модельные функции;

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

- импортирование стандартных блоков в прикладные протоколы;

- составление стандартных блоков.

Руководство по комментированию стандартных блоков имеет важность для ПП и т. д. Эти комментарии используются инструментами для (полу)автоматического создания пунктов 4.2 и 4.3 ПП.

L.4 Каркас моделирования

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

- definitions;

- generic_product_structures;

- representation_resources.

Этот каркас представляет собой укрупненный подход, который делит модель изделия на основные конструктивы, а именно:

- items (элементы);

642

ГОСТ Р ИСО 10303-216—2023

- definitions (определения);

- representations (представления),

при этом они связаны через ряд обобщенных отношений, приведенных на рисунке L.3.

- топология судна, отдельный физический объект

- свойства,

аспекты жизненного цикла, как определяется физический объект

- описания свойств, как они представлены

Рисунок L.3 — Каркас моделирования

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

К типовым элементам в судостроительных прикладных протоколах относятся:

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

- оборудование (насос, генератор, главный двигатель, труба и пр.);

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

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

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

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

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

- поверхностного представления;

- интервального положения.

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

Высокоуровневые отношения между основными конструктивами каркаса моделирования могут ограничиваться в подтипе каждого ПП. Это выполняется переопределениями атрибутов. Например, определение проекта теоретического обвода, подтип определения определяется для теоретического обвода, который является подтипом элемента, как показано на рисунке L.5.

L.5 Модели предметной области

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

В состав общей модели судна входят следующие модели предметной области:

- структура изделия (product structure);

- часть (part);

- структура изделия по системам (product structure by system);

- структура изделия по сборке (product structure by assembly);

- структура изделия по пространству (product structure by space);

- возможность подключения.

643

ГОСТ Р ИСО 10303-216—2023

Время

Рисунок L.4 — Понятие жизненного цикла

Рисунок L.5 — Переопределение атрибутов

L.6 Общие утилиты

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

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

- общих параметров судна (ship general characteristics);

- управления конфигурацией (configuration management);

- концепции местоположения [глобальная локальная система координат, пространственная сетка (location concepts (global local co-ordinate system, spacing grid)];

- базовой геометрии и топологии (basic geometry and topology);

- точек форм обводов (moulded form points);

- линий форм обводов (moulded form lines);

- поверхности форм обводов (moulded form surfaces);

- судов (ships);

- материалов (materials);

- функций (features);

- единиц измерений (units);

- внешней ссылки/внешней ссылки на экземпляр.

Подробная информация о ОМК, а также руководство по моделированию представлены в руководстве по разработке ПП для судостроения (АР Development Guidelines for Shipbuilding).

L.7 Параметры и единицы

Некоторые атрибуты прикладных объектов в настоящем стандарте определяют отношения к типам параметров. Необходимая единица измерения, соответствующая каждому параметру, определяется глобально в атрибуте unit объекта Ship (см. 4.2.88) или локально в атрибуте local_units объекта Definition (см. 4.2.23). Единицы могут быть указаны либо в единицах СИ, либо в других системах единиц измерения.

Существует много объектов ПЭМ, которые определяют свои собственные локальные единицы. Для отображения такой локальной единицы требуется property_defintion_representation (где name = «local units») для указания представления с помощью global_unit_assigned_context. Однако у многих из этих же объектов ПЭМ уже имеются атрибуты, которые отображают другое представление, содержащее сложный объект geometric_representation_ context и global_unit_assigned_context. Такой сложный экземпляр требуется правилом 5.2.4.114 — representation_

644

ГОСТ Р ИСО 10303-216—2023

has_global_unit_assigned_context. Также, если с параметром связано значение допуска, для сложного экземпляра будет иметься дополнительный вид объекта global_uncertainty_assigned_context. Поэтому, если объекту ПЭМ требуются локальные единицы измерения, рекомендуется, чтобы единицы, связанные с этим сложным экземпляром, были такими же, как единицы, на которые приведена ссылка через ссылочный путь атрибута local units.

В таблице L.7 приведены единицы, используемые в прикладной интерпретируемой модели настоящего стандарта, соответствующие каждому типу параметра ПЭМ.

Таблица L.7 — Параметры ПЭМ и соответствующие параметры и единицы ПИМ

Ссылка атрибута прикладного объекта

Параметры и единицы, используемые в прикладной интерпретируемой модели

Area_measure

value_representation_item с value_representation_item.value_component вида area_measure и derived_unit в наборе элементов, указанных из global_unit_as-signed_context.units. Где derived_unit.name будет area_unit.

Derived_unit.elements будет состоять из одного derived_unit_element:

1) derived_unit_element.unit = length_unit, a derived_unit_element.exponent = 2.

Length_measure

value_representation_item c value_representation_item.value_component вида length_measure and length_unit в наборе элементов, указанных из global_unit_ assigned_context.units

Positive_length_measure

value_representation_item c value_representation_item.value_component вида positive_length_measure и length_unit в наборе элементов, указанных из glob-al_unit_assigned_contextunits

Luminous_intensity_measure

value_representation_item с value_representation_item.value_component вида luminous_intensity_measure и luminous_intensity_unit в наборе элементов, указанных из global_unit_assigned_context.units

Mass_measure

value_representation_item с value_representation_item.value_component вида mass_measure и mass_unit в наборе элементов, указанных из global_unit_as-signed_context.units

Plane_angle_measure

value_representation_item с value_representation_item.value_component вида plane_angle_measure и plane_angle_unit в наборе элементов, указанных из glob-al_unit_assigned_context.units.

Ratio_measure

value_representation_item с value_representation_item.value_component вида ra-tio_measure и ratio_unit в наборе элементов, указанных из global_unit_assigned_ context.units

Thermodynamic_temperature_ measure

value_representation_item c value_representation_item.value_component вида thermodynamic_temperature_measure и thermodynamic_temperature_unit в

наборе элементов, указанных из global_unit_assigned_context.units

Volume_measure

value_representation_item с value_representation_item.value_component вида vol-ume_measure and derived_unit in в наборе элементов, указанных из global_unit_ assigned_context.units. Где derived_unit.name будет volume_unit.

Derived_unit.elements будет состоять из одного derived_unit_element:

1) derived_unit_element.unit = length_unit, a derived_unit_element.exponent = 3.

Density_measure

value_representation_item c value_representation_item.value_component вида context_dependent_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет density. Derived_ unit.elements будет состоять из двух derived_unit_elements:

1) derived_unit_element.unit = mass_unit, a derived_unit_element.exponent = 1;

2) derived_unit_element.unit = length_unit, a derived_unit_element.exponent = -3.

Force_measure

value_representation_item c value_representation_item.value_component вида context_dependent_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет force_unit. De-rived_unit.elements будет состоять из трех derived_unit_elements:

1) derived_unit_element.unit = mass_unit, a derived_unit_element.exponent = 1;

2) derived_unit_element.unit = length_unit, a derived_unit_element.exponent = 1;

3) derived_unit_element.unit = time_unit, a derived_unit_element.exponent = -2.

645

ГОСТ Р ИСО 10303-216—2023

Окончание таблицы L. 7

Ссылка атрибута прикладного объекта

Параметры и единицы, используемые в прикладной интерпретируемой модели

lnertia_moment_measure

value_representation_item с value_representation_item.value_component вида context_dependent_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет inertia_moment_ unit. Derived_unit.elements будет состоять из одного derived_unit_element:

1) derived_unit_element.unit = lenth_unit и derived_unit_element.exponent = 4.

Moment_measure

value_representation_item c value_representation_item.value_component вида context_dependent_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет moment_unit. Derived_unit.elements будет состоять из трех derived_unit_elements:

1) derived_unit_element.unit = mass_unit and derived_unit_element.exponent = 1;

2) derived_unit_element.unit = length_unit and derived_unit_element.exponent = 2;

3) derived_unit_element.unit = time_unit and derived_unit_element.exponent = -2.

Р ress u re_m еа su re

value_representation_item c value_representation_item.value_component вида context_dependent_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived unit.name будет pressure_unit. Derived_unit.elements будет состоять из трех derived_unit_elements:

1) derived_unit_element.unit = mass_unit and derived_unit_element.exponent = 1;

2) derived_unit_element.unit = length_unit and derived_unit_element.exponent = -1;

3) derived_unit_element.unit = time_unit and derived_unit_element.exponent = -2.

Speed_measure

value_representation_item c value_representation_item.value_component вида context_dependent_measure и derived_unit в наборе элементов, указанных из global_unit_assigned_context.units. Где derived_unit.name будет speed_unit. Derived_unit.elements будет состоять из двух derived_unit_elements:

1) derived_unit_element.unit = length_unit and derived_unit_element.exponent = 1;

2) derived_unit_element.unit = time_unit and derived_unit_element.exponent = -1.

L.8 Использование однозначного глобального идентификатора

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

- отдельный обмен элементами, определениями и представлениями внутри ПП при сохранении взаимосвязей между этими прикладными объектами. Например, первый обмен может идентифицировать только moulded_ forms, отправляя только объекты Moulded_form, в то время как второй обмен может содержать определенные свойства и представления, отправляя объекты Moulded_form и Moulded_form_design_definition;

- отдельный обмен одной моделью судна с использованием ПП АР 216 с сохранением взаимосвязей между выбранными прикладными объектами АР 216. Например, первый обмен может включать в себя объект Moulded_ form корпуса, а второй — объект Moulded_form главной палубы, граница которого определяется объектом External_ instance_reference, содержащим однозначный глобальный идентификатор корпуса;

- отдельный обмен одной моделью с использованием нескольких точек доступа в области судостроения с сохранением взаимосвязей между прикладными объектами в разных точках доступа. Например, первый обмен может включать в себя объект Moulded_form палубы в АР 216, а второй может включать в себя листы (Plates) главной палубы в АР 218, нижняя поверхность которых определяется объектом External_instance_reference, содержащим однозначный глобальный идентификатор палубы moulded_form в АР 216.

Однозначные глобальные идентификаторы и пошаговые обмены важны для судостроения по следующим причинам:

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

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

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

646

ГОСТ Р ИСО 10303-216—2023

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

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

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

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

- сотрудничество. Ряд компаний могут сотрудничать при проектировании и изготовлении судна или класса судов. Это возможно только в том случае, если каждая компания сможет определять пошаговые изменения, внесенные каждой компанией.

L.8.1 Функциональные требования

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

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

- каждая система ПО должна назначать постоянные идентификаторы GUID каждому созданному или обновленному прикладному объекту;

- каждая система ПО должна поддерживать доступ к прикладному объекту через GUID;

- каждая система ПО должна хранить идентификатор GUID всех прикладных объектов;

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

L.8.2 Ограничения реализации

Для поддержки этой нотации идентификатора GUID допускается использовать ряд различных схем и технологий реализации. Однако существует несколько ограничений реализации, которые следует учитывать:

- должна поддерживаться функциональная совместимость между компаниями, приложениями/системами и технологиями. (Идентификатор не должен быть непрозрачным, но должен раскрывать основные элементы данных, необходимые для постоянной идентификации. Непрозрачные идентификаторы были заданы в CORBA v1 и, как оказалось, препятствовали взаимодействию между системами);

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

- идентификаторы экземпляров должны содержать уникальные глобальные идентификаторы типов, но при этом также иметь дополнительные требования. Следовательно, идентификаторы экземпляров несут больше информации, чем идентификаторы типов (например, PLIB BSU);

- идентификатор должен быть символьным, а синтаксис должен быть указан таким образом, чтобы можно было использовать стандартные отраслевые инструменты и алгоритмы;

- идентификатор должен поддерживать использование существующей части 21 и SDAI, а также использование ожидаемого XML части 28;

- идентификаторы должны быть основаны на уникальной идентификации отдельных объектов данных в программном приложении. Общая модель судна обычно использует четыре или более объектов для описания одного объекта данных: item, design_definition, functional_definition и manufacturing_defintion. При том что важно однозначно идентифицировать каждый прикладной объект STEP, для программного приложения также важно однозначно идентифицировать объект данных, который генерирует эти прикладные объекты STEP.

L.8.3 Формат GUID, рекомендованный ISE

В проекте интегрированной среды в области судостроения (ISE) приняты и внедряются трансляторы на основе следующего формата GUID.

Атрибут ПЭМ Globaljd.id (атрибут ПИМ applied_classification_assignment.id) записывается в виде строки в следующем формате:

'<ХХ_Кеу x_href=YY ld=WW x-owner=ZZ x-rev=AA/>'

Определение аргументов:

ХХ_Кеу - XX — это имя связанного объекта ПЭМ, например Moulded_form_function_definition. Этот аргумент является обязательным. Первая буква объекта приложения заглавная, остальные строчные. Суффикс = «_Кеу».

x-href=YY - YY — это URL-адрес SOAP-сервера и/или базы данных. Этот аргумент является обязательным.

ld=WW - WW — это строка, идентифицирующая объект. Идентификатор Id необходим только для definable_ objects. Идентификатор Id может быть одним из двух типов:

647

ГОСТ Р ИСО 10303-216—2023

Value (прозрачное использование) — уникальное значение, идентифицирующее данный экземпляр

GUID (непрозрачное использование) — сгенерированный системой идентификатор. Должен иметь префикс “guid:» x-owner=ZZ - ZZ — это строка, идентифицирующая объект. Этот аргумент требуется только для объектов Definition. Та же строка, что и идентификатор Id связанного объекта definable_object.

x-rev=AA-АА— номер изменения. Этот аргумент требуется только для объектов Definition. Та же строка, что и Definition.versionjd attribute.

Сочетание (XX_key, x-href, Id) уникально для definable_objects.

Сочетание (XX_key, x-href, x-owner, x-rev) уникально для Definitions

Пример 1 — Следующие примеры иллюстрируют такое использование для связанных объектов moulded form в прикладном протоколе АР 216:

'<Moulded_form_Key x-href=”//j oshua.ingr.com”

ld=”guid:123-123-123”/>'

'<Moulded form ^functional_definition_Кеу

x-href= ’7/joshua.ingr. com ”

x-owner=”guid:123-123-123”

x-rev-”A”f>'

'<Moulded_form_design_definition_Key

x-href= ’7/joshua.ingr. com ”

x-owner=”guid:123-123-123”

x-rev=”A”/>'

Пример 2 — Объект Part определен в языке EXPRESS и инстанцирован в репозитории, локатором которого является «http://www.acme.com/stepdataserver». В приведенном ниже примере показано, как его постоянный идентификатор будет закодирован, а затем представлен в файле части 21:

SCHEMA part_schema;

ENTITY Part

Name: STRING;

Description: STRING;

END_ENTITY;

END_SCHEMA;

Глобально-уникальный постоянный идентификатор для экземпляра этого типа будет закодирован как: <Part_Key href = «http://www.acme.com/stepdataserver» Id = “Р1” l>

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

Глобально уникальное имя типа представляет собой комбинацию схемы на языке EXPRESS и имен типов, отображаемых в соответствии с ISO/TS 10303-28. Имя EXPRESS SCHEMA связано с пространством имен типа («urn:iso10303:osb/part_schema»); а имя EXPRESS ENTITY фиксируется как квалифицированное имя элемента со строкой '_Кеу', к которой добавлено (p:Part_Key). Атрибут xlink:href фиксирует локатор репозитория, который управляет экземпляром. Он включает орган (компанию) и устанавливает глобальную уникальность идентификатора. Остальные элементы фиксируют имена и значения атрибутов локальной идентификации (Id = «Р1»), которые будут гарантированно уникальными в репозитории. Рекомендуемое имя при наличии одного локального идентификатора — Id.

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

Система, использующая сгенерированные системой идентификаторы объектов (например, guid's), будет использовать строку guid в качестве значения первого ключевого атрибута.

<p:Part_Key xmlns:p = “urn:iso10303:osb/part_schema” x-id = “_10”

xlink:href = «http://www.acme.com/stepdataserver»

Id = “guid: BDA4A1BA-110C-11d0-8CC3-0080F394BA32” x-rev = “A7>

Глобально-уникальный постоянный идентификатор будет представлен в файле STEP как:

#10 = Part('PT,'Description for this part');

#20 = appliedjdentification_assignment(

'<p:Part_Key xmlns:p = “urn:iso10303:osb/part_schema”

xlink:href = «http://www.acme.com/stepdataserver» Id = “P1” x-re v= “A7>',

#21,#10);

#21 = identification_role('xml_guid','');

648

ГОСТ Р ИСО 10303-216—2023

Приложение ДА (справочное)

Информация об учете технической поправки к ИСО 10303-216:2003

В текст настоящего стандарта внесена техническая поправка ИСО 10303-216:2003/Попр. 1:2008.

Эта поправка относится к следующим элементам стандарта:

- подпункт 4.1.14 (добавление прикладного объекта Surface_with_identifier в ПЭМ в функциональную единицу surface_representations);

- подпункт 4.2.110 (4.2.110.1) после подпункта 4.2.109.1 [добавление прикладного объекта Surface_with_ identifier в прикладную эталонную модель (ПЭМ (ARM)), изменение нумерации следующих за ним подпунктов соответственно];

- подпункт 4.3.109, после подпункта 4.3.108 [добавление условия между прикладными объектами Surface_ with_identifier и Globaljd в ПЭМ, изменение нумерации следующих за ним подпунктов соответственно];

- подпункт 5.1.1.9 [добавление заключающих косых черт в шаблоны отображения (Mapping Templates), на которые ссылаются другие шаблоны отображения];

- подпункт 5.1.1.10 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.11 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.12 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.13 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.14 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.18 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.23 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.28 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.30 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.31 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.32 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.33 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.34 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.35 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.36 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.38 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.39 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.40 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения)

- подпункт 5.1.1.42 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.43 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.44 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.45 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.47 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

649

ГОСТ Р ИСО 10303-216—2023

- подпункт 5.1.1.48 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.51 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.1.54 (добавление заключающих косых черт в шаблоны отображения данных, на которые ссылаются другие шаблоны отображения);

- подпункт 5.1.13.2 [не используются параметры плотности, силы и давления. Целью данного изменения является удаление фрагментов «Пути Отображения» (Mapping Path) Derived_unit в части единицы плотности, единицы силы и единицы давления и замена другим текстом];

- подпункт 5.1.15.3 (5.1.15.3.1) (добавление спецификации отображения для прикладного объекта Surface_ with identifier);

- пункт 5.2 (добавление context_dependent_measure в USE FROM measure_schema);

- подпункт 5.2.2.4 [изменение AIM EXPRESS с целью добавления определения прикладного объекта Surface_with_identifier и исправления ошибок компиляции глобальных правил, добавление поверхности (surface) и representationjtem в выбор типа classificationjtem Select type];

- подпункт 5.2.2.10 [изменение AIM EXPRESS с целью добавления отображения прикладного объекта Surface withJdentifier, добавление Surface (поверхность) в выбор типа identificationjtem Select type];

- подпункт 5.2.4.42 (исправление ошибки глобального правила, замена определения EXPRESS другим текстом);

- подпункт 5.2.4.144 (исправление ошибки компиляции глобального правила и приведение правила в соответствие с другими этого же типа, замена текста);

- подпункт 5.2.4.150 (изменение AIM EXPRESS с целью добавления отображения Surface_withJdentifier в прикладное условие Globaljd, добавление глобального правила для обеспечения данного прикладного условия, приведение нового подпункта 5.2.2.149 после подпункта 5.2.4.148, изменение нумерации следующих за ним подпунктов соответственно;

- приложение А (страница 420: изменение AIM EXPRESS с целью добавления определения прикладного объекта Surface_withjdentifier и исправления ошибок компиляции глобальных правил. Добавление поверхности surface и representationjtem в classificationjtem Select type);

- приложение А (страница 420: добавление context_dependent_measure в раширенный листинг AIM EXPRESS);

- приложение А (страница 422: изменение расширенного листинга AIM EXPRESS с целью добавления отображения прикладного объекта Surface withJdentifier, добавление поверхности Surface в выбор типа identification_ item Select type);

- приложение А (страница 423: добавление context_dependent_measure в measure_value SELECT Type);

- приложение А (страница 476: исправление ошибки в глобальном правиле, замена текста);

- приложение А (страницы 522, 523: изменение AIM EXPRESS с целью добавления отображения Surface_ withjdentifier в прикладное условие Global_ id);

- приложение С [добавление части 28 в качестве допустимого метода реализации дополнительно к части 21, добавление спецификации значений для настоящего стандарта в целях использования данной возможности (добавлены пункты С.1 — С.З)];

- приложение Е (замена идентификаторов объектов);

- приложение G (изменение AIM EXPRESS с целью добавления прикладного объекта Surface_withjdentifier, замена рисунка G.24);

- приложение Н (изменение AIM EXPRESS-G в целях добавления ссылки на другую страницу к representation_ item для classificationjtem SELECT type, замена рисунка Н.4);

- приложение Н (изменение AIM EXPRESS-G в целях добавления поверхности surface и representationjtem в classificationjtem SELECT type, замена рисунков Н.10, Н.11);

- приложение Н (добавление context_dependent_measure в measure_value SELECT Туре в схеме AIM, замена рисунка Н.14);

- приложение Н (изменение AIM EXPRESS-G в целях корректировки ссылок на другие страницы для поверхности, замена рисунка Н.20);

- приложение L, таблица L.7 (удаление Density_measure и Force_measure, удаление Pressure_measure в связи с их неприменением в настоящем стандарте).

650

ГОСТ Р ИСО 10303-216—2023

Приложение ДБ (справочное)

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

Таблица ДБ.1

Обозначение ссылочного международного стандарта, документа

Степень соответствия

Обозначение и наименование соответствующего национального стандарта

ISO 31 (all parts)

*

ISO 1000:1992

*

ISO 10303-1:1994

1)

ISO/IEC 8824-1:1998

IDT

ГОСТ Р ИСО/МЭК 8824-1—2001 «Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации»

ISO 10303-11:1994

ISO 10303-21:2002

*

ISO 10303-22:1998

IDT

ГОСТ Р ИСО 10303-22—2002 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 22. Методы реализации. Стандартный интерфейс доступа к данным»

ISO/TS 10303-28

*

ISO 10303-31:1994

*

ISO 10303-41:2000

*

ISO 10303-42:2000

*

ISO 10303-43:2000

*

ISO 10303-45:1998

*.2)

ISO 10303-501:2000

IDT

ГОСТ Р ИСО 10303-501—2006 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 501. Прикладные интерпретированные конструкции. Каркасное представление формы на основе ребер»

ISO 10303-508:2001

IDT

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

ISO 10303-511:2001

IDT

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

RFC 2396:1998

*

* Соответствующий национальный стандарт отсутствует. До его принятия рекомендуется использовать перевод на русский язык данного международного стандарта (документа).

Примечание — В настоящей таблице использовано следующее условное обозначение степени соответствия стандартов:

- IDT — идентичные стандарты.

1> Действует ГОСТ Р ИСО 10303-1—2022 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 1. Общие представления и основополагающие принципы», идентичный ИСО 10303-1:2021.

2) Действует ГОСТ Р ИСО 10303-45—2022 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 45. Интегрированный обобщенный ресурс. Материал и другие технические характеристики», идентичный ИСО 10303-45:2019.

651

ГОСТ Р ИСО 10303-216—2023

Библиография

[1]

ISO 10303-209:2001

Industrial automation systems and integration — Product data representation and exchange — Part 209: Application protocol: Composite and metallic structural analysis and related design

[2]

ISO 10303-212:2000

Industrial automation systems and integration — Product data reresentation and exchange — Part 212: Application protocol: Electrotechnical design and installation

[3]

ISO 10303-215:2004

Industrial automation systems and integration — Product data representation and exchange — Part 215: Application protocol: Ship arrangement

[4]

ISO 10303-218:2004

Industrial automation systems and integration — Product data representation and exchange — Part 218: Application protocol: Ship structures

[5]

ISO 10303-227:2005

Industrial automation systems and integration — Product data representation and exchange — Part 227: Application protocol: Plant spatial configuration

[6]

ISO 10303-233:2012

Industrial automation systems and integration — Product data representation and exchange — Part 233: Application protocol: Systems engineering data representation

[7]

ISO 10303-234

Industrial automation systems and integration — Product data representation and exchange — Part 234: Application protocol: Ship Operational logs, records, and messages

[8]

ISO 13584-42:1998

Industrial automation systems and integration — Parts library — Part 42: Description methodology: Methodology for structuring part families

[9] IDEFO Federal Information Processing Standards Publication 183, Integration Definition for Function Modeling (IDEFO), FIPS PUB 183, National Institute of Standards and Technology, December 1993

[10] ] Lewis, Edward J., Editor, «Principles of Naval Architecture, Second Revision», The Society of Naval Architects and Marine Engineeers, 1988

[11] AP Development Guidelines for Shipbuilding, ISO TC184/SC4/WG3 N701, 19th October, 1997

[12] ESTEP AP 216 Test Case Definition, Rev. C, ISO TC184/SC4/WG3 N1143, 18th December, 2001

652

УДК 629.5.012.6:006.35

ГОСТ Р ИСО 10303-216—2023

ОКС 25.040.40

47.020.10

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

653

Редактор Н.В. Таланова

Технический редактор В.Н. Прусакова

Корректор И.А. Королева

Компьютерная верстка Е.О. Асташина

Сдано в набор 02.02.2024. Подписано в печать 13.03.2024. Формат 60x84%. Гарнитура Ариал.

Усл. печ. л. 76,50. Уч.-изд. л. 69,23.

Подготовлено на основе электронной версии, предоставленной разработчиком стандарта

Создано в единичном исполнении в ФГБУ «Институт стандартизации» , 117418 Москва, Нахимовский пр-т, д. 31, к. 2.