ГОСТ Р ИСО 10303-55-2015
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Системы автоматизации производства и их интеграция
ПРЕДСТАВЛЕНИЕ ДАННЫХ ОБ ИЗДЕЛИИ И ОБМЕН ЭТИМИ ДАННЫМИ
Часть 55
Интегрированный обобщенный ресурс. Процедурное и гибридное представление
Industrial automation systems and integration. Product data representation and exchange. Part 55. Integrated generic resource. Procedural and hybrid representation
ОКС 25.040.40
Дата введения 2016-10-01
Предисловие
1 ПОДГОТОВЛЕН Федеральным государственным автономным научным учреждением "Центральный научно-исследовательский и опытно-конструкторский институт робототехники и технической кибернетики" (ЦНИИ РТК) на основе собственного перевода на русский язык англоязычной версии стандарта, указанного в пункте 4
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 459 "Информационная поддержка жизненного цикла изделий"
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 21 июля 2015 г. N 929-ст
4 Настоящий стандарт идентичен международному стандарту ИСО 10303-55:2005* "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 55. Интегрированный обобщенный ресурс. Процедурное и гибридное представление" (ISO 10303-55:2005 "Industrial automation systems and integration - Product data representation and exchange - Part 55: Integrated generic resource: Procedural and hybrid representation", IDT) с учетом Технической поправки N 1 (2005) (ISO 10303-55:2005/Cor.1:2005). Изменения (поправки) выделены двойной вертикальной линией, расположенной слева от соответствующего текста.
________________
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - .
При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов и документов соответствующие им национальные стандарты, сведения о которых приведены в дополнительном приложении ДА
5 ВВЕДЕН ВПЕРВЫЕ
6 ПЕРЕИЗДАНИЕ. Март 2020 г.
Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
Введение
Стандарты комплекса ИСО 10303 распространяются на компьютерное представление информации об изделиях и обмен данными об изделиях. Их целью является обеспечение нейтрального механизма, способного описывать изделия на всем протяжении их жизненного цикла. Этот механизм применим не только для обмена файлами в нейтральном формате, но является также основой для реализации и совместного доступа к базам данных об изделиях и организации архивирования.
Стандарты комплекса ИСО 10303 представляют собой набор отдельно издаваемых стандартов (частей). Стандарты данного комплекса относятся к одной из следующих тематических групп: "Методы описания", "Методы реализации", "Методология и основы аттестационного тестирования", "Интегрированные обобщенные ресурсы", "Интегрированные прикладные ресурсы", "Прикладные протоколы", "Комплекты абстрактных тестов", "Прикладные интерпретированные конструкции" и "Прикладные модули". Полный перечень стандартов комплекса ИСО 10303 представлен на сайте http://www.tc184-sc4.org/titles/STEP_Titles.htm. Настоящий стандарт входит в тематическую группу "Интегрированные обобщенные ресурсы". Он подготовлен подкомитетом SC4 "Производственные данные" Технического комитета 184 ИСО "Системы автоматизации производства и их интеграция". Интегрированные обобщенные русурсы, интегрированные прикладные ресурсы и прикладные интерпретированные конструкции определяют единую концептуальную модель данных изделия.
Настоящий стандарт определяет две схемы - procedural_model_schema и procedural_shape_model_schema и обеспечивает общие механизмы для представления моделей в терминах операций, используемых для их построения. Сами операции, из которых строятся модели, представлены объектными типами данных, определенными в других стандартах комплекса ИСО 10303 и интерпретируемыми как конструкторы. Преимуществами процедурных моделей являются легкость редактирования, простота изменения значений параметров, используемых в качестве аргументов операций, используемых для построения моделей. Можно сказать, что процедурные модели заключают в себе информацию о концепции конструкции в том смысле, что их модификации соответствуют схеме параметризации, заложенной их разработчиком, а также соответствуют любым ограничениям, наложенным конкретными операциями, использованными при построении модели. Поэтому при передаче процедурной модели в принимающую систему вместе с ней передается информация о том, как данная модель будет себя вести при ее редактировании после передачи.
Однако процедурные модели имеют и недостаток, заключающийся в том, что они в своей строгой форме содержат мало или не содержат вообще информации о результате реально выполняемой последовательности операций. Поэтому они не подходят в качестве основы для автоматизации многих технологических процессов, зависящих от использования явно заданной геометрической информации, например при обработке на станках с числовым программным управлением или в координатно-измерительных машинах.
В технических системах обычно используют преимущества обоих подходов к моделированию с помощью использования двойственного представления, сочетающего первичное представление процедурного или конструкционного типа с вторичным явно заданным представлением. Другие ресурсы комплекса 10303 обеспечивают элементы, необходимые для явно заданных представлений. Настоящий стандарт не только определяет ресурсы для процедурных представлений, но также обеспечивает возможность использования двойственной модели за счет связи процедурной модели с соответствующим ей явно заданным представлением.
Исходным назначением настоящего стандарта было обеспечение работы и обмена в CAD-системах представлениями формы процедурного и гибридного типов (гибридное представление в своей основе является процедурным, но содержит еще некоторые явно заданные элементы). Однако реализованные возможности обладают также обобщенной применимостью для передачи любых типов процедурно представленных или гибридных моделей, геометрических или негеометрических. Для явно заданных представлений моделей формы основным ресурсом является ИСО 10303-42.
Поскольку процедурные представления по своей сути являются параметрическими, их можно редактировать с помощью изменения значений входных аргументов в процедурах построения. Однако при этом требуется, чтобы оператор системы имел соответствующий уровень понимания основополагающих принципов, лежащих в основе исходного метода построения модели. Ко времени выпуска настоящего стандарта не существовало метода для автоматического сбора информации об основополагающих принципах конструкции при построении модели. Поэтому в настоящем стандарте для представления данной информации используется описательный текст, поставленный, как предполагается, исходным разработчиком модели.
Полезно показать различие между концепцией конструкции и ее основополагающими принципами. Концепция конструкции заключена в схемах параметризации и ограничениях, наложенных на модели при их построении. Поэтому она демонстрирует способы, с помощью которых модель может редактироваться. С другой стороны основополагающие принципы характеризуют причины того, почему была принята конкретная конфигурация или процесс построения модели, то есть логику, лежащую в основе концепции конструкции.
В промышленности мотивация выбора для обмена процедурных, гибридных или двойственных представлений возникает из-за трудностей, возникающих при редактировании явно заданных моделей, соответствующих ИСО 10303, в принимающей системе после передачи модели. Если передается только явно заданная модель, как это было в прошлом, то концепция конструкции, заключенная в процедурной компоненте двойственной модели в передающей системе, теряется при передаче. Следствием этого является то, что принятая модель является неполной по важным аспектам, а ее редактирование затруднено или невозможно.
Более подробное освещение тем, охватываемых настоящим стандартом, дано в работах [6]-[9].
Схемы, определенные в настоящем стандарте, имеют следующее содержание:
- procedural_model_schema - основные механизмы для представления процедурных и гибридных моделей и для фиксации основополагающих принципов конструкции;
- procedural_shape_model_schema - специализация схемы procedural_model_schema для конкретного варианта геометрических моделей.
Взаимосвязи между схемами, использованными в настоящем стандарте, и другими схемами, определяющими интегрированные ресурсы стандартов комплекса ИСО 10303, показаны на рисунке 1 с использованием графической нотации EXPRESS-G языка EXPRESS. Графическая нотация EXPRESS-G определена в ИСО 10303-11, приложение D.
Схемы, присутствующие на рисунке 1, являются компонентами интегрированных ресурсов и определены в следующих стандартах комплекса ИСО 10303:
- product_property_representation_schema - ИСО 10303-41;
- support_resource_schema - ИСО 10303-41;
- geometric_model_schema - ИСО 10303-42;
- geometry_schema - ИСО 10303-42;
- topology_schema - ИСО 10303-42;
- representation_schema - ИСО 10303-43;
- variational_representation_schema - ИСО 10303-108.
Примечания
1 Процедурная модель является представлением процесса построения, и поэтому можно предположить, что ИСО 10303-49 [1] может быть подходящим ресурсом в качестве основы для настоящего стандарта. Однако определение процесса в ИСО 10303-49 является слишком узким:
процесс (process): Конкретная процедура для выполнения чего-либо, состоящая из одного или нескольких шагов или операций. В результате процесса может быть создано изделие, характеристика изделия или внешний вид изделия.
Таким образом, в ИСО 10303-49 процесс связан с созданием физического объекта или некоторых его характеристик. В отличие от этого целью настоящего стандарта является обеспечить средства для фиксации и передачи процессов построения представлений или моделей обобщенных объектов, существующих только как абстракции в компьютере или базе данных. По этой причине, а также потому, что можно получить преимущество от очень тесной взаимосвязи между операциями процедурного моделирования и существующими объектами, определенными в других интегрированных ресурсах комплекса ИСО 10303, ИСО 10303-49 не был взят за основу при разработке настоящего стандарта.
2 На рисунке 1 схемы, определенные в настоящем стандарте, заключены в прямоугольник с утолщенными линиями. Конкретные связующие объекты не показаны.
Рисунок 1 - Взаимосвязи между схемами настоящего стандарта (показаны внутри прямоугольника) и схемами других ресурсов
1 Область применения
Настоящий стандарт определяет конструкции интегрированного обобщенного ресурса для представления моделей процедурного или конструкционного типа, определенных в терминах последовательности конструкционных операций, используемых для их построения. Представление самих операций в настоящем стандарте не рассматривается; механизмы, представленные в настоящем стандарте, позволяют использовать для этой цели объектные типы данных, определенные в других стандартах комплекса 10303 (см. 4.2.5).
Требования настоящего стандарта распространяются на:
- спецификацию последовательностей конструкционных операций для генерации любого типа представления модели в явном виде;
- иерархическое структурирование конструкционных последовательностей;
- встраивание элементов, определенных в явном виде, в конструкционные последовательности для представления гибридных моделей;
- использование определений объекта representation_item из других стандартов комплекса 10303 для представления конструкционных операций для экземпляров объектов representation_item;
- определение двойственного представления с помощью связи процедурной модели с явно заданной моделью "текущего результата", которая исполняет роль репрезентативного примера параметрического семейства моделей, определенных с помощью процедурной модели;
- связь информации об основополагающих принципах конструкции с процедурной моделью;
- идентификацию в процедурной модели определенных в явном виде элементов, которые выбираются с помощью интерактивного отбора из визуального отображения модели в передающей системе;
- идентификацию в процедурной модели конструкционных операций, которые могут быть изъяты в целях упрощения модели;
- конкретизацию вышеизложенных возможностей для процедурного представления моделей формы.
Требования настоящего стандарта не распространяются на:
- любые механизмы "присваивания постоянных наименований" элементам явно заданной модели, основанные на деталях процедурной последовательности, использованной для их создания;
- "макро"-возможности, требующие использования управляющих структур, таких как IF… THEN… ELSE или REPEAT… UNTIL. Подобные структуры определены в ИСО 10303-11 для использования в локальных и глобальных правилах, но в настоящем стандарте не поддерживаются аналогичные средства, допускающие использование условных операторов в процедурных моделях.
2 Нормативные ссылки
В настоящем стандарте использованы нормативные ссылки на следующие стандарты. Для датированных ссылок применяют только указанное издание ссылочного стандарта, для недатированных - последнее издание (включая все изменения).
ISO/IEC 8824-1, Information technology - Abstract Syntax Notation One (ASN.1) - Part 1: Specification of basic notation [Информационная технология. Абстрактная синтаксическая нотация версии 1 (АСН.1). Часть 1. Спецификация основной нотации]
ISO 10303-1, Industrial automation systems and integration - Product data representation and exchange - Part 1: Overview and fundamental principles (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 1. Общие представления и основополагающие принципы)
ISO 10303-11, Industrial automation systems and integration - Product data representation and exchange - Part 11: Description methods: The EXPRESS language reference manual (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS)
ISO 10303-41, 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, Industrial automation systems and integration - Product data representation and exchange - Part 42: Integrated generic resource: Geometric and topological representation (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 42. Интегрированный обобщенный ресурс. Геометрическое и топологическое представление)
ISO 10303-43, Industrial automation systems and integration - Product data representation and exchange - Part 43: Integrated generic resource: Representation structures (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 43. Интегрированный обобщенный ресурс. Структуры представлений)
ISO 10303-108, Industrial automation systems and integration - Product data representation and exchange - Part 108: Integrated application resource: Parametrization and constraints for explicit geometric product models (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 108. Интегрированный прикладной ресурс. Параметризация и ограничения для явно заданных геометрических моделей изделия)
3 Термины, определения и сокращения
3.1 Термины, определенные в ИСО 10303-1
В настоящем стандарте применены следующие термины:
- приложение (application);
- прикладной контекст (application context);
- прикладной протокол (application protocol);
- сборочная единица (assembly);
- комплектующее (изделие) (component);
- обмен данными (data exchange);
- структура обмена (exchange structure);
- метод реализации (implementation method);
- интегрированный ресурс (integrated resource);
- изделие (product);
- данные об изделии (product data);
- структура (structure).
3.2 Термины, определенные в ИСО 10303-11
В настоящем стандарте применены следующие термины:
- объект (entity);
- объектный тип данных (entity data type);
- экземпляр объекта (объектного типа данных) [entity (data type) instance];
- экземпляр (instance);
- значение (value).
3.3 Термины, определенные в ИСО 10303-42
В настоящем стандарте применены следующие термины:
- объемная модель контурного представления; B-rep модель (boundary representation solid model; B-rep);
- конструктивная блочная геометрия (constructive solid geometry);
- координатное пространство (coordinate space);
- размерность (dimensionality);
- пространство моделей (model space).
3.4 Термины, определенные в ИСО 10303-43
В настоящем стандарте применены следующие термины:
- контекст представления (context of representation);
- элемент представления (element of representation);
- обоснование (founded);
- представление (representation).
3.5 Термины, определенные в ИСО 10303-108
Примечание - Положения, относящиеся к области применения ИСО 10303-108, очень тесно связаны с положениями, относящимися к области применения настоящего стандарта. Поэтому знакомство с терминами, определенными в ИСО 10303-108, и их определениями является важным для понимания настоящего стандарта.
В настоящем стандарте применены следующие термины:
- ограничение (constraint);
- решение ограничения (constraint solution);
- текущий результат (current result);
- текущее значение (current value);
- декларативное ограничение (declarative constraint);
- декларативная модель (declarative model);
- концепция конструкции (design intent);
- элемент (element);
- модель с определенными параметрами (evaluated model);
- явно заданное ограничение (explicit constraint);
- явно заданная модель (explicit model);
- свойство (feature);
- порождающая модель (generative model);
- модель на основе предыстории (history-based model);
- гибридная модель (hybrid model);
- неявное ограничение (implicit constraint);
- параметр модели (model parameter);
- процедурное ограничение (procedural constraint);
- процедурная модель (procedural model);
- эскиз (sketch);
- модель с неопределенными параметрами (unevaluated model);
- вариационный (variational).
3.6 Другие термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями.
3.6.1 основополагающие принципы конструкции (design rationale): Логика, положенная в основу методологии, использованной при построении конструкции.
3.6.2 двойственная модель (dual model): Комбинация процедурного или гибридного представления с явно заданным представлением, которое является примером параметрического класса моделей, определенных с помощью процедурного или гибридного представления.
3.7 Сокращения
В настоящем стандарте применены следующие сокращения:
ПП - прикладной протокол (application protocol; AP);
B-rep - контурное представление (boundary representation);
CAD - автоматизированное проектирование (computer aided design);
КБГ - конструктивная блочная геометрия (constructive solid geometry; CSG);
ИР - интегрированный ресурс (integrated resource; IR).
4 Процедурная модель
Ниже представлена EXPRESS-спецификация, которая начинает описание схемы procedural_model_schema и определяет необходимые внешние ссылки.
EXPRESS-спецификация:
*)
SCHEMA procedural_model_schema;
REFERENCE FROM support_resource_schema -- ISO 10303-41
(text);
REFERENCE FROM representation_schema -- ISO 10303-43
(item_in_context,
representation,
representation_item,
representation_item_relationship,
representation_relationship,
using_representations);
REFERENCE FROM variational_representation_schema -- ISO 10303-108
(variational representation);
(*
Примечания
1 Схемы, ссылки на которые приведены выше, определены в следующих стандартах комплекса ИСО 10303:
support_resource_schema | - ИСО 10303-41; | |||
representation_schema | - ИСО 10303-43; | |||
variational_representation_schema | - ИСО 10303-108. |
2 Графическое представление схемы procedural_model_schema приведено в приложении D, рисунок D.1.
4.1 Введение
Назначением схемы procedural_model_schema является представление или моделирование в терминах конструкционных операций. Противоположностью этому является представление или моделирование в терминах элементов, созданных в явном виде в результате выполнения конструкционных операций.
Пример - ИСО 10303-42 определяет объектный тип данных manifold_solid_brep, который представляет форму объемного тела в терминах граней, ребер и вершин, возникающих при разграничении внутренней и внешней частей объемного тела. Данное представление не содержит информацию о том, как реально данная форма была создана, хотя при использовании конструкционных операций возникает эффект генерации всех геометрических и топологических элементов нижнего уровня, составляющих объектный тип данных manifold_solid_brep. Настоящий стандарт обеспечивает альтернативный метод представления формы в терминах способа ее генерации.
4.2 Основные понятия и допущения
Схема procedural_model_schema обеспечивает способы представления следующих конструкций:
- спецификации последовательностей конструкционных операций для генерации моделей представлений любого типа;
- иерархического структурирования конструкционных последовательностей;
- встраивания определенных в явном виде элементов в конструкционные последовательности для представления гибридных моделей;
- использования определений объекта representation_item из других стандартов комплекса ИСО 10303 для представления конструкционных операций для экземпляров объекта representation_item в процедурных и гибридных моделях;
- определения двойственного представления с помощью связи процедурной модели с явно заданной моделью "текущего результата", которая действует в качестве репрезентативного примера параметрического семейства моделей, определенных с помощью процедурной модели;
- связи информации об основополагающих принципах конструкции с процедурными моделями;
- идентификации в процедурной модели определенных в явном виде элементов, которые выбираются с помощью интерактивного отбора из визуального отображения модели в передающей системе;
- идентификацию в процедурной модели конструкционных операций, которые могут быть изъяты в целях упрощения модели.
Основной исходной целью настоящего стандарта является обеспечение средствами представления процедурных и гибридных моделей геометрических форм, сгенерированных в CAD-системах. Поэтому многие примеры для схемы procedural_model_schema, представленные в виде описательного текста, связаны с различными аспектами моделирования в CAD-системах. Однако конструкции интегрированного ресурса, представленные в данной схеме, носят обобщенный характер для представления, обмена и совместного использования процедурно определенных и гибридных моделей в любых приложениях. Пример негеометрического приложения процедурного моделирования приведен в E.1.
4.2.1 Процедурные модели
Процедурную модель представляют в терминах операций, использованных при ее создании. По этой причине такую модель часто называют моделью истории построения. В чистом виде процедурная модель определена исключительно в терминах операций, и поэтому в такой модели невозможно сделать ссылку на большинство конкретных составляющих явно заданной модели, генерируемой при выполнении данных операций.
Пример - Модель формы цилиндрического тела с радиусом R и высотой H может быть сгенерирована из процедурной модели, содержащей только две операции:
- создать круг с радиусом R;
- протянуть круг на расстояние H перпендикулярно к его плоскости.
Цилиндр, получившийся в результате выполнения этих операций, имеет два круглых ребра. Одно из них будет соответствовать границам круга, создаваемого с помощью первой операции, но даже оно не будет существовать в явном виде до тех пор, пока первая операция не будет выполнена. Второе ребро появится только с помощью выполнения второй операции. Эти две операции представляют форму цилиндра, но сами по себе они не дают возможности ссылаться на отдельные геометрические или топологические элементы.
В контексте обмена данными передаваемая процедурная модель будет определять только операции, а генерация явно заданной модели с помощью этих операций произойдет после передачи в принимающей системе. Данный процесс называется определением параметров модели; на его входе присутствует модель с неопределенными параметрами, а его выходом является явно заданная модель с определенными параметрами.
Процедурная модель по своей сути является параметрической. Аргументы многих ее конструкционных операций будут иметь числовые значения. Параметрические вариации модели могут быть сделаны простым изменением значений этих параметров. Для того, чтобы увидеть эффект таких изменений в соответствующей явно заданной модели, необходимо заново определить ее параметры, основываясь на модифицированной истории построения модели.
Основным элементом процедурной модели, согласно настоящему стандарту, является объектный тип данных procedural_representation_sequence (см. 4.3.4).
4.2.2 Гибридные модели
Гибридная модель состоит из комбинации элементов, представленных в явном виде, и конструкционных операций.
Пример - Общая конструкционная процедура в CAD-системах использует определенный в явном виде плоский эскиз или контур, состоящий из геометрических и топологических элементов (кривых, точек, ребер, вершин) с возможными геометрическими ограничениями, такими как параллельность, перпендикулярность или касательность между элементами кривых. Данная конструкционная процедура обычно называется операцией развертки. Контур перемещается в пространстве, чтобы сформировать объем, который, следовательно, определен в терминах операций, выполненных с представленным в явном виде элементом. Поэтому данное представление относится к гибридному типу. Разные классы криволинейных поверхностей и объемов определены в ИСО 10303-42.
При передаче гибридной модели формы передаваемый элемент, заданный в явном виде, обычно представляет собой структуру данных, построенную из элементов более низкого уровня, которые должны передаваться вместе с моделью для того, чтобы полностью ее определить. К элементам более низкого уровня могут относиться вариационные элементы, такие как параметры модели и ограничения (см. ИСО 10303-108). Элементы, переданные в явном виде, отличаются от процедурно определенных элементов просто тем, что они не присутствуют в экземплярах объекта procedural_representation_sequence.
4.2.3 Выбранные элементы, представленные в явном виде
При передаче процедурных или гибридных моделей удобно использовать элементы модели, представленные в явном виде, для другой важной цели - идентификации элементов, выбранных из явно заданной модели с определенными параметрами, отображенной на экране передающей системы.
Пример - Предположим, что рассматриваемая система является CAD-системой, и рассмотрим линейное вытягивание (или выдавливание) представленного в явном виде схематического изображения, состоящего из прямолинейных сегментов, образующих L-образную фигуру. Данная операция сгенерирует блочный объем с определенной на нем ступенью. Данный объект имеет одну вогнутую грань, представленную внутренним ребром ступени. Предположим, что требуется сгенерировать желоб, скругляющий это ребро. Возможная последовательность операций для генерации желаемой формы выглядит следующим образом:
a) протянуть линейно данное схематическое изодражение (конструкционная операция);
b) выбрать на экране дисплея ребро, которое подлежит скруглению (операция выбора);
c) скруглить данное ребро (конструкционная операция).
Проблема заключается в том, как представить операцию выбора в гибридной модели, определенной представленной выше последовательностью операций. Выбранное ребро не присутствует в данной модели, и оно не появится до тех пор, пока не будут определены параметры модели, что обеспечит вытягивание исходного схематического изображения за счет движения одной из его вершин. Решение данной проблемы заключается в передаче данного ребра в явном виде из передающей системы (ребро должно быть выбрано из вторичной модели с определенными параметрами в данной системе). После повторной генерации модели в принимающей системе, информация о ребре, представленная в явном виде, может быть использована для определения того, какое ребро должно быть скруглено. В принимающей системе будут выполнены следующие действия:
a) выполнить операцию вытягивания для формирования L-образного блока. С помощью данной операции в принимающей системе будет создано ребро, подлежащее скруглению;
b) сравнивать выбранное ребро, которое было передано в явном виде, со всеми ребрами вновь созданного L-образного блока до тех пор, пока не будет найдено совпадение. Совпавшее ребро и будет ребром, которое должна быть скруглено;
c) скруглить найденное ребро.
Существует важное семантическое различие между явно заданным элементом гибридной модели, определенным в 4.2.2, и явно заданным выбранным элементом, рассматриваемым в данном пункте:
- явно заданный элемент модели (см. 4.2.2) используется для непосредственной передачи элемента из передающей системы в принимающую систему, в которой он ранее не существовал;
- явно заданный выбранный элемент (см. 4.2.3) используется для идентификации в принимающей системе элемента, уже сгенерированного в данной системе, который соответствует указанному явно заданному элементу в передающей системе.
Схема procedural_model_schema определяет объектный тип данных user_selected_elements (см. 4.3.5), который используется для отделения явно заданных выбранных элементов от других элементов процедурной или гибридной модели. Тип данных user_selected_elements имеет подтип indirectly_selected_elements (см. 4.3.6) для использования в случаях, когда непосредственно выбранный элемент является представителем некоторого другого элемента или элементов. Примеры использования косвенного выбора в контексте моделирования формы приведены в 4.3.6.
4.2.4 Двойственные модели
Как было сказано во введении, большинство CAD-систем генерируют не только процедурную модель, но также и вторичную явно заданную модель, играющую важную роль во взаимодействии пользователя с системой моделирования. Явно заданная модель воспроизводится на экране, обеспечивая визуальную обратную связь для проверки результатов выполнения операций моделирования. Она также позволяет выбрать на экране элементы моделирования, которые должны использоваться в качестве основы для дальнейших процедур моделирования.
Примечания
1 В CAD-системах вторичной явно заданной моделью является модель односвязного контурного представления трехмерных объектов, определенная в ИСО 10303-42 (соответствующим ей объектным типом данных является manifold_solid_brep). В других стандартах комплекса ИСО 10303 определены представление и обмен явно заданными моделями этого и других типов. Настоящий стандарт определяет основные механизмы, необходимые для представления и обмена процедурными моделями объектов CAD-систем и другими видами моделей.
2 В большинстве CAD-систем вторичная модель является недолговечной в том смысле, что ее отбрасывают после того, как в основную модель внесены изменения и сгенерирована новая явно заданная модель, отражающая внесенные изменения.
Кроме того, явно заданная форма модели может использоваться для вычислительных целей.
Пример - Если модель является геометрической, то ее явно заданная форма необходима для определения таких объектов, как линия ребра, определенная пересечением двух поверхностей. Как уже отмечено, основная (процедурная) модель не содержит явно заданных элементов, позволяющих производить необходимые вычисления.
Важность взаимодействия между основной и вторичной моделями требует особого представления для двойственной модели, взаимосвязи между двумя представлениями, одного - процедурного или гибридного и второго - явно заданного. Для этой цели в настоящем стандарте определен объектный тип данных explicit_procedural_representation_relationship (см. 4.3.1). Предполагается, что оба компонента двойственной модели всегда являются непротиворечивыми альтернативными моделями или представлениями одного и того же физического объекта.
Существуют также обстоятельства, при которых возможно, а может быть и желательно, связать элементы процедурной и явно заданной моделей на уровне объекта representation_item. Для этого в настоящем стандарте введен дополнительный объектный тип данных explicit_procedural_representation_item_relationship (см. 4.3.2).
Настоящий стандарт основан на допущении, что при обмене между системами процедурная модель может сопровождаться явно заданной моделью, то есть в обмене участвует двойственная модель. Основной целью данного допущения является обеспечение в принимающей системе сравнения явно заданной модели, созданной в ней на основе переданной процедурной модели, с явно заданной моделью, существовавшей в передающей системе. Такое сравнение даст возможность выявлять существенные ошибки, которые могут возникнуть в процессе обмена. Кроме того, в некоторых случаях при восстановлении гибридной модели могут возникнуть неоднозначности, которые могут быть разрешены в принимающей системе с помощью ссылки на явно заданную составляющую двойственной модели, которая содержит решения, принятые разработчиком модели в передающей системе.
Пример - Представление модели в CAD-системе может включать множество нелинейных ограничений, которым соответствуют уравнения, имеющие множественные решения. В данном случае явно заданная модель демонстрирует выбор решения, сделанный исходным разработчиком.
Как было указано в 4.2.1, процедурная или гибридная модель по своей сути является параметрической, а явно заданная составляющая двойственной модели является примером из представленного параметрического семейства. В частности, явно заданная составляющая является примером, соответствующим текущим значениям параметров в процедурной модели на момент ее передачи. Поэтому в идеальном случае при оценивании процедурной модели с этими же значениями параметров в принимающей системе должна получиться явно заданная модель идентичная явно заданной составляющей двойственной модели в передающей системе. Однако различие между внутренними представлениями в системах моделирования не даст возможности достичь этого идеала.
Пример - Две гипотетические CAD-системы имеют следующие характеристики:
Система A: - внутренний числовой допуск на совмещение точек равен 10 единиц;
- грань цилиндра, равная 360°, разделена на три сектора по 120°.
Система B: - внутренний числовой допуск на совмещение точек равен 10 единиц;
- грань цилиндра, равная 360°, рассматривается как единое целое, два ребра которого совпадают с соединяющей кривой, расположенной параллельно образующей цилиндра.
Подобные различия приведут к тому, что характеристики переданной и восстановленной явно заданных моделей редко окажутся полностью совпадающими, хотя обычно они будут достаточно близкими для практических целей.
4.2.5 Представление конструкционных операций в процедурных моделях
В стандартах комплекса ИСО 10303 модель или представление состоит из экземпляров объекта representation_item (см. ИСО 10303-43). Присутствие такого экземпляра в файле обмена или в совместно используемой базе данных изначально намечалось как декларативное, то есть демонстрирующее реальное присутствие данного элемента в передаваемой модели. Однако ИСО 10303-11 в 9.2.6 определяет, что "при объявлении объекта, одновременно неявным образом объявляется конструктор. Идентификатор конструктора совпадает с идентификатором объекта … При запуске конструктора он должен возвращать в точку вызова значение частичного сложного объекта для данного объектного типа данных...". Данная возможность первоначально предназначалась для использования в локальных или глобальных правилах в схемах, но в настоящем стандарте она используется для представления конструкционных операций для экземпляров объектных типов данных, которые должны быть выполнены в принимающей системе после передачи модели. Таким образом, хотя "точка вызова" конструктора первоначально предусматривалась транслятором ИСО 10303 при проверке правил, при передаче моделей истории построения она будет определяться при восстановлении модели в принимающей системе. Трактовка значений атрибутов как параметров, передаваемых конструкторам, подробно рассмотрена в упомянутом параграфе ИСО 10303-11.
Пример - Рассмотрим следующий экземпляр из файла обмена по ИСО 10303-21 [2]:
#210 = CIRCLE('C1', #150, 6.0);
Приведенные здесь атрибуты представляют, соответственно, наименование окружности, ссылку на расположение ее оси, определенное в другом месте файла обмена, и ее радиус. Если данный экземпляр передается как элемент явно заданной модели, то ожидается, что принимающая система перепишет определение окружности в свой родной внутренний формат и встроит ее в структуру данных явно заданной модели контурного представления или похожего типа. Наоборот, если данный экземпляр определен как часть последовательности операций в истории построения, то он вызовет в принимающей системе процедуру создания указанной окружности с самого начала. Таким образом, данный процесс в первом случае концептуально является процессом трансляции, а во втором - процессом генерации.
Приведенная выше цитата из ИСО 10303-11 говорит о том, что процедурные представления могут быть сгенерированы в терминах экземпляров любых подтипов объекта representation_item, для которых существуют определения на языке EXPRESS. Поэтому широкий выбор таких объектных типов данных непосредственно доступен для использования в настоящем стандарте.
Из использования определений объектных типов данных в качестве конструкционных операций вытекают два следствия:
a) необходимо проводить различие между экземплярами, используемыми в качестве конструкторов, и экземплярами, представляющими переданные явно заданные элементы, которые формируют часть гибридной модели;
b) весьма важно установить надлежащее упорядочение экземпляров, используемых в качестве конструкторов.
Примечание - В ИСО 10303-21 [2] определено, что последовательность экземпляров в файле обмена не имеет значения.
Объект procedural_representation_sequence, определенный в настоящем стандарте (см. 4.3.4), предназначен для фиксации упорядочения экземпляров, представляющих конструкционные операции в процедурной модели. Он также служит для разделения экземпляров, которые должны интерпретироваться как операции, и экземпляров, которые таковыми не являются и исключены из упорядоченных последовательностей.
Еще одним аспектом использования экземпляров объектных типов данных для представления операций является то, что локальные и глобальные правила, применяемые к таким экземплярам, интерпретируются как ограничения на сгенерированные элементы в принимающей системе, а не как условия достоверности, которые требуется проверять, что имеет место при обмене явно заданными моделями с использованием стандартов комплекса ИСО 10303.
4.2.6 Неявные и явные ограничения
Гибридная модель может содержать как неявные, так и явные ограничения. Неявные ограничения являются ограничениями модели, которые формируются автоматически операциями конструкционной процедуры. Явные ограничения представляют выраженные в явной форме взаимосвязи между элементами модели с определенными параметрами.
Пример - В ИСО 10303-42 определен объектный тип данных block, представляющий прямоугольный параллелепипед. Если объектный тип данных block используется как конструкционная операция в модели истории построениия, то у созданного этой операцией параллелепипеда будут три пары параллельных граней, так как это установлено определением данной формы. В этом случае ограничения параллельности будут неявными. При изменении размерных параметров данного параллелепипеда вновь сгенерированная форма всегда будет иметь три пары параллельных граней.
С другой стороны, рассмотрим чисто контурное представление параллелепипеда. У него будет шесть граней, двенадцать ребер и восемь вершин. Параллельность противоположных граней является результатом конкретной комбинации точек, прямых и плоскостей, связанных с топологическими элементами данного представления. В такой модели нет ничего, что предотвратило бы модификацию одного или нескольких из этих геометрических элементов таким образом, что результирующая форма потеряет свойство параллельности противоположных граней. Данная ситуация может быть разрешена добавлением явных ограничений типа "Грань A параллельна Грани B" и требования, чтобы эти ограничения оставались в силе при любых модификациях данной модели. ИСО 10303-108 обеспечивает представления для ряда таких явных ограничений, которые могут быть применены к элементам модели детали, а ИСО 10303-109 [3] определяет представления явных ограничений, устанавливаемых для поверхностей деталей в модели сборочной единицы.
Наконец, рассмотрим гибридную модель, определенную с помощью операции линейного вытягивания явно заданного плоского контура. Элементы контура могут иметь определенные для них явные ограничения. С другой стороны, операция вытягивания генерирует неявные ограничения, одно из которых обеспечивает то, что плоские грани, соответствующие начальному и конечному положениям, параллельны. При определении параметров данной гибридной модели можно учесть эти неявные ограничения так же, как и неявно определенную геометрию, а также определить явное ограничение параллельности в модели контурного представления с определенными параметрами. Однако такое определение неявных ограничений обычно не имеет места в существующих CAD-системах.
4.2.7 Блокировка конструкционных операций
В большинстве CAD-систем обеспечена возможность обработки процедурных моделей, в которых некоторые конструкционные операции определены как заблокированные. Смысл этого заключается в том, что полная модель конструкции для некоторых основанных на ней приложений может оказаться чрезвычайно сложной.
Пример - Может быть полезно заблокировать некоторые небольшие особенности модели перед тем, как направить ее в формирователь единой поверхности детали методом конечных элементов, в том случае, если установлено, что эти особенности не оказывают существенного влияния на результаты вычислений методом конечных элементов, например, если имеются небольшие отверстия в областях с небольшими напряжениями. Если такие особенности не заблокировать, то их присутствие привело бы к генерации более сложной сеточной модели и, следовательно, к более длительному времени вычислений и, возможно, к потере точности полученных результатов.
Настоящий стандарт допускает обмен обобщенными процедурными моделями с заблокированными операциями с помощью введения необязательного атрибута suppressed_items для объектного типа данных procedural_representation_sequence. Если данный атрибут присутствует, то он просто определяет совокупность элементов в данной последовательности, которые были помечены как заблокированные в передающей системе.
4.2.8 Обмен процедурными и гибридными моделями
Основное допущение, сделанное в настоящем стандарте в отношении обмена процедурными и гибридными моделями, заключается в том, что принятая модель будет обрабатываться в принимающей системе во время или сразу после ввода модели, созданной в соответствии с ИСО 10303. Как было отмечено выше, если процедурная или гибридная модель передается как одна из составляющих двойственной модели, то сопровождающая ее явно заданная модель может использоваться в качестве основы для сравнения с восстановленной явно заданной моделью, сгенерированной в принимающей системе с тем, чтобы убедиться, что обмен прошел успешно. Если процедурные или гибридные модели, выраженные в формате ИСО 10303, используются для целей архивирования, то ожидается, что после их передачи из архива в прикладную систему они будут аналогичным образом восстановлены.
4.2.9 Параметрические разновидности процедурных и гибридных моделей
Объектный тип данных variational_representation определен в ИСО 10303-108 как подтип объекта representation, который содержит параметры и ограничения, смоделированные в явном виде. Данное представление может рассматриваться как связь явно заданной модели "текущий результат" с теми параметрами и ограничениями, которые после передачи могут редактироваться в соответствии с исходными намерениями разработчика. В противоположность этому, параметры в процедурной модели могут рассматриваться как входные аргументы конструкционных операций, а любые ограничения при этом являются неявными (если только они не встречаются в гибридных элементах, представленных в явном виде). Однако можно также связать явно заданные параметры и ограничения, определенные в ИСО 10303-108, с элементами из файла обмена, обеспечивающими необходимую информацию для определения операций из последовательностей операций процедурной или гибридной модели. Пример этого приведен в E.3. В данном случае требуется (правилом WHERE для variational_representation_item, определенным в ИСО 10303-108), чтобы результирующее процедурное представление имело дополнительный объектный тип данных variational_representation. Текущий результат может иметь как процедурную, так и явно выраженную реализацию, к первой из которых относится процедурное представление, обработанное с текущими значениями всех входных аргументов, а ко второй (в случае, когда передается двойственная модель) - соответствующая явно заданная модель. Обе реализации в принципе эквивалентны в том смысле, что вторая реализация является результатом обработки первой. При реализации данного подхода параметрическое представление должно быть связано со своим явно заданным текущим результатом через процедурную форму, как показано в E.3.
4.3 Определение объектов процедурной модели
4.3.1 Объект explicit_procedural_representation_relationship
Объект explicit_procedural_representation_relationship является подтипом объекта representation_relationship, определенного в ИСО 10303-43, который устанавливает связь между процедурным или гибридным представлением и соответствующим явно заданным представлением, называемым "текущий результат". Процедурное представление по существу является параметрическим, представляющим семейство моделей. Поэтому явно заданная модель текущего результата рассматривается как представительный пример модели из данного семейства, демонстрирующий некоторые аспекты намерений разработчика при ее построении. Правило WHERE определено для обеспечения того, чтобы указанное в нем явно заданное представление имело некоторый полностью явно заданный тип данных, не являющийся типом данных procedural_representation или variational_representation.
EXPRESS-спецификация:
*)
ENTITY explicit_procedural_representation_relationship
SUBTYPE OF (representation_relationship);
SELF\representation_relationship.rep_1 : procedural_representation;
WHERE
WR1 : (NOT ('PROCEDURAL_MODEL_SCHEMA. PROCEDURAL_REPRESENTATION'
IN TYPEOF (SELF\representation_relationship.rep_2))) AND
(NOT ('VARIATIONAL_REPRESENTATION_SCHEMA.VARIATIONAL_REPRESENTATION'
IN TYPEOF (SELF\representation_relationship.rep_2)));
WR2 : SELF\representation_relationship.rep_1.context_of_items :=:
SELF\representation_relationship.rep_2.context_of_items;
END_ENTITY;
(*
Определения атрибутов
SELF\representation_relationship.rep_1 - процедурное представление, определяющее параметризованное семейство моделей;
SELF\representation_relationship.rep_2 - репрезентативная явно заданная (непараметрическая) модель из семейства моделей, определенного связанной с ней процедурной (параметрической) моделью.
Формальные утверждения
WR1 - представление, на которое указывает атрибут SELF\representation_relationship.rep_2, не должно быть экземпляром объекта procedural_representation или variational_representation;
WR2 - два представления, связанные экземпляром объекта explicit_procedural_representation_relationship, должны иметь общий контекст представления.
Неформальное утверждение
IP1 - явно заданная модель должна быть результатом обработки процедурной модели с текущими значениями всех ее параметров.
4.3.2 Объект explicit_procedural_representation_item_relationship
Объект explicit_procedural_representation_item_relationship является подтипом объекта representation_item_relationship, определенного в ИСО 10303-43, который устанавливает связь между двумя экземплярами объекта representation_item, один из которых определен процедурно, а второй - в явном виде, при этом оба экземпляра представляют один и тот же элемент модели.
Примечание - Обычно экземпляры объекта representation_item, присутствующие в процедурной модели, не имеют соответствующих им экземпляров в текущем результате. Однако в тех случаях, когда это имеет место, может быть полезно установить взаимосвязи на уровне объекта representation_item в дополнение к взаимосвязям, определенным на уровне объекта representation.
Пример - Рассмотрим гайку и болт, смоделированные в CAD-системе. ИСО 10303 не требует моделировать эти два объекта как отдельные изделия, а позволяет пользователю создать их как дискретные элементы одного объекта shape_representation. Каждый элемент будет представлен объектом representation_item. В данном случае явно заданное представление формы будет содержать два экземпляра объекта representation_item, относящихся, например, к типу manifold_solid_brep, а процедурное представление формы будет содержать два экземпляра объекта representation_item, относящихся к типу данных procedural_shape_representation_sequence. Связь между явно заданной и процедурной моделями каждого элемента может быть определена с помощью использования экземпляров объекта explicit_procedural_representation_item_relationship, хотя в данном случае подтип объекта explicit_procedural_representation_item_relationship, определенный в 5.4.2, будет более предпочтительным.
EXPRESS-спецификация:
*)
ENTITY explicit_procedural_representation_item_relationship
SUBTYPE OF (representation_item_relationship);
SELF\representation_item_relationship.relating_representation_item :
procedural_representation_sequence;
WHERE
WR1 : NOT ('PROCEDURAL_MODEL_SCHEMA. PROCEDURAL_REPRESENTATION_SEQUENCE'
IN TYPEOF (
SELF\representation_item_relationship.related_representation_item));
WR2 : SIZEOF (QUERY(q <* using_representations (
SELF\representation_item_relationship.related_representation_item) |
item_in_context (
SELF\representation_item_relationship.relating_representation_item,
q.context_of_items))) > 0;
END_ENTITY;
(*
Определения атрибутов
SELF\representation_item_relationship.relating_representation_item - экземпляр объекта procedural_representation_sequence, определяющий процедурное представление элемента модели;
SELF\representation_item_relationship.related_representation_item - явно заданный элемент модели, соответствующий результату обработки процедурного определения.
Формальные утверждения
WR1 - экземпляр объекта representation_item, на который ссылается атрибут SELF\representation_item_relationship.related_representation_item, не должен быть экземпляром объекта procedural_representation_sequence;
WR2 - два связанных экземпляра объекта representation_item должны совместно использовать по крайней мере один общий объект representation_context.
Неформальное утверждение
IP1 - элемент явно заданной модели должен быть результатом обработки элемента процедурно определенной модели с текущими значениями всех ее параметров.
4.3.3 Объект procedural_representation
Объект procedural_representation является подтипом объекта representation, определенного в ИСО 10303-41, который определяет модель в терминах набора экземпляров объекта procedural_representation_sequence. Каждая последовательность экземпляров данного объекта представляет полную или частичную модель. Определение процедурного представления в терминах набора, а не списка экземпляров объекта procedural_representation_sequence предусмотрено для случаев, когда образующие представления последовательности независимы друг от друга.
Пример - Сборочная единица может включать составляющие, разработанные независимо друг от друга для разных целей. В таком случае нет необходимости упорядочения конструкционных последовательностей для этих составляющих каким-либо определенным способом, а более предпочтительным будет использование набора последовательностей.
С другой стороны, ситуация, когда конструкция одной составляющей зависит от предварительного существования конструкции другой составляющей, может быть разрешена с помощью встраивания двух конструкционных последовательностей в нужном порядке в конструкционную последовательность более высокого уровня, как это показано в E.2 и E.4.
EXPRESS-спецификация:
*)
ENTITY procedural_representation
SUBTYPE OF (representation);
SELF\representation.items :
SET [1 : ?] OF procedural_representation_sequence;
END_ENTITY;
(*
Определение атрибута
SELF\representation.items - набор экземпляров объекта representation_item, относящихся к супертипу representation, для данного случая является набором экземпляров объекта procedural_representation_sequence.
Примечание - Правило WHERE объекта procedural_representation_sequence (см. 4.3.4) обеспечивает то, что все экземпляры объекта representation_item, присутствующие в экземпляре данной последовательности, должны совместно использовать объект representation_context, связанный со своим собственным объектом procedural_representation. В сложных случаях, когда последовательности операций вложены одна в другую в экземпляре объекта procedural_representation (например, см. экземпляр #1290 в E.2), данное правило обеспечивает совместимость объекта representation_context на всех вложенных уровнях.
4.3.4 Объект procedural_representation_sequence
Объект procedural_representation_sequence является подтипом объекта representation_item, определенного в ИСО 10303-43, который представляет список конструкционных операций для создания частичной или полной модели. Эти операции должны быть выполнены после передачи модели в том порядке, в котором они присутствуют в списке. Тот факт, что данный объект определен как подтип объекта representation_item, позволяет включать (или встраивать) его экземпляры в последовательности операций экземпляров более высокого уровня того же типа. Это позволяет упорядочивать частичные конструкции в общей конструкции в том случае, когда более поздние этапы проектирования зависят от более ранних этапов, как показано в E.2 и E.4.
Примечание - Правильный порядок конструкционных операций важен в случае, когда переданная модель должна быть корректно восстановлена в принимающей системе. В общем случае один и тот же набор операций, выполненных в разном порядке, приведет к генерации разных моделей.
Данный объект может также зафиксировать множество элементов, принадлежащих данной последовательности, которые должны трактоваться как запрещенные после передачи модели.
Примечание - Подобное запрещение обычно применяется для упрощения модели, например с помощью удаления ненужных подробностей для некоторых прикладных целей в процессе проектирования.
Применение атрибута suppressed_items предназначено для следующих целей:
- после приема переданной модели в принимающей системе, полная модель должна быть обработана без запрещенных операций;
- на основе обработанной процедурной модели должна быть сгенерирована явно заданная модель с использованием тех же экземпляров объекта procedural_representation_sequence, но без выполнения операций, указанных в атрибуте suppressed_items;
- текущий результат, переданный вместе с процедурной моделью должен представлять полную модель без запрещенных операций. Поэтому сравнение восстановленной явно заданной модели с текущим результатом должно быть сделано после обработки полной модели. Запрещение операций не должно использоваться в передающей системе для исправления ошибок, а только для целей упрощения модели.
EXPRESS-спецификация:
*)
ENTITY procedural_representation_sequence
SUBTYPE OF (representation_item);
elements : LIST [1 : ?] OF representation_item;
suppressed_items : SET [0 : ?] OF representation_item;
rationale : text;
WHERE
WR1: SIZEOF(QUERY (q <* suppressed_items | NOT (q IN elements))) = 0;
END_ENTITY;
(*
Определения атрибутов
elements - список экземпляров объекта representation_item, которые должны быть созданы в принимающей системе;
suppressed_items - множество экземпляров объекта representation_item, которые представляют операции и должны быть опущены при генерации упрощенного явно заданного представления в принимающей системе;
rationale - словесное описание принципов конструкции, лежащих в основе представленной последовательности операций.
Формальное утверждение
WR1 - если элемент не присутствует в последовательности операций, то его не должно быть и среди элементов, заданных атрибутом suppressed_items.
Примечание - В данной схеме не накладывается никаких ограничений на диапазон подтипов объекта representation_item, которые могут присутствовать в экземпляре объекта procedural_representation_sequence. Поэтому возможно задать последовательности операций, содержащих элементы самых разных типов. Однако для совместимости с возможностями CAD-систем несколько подтипов данного объекта определены в разделе 5 для представления конкретных типов CAD-моделей (см. 5.4.5-5.4.7).
4.3.5 Объект user_selected_elements
Объект user_selected_elements является подтипом объекта representation_item, который представляет ссылку на один или несколько явно заданных элементов, которые были выбраны на экране передающей системы.
Пример - В контексте CAD-систем множество выбранных элементов может быть связанной совокупностью ребер и вершин трехмерной модели, которые должны быть скруглены с заданным радиусом.
Наличие экземпляра данного объекта в объекте procedural_representation_sequence является признаком, по которому принимающая система должна начать поиск элемента (или элементов) модели, соответствующего указанному выбранному элементу (или элементам). Все найденные элементы соответствуют элементам, выбранным пользователем передающей системы, как это пояснено в 4.2.3. При правильном использовании данного объекта, у объекта representation_item из передающей системы, на который ссылается объект user_selected_elements, всегда должен существовать соответствующий элемент в явно заданной модели, генерируемой в принимающей системе
EXPRESS-спецификация:
*)
ENTITY user_selected_elements
SUBTYPE OF (representation_item);
picked_items : SET [1 : ?] OF representation_item;
END_ENTITY;
(*
Определение атрибута
picked_items - множество экземпляров объекта representation_item, для которых должны быть найдены соответствующие элементы в явно заданной модели, генерируемой из переданной модели истории построения.
Неформальное утверждение
IP1 - любой экземпляр из множества выбранных элементов должен соответствовать аналогичному элементу явно заданного представления, полученному в результате обработки переданной процедурной модели, вплоть до позиции, расположенной непосредственно перед объектом user_selected_elements, содержащим данный экземпляр.
Примечания
1 Элемент, на который ссылается экземпляр объекта user_selected_elements, в общем случае не должен присутствовать в модели текущего результата, как в случае выбранного ребра в модели формы, которое при скруглении заменяется результирующей скругленной гранью. Поэтому такие замененные элементы должны быть "запомнены" передающей системой и доступны при передаче процедурных моделей.
2 Использование по назначению любого экземпляра объекта user_selected_elements или его подтипов заключается в том, что данный экземпляр должен появиться в последовательности операций непосредственно перед конструкционной операцией, в которой используются выбранные элементы. При этом экземпляр объекта user_selected_elements отметит наличие операции выбора на соответствующей позиции в данной последовательности. Данное рекомендуемое использование объекта user_selected_elements проиллюстрировано в E.2.
4.3.6 Объект indirectly_selected_elements
Объект indirectly_selected_elements является подтипом объекта user_selected_elements, который показывает, что явно заданный выбранный элемент (элементы) предназначен для того, чтобы быть представителем некоторого другого связанного с ним элемента или элементов. Поэтому данный объект имеет дополнительный атрибут, используемый для задания множества экземпляров объекта representation_item, на которые есть косвенные ссылки.
Примеры
1 В контексте CAD-систем два ребра могут быть выбраны для идентификации грани трехмерной модели (одного ребра будет недостаточно, так как оно соединяет две грани).
2 Грань может быть выбрана для представления всей трехмерной модели, положение которой должно быть изменено в сборочной единице.
3 Трехмерная модель может быть выбрана в качестве косвенной ссылки на множество всех ее ребер и вершин, если их требуется скруглить с заданным радиусом.
При реализации объекта indirectly_selected_elements предполагается, что элементы, на которые даны косвенные ссылки так же, как и элементы, на которые даны прямые ссылки, должны иметь соответствующие им элементы в явно заданной модели, генерируемой в принимающей системе. Хотя элементы, на которые даны косвенные ссылки, в дальнейшем должны использоваться в конструкционной процедуре, передача элементов, на которые даны прямые ссылки, составляет часть обмена содержимым конструкции.
EXPRESS-спецификация:
*)
ENTITY indirectly_selected_elements
SUBTYPE OF (user_selected_elements);
indirectly_picked_items : SET [1:?] OF representation_item;
END_ENTITY;
(*
Определение атрибута
indirectly_picked_items - множество экземпляров объекта representation_item, для которых должны быть найдены соответствующие элементы в явно заданной модели, генерируемой из переданной модели истории построения.
Неформальное утверждение
IP1 - любой экземпляр из множества косвенно выбранных элементов должен соответствовать аналогичному элементу явно заданного представления, полученному в результате обработки переданной процедурной модели, вплоть до позиции, расположенной непосредственно перед объектом indirectly_selected_elements, содержащим данный экземпляр.
Примечание - Косвенно выбранный элемент, на который ссылается экземпляр объекта indirectly_ selected_elements, в общем случае не должен присутствовать в модели текущего результата, так как он может быть модифицирован или удален в результате выполнения последующих операций моделирования. Поэтому такие замененные элементы должны быть "запомнены" передающей системой и доступны при передаче процедурных моделей.
*)
END_SCHEMA; -- procedural_model_schema
(*
5 Процедурная модель формы
Ниже представлена EXPRESS-спецификация, которая начинает описание схемы procedural_shape_model_schema и определяет необходимые внешние ссылки.
EXPRESS-спецификация:
*)
SCHEMA procedural_shape_model_schema;
REFERENCE FROM product_property_representation_schema -- ISO 10303-41
(shape_representation);
REFERENCE FROM geometry_schema -- ISO 10303-42
(geometric_representation_item);
REFERENCE FROM topology_schema -- ISO 10303-42
(topological_representation_item);
REFERENCE FROM geometric_model_schema -- ISO 10303-42
(edge_based_wireframe_model,
face_based_surface_model,
shell_based_surface_model,
shell_based_wireframe_model,
solid_model);
REFERENCE FROM representation_schema -- ISO 10303-43
(representation,
representation_item_relationship,
representation_relationship);
REFERENCE FROM procedural_model_schema; -- ISO 10303-55
(*
Примечания
1 Схемы, ссылки на которые приведены выше, определены в следующих стандартах комплекса ИСО 10303:
product_property_representation_schema | - ИСО 10303-41; | |||
geometry_schema | - ИСО 10303-42; | |||
topology_schema | - ИСО 10303-42; | |||
geometric_model_schema | - ИСО 10303-42; | |||
representation_schema | - ИСО 10303-43; | |||
procedural_model_schema | - ИСО 10303-55. |
2 Графическое представление схемы procedural_shape_model_schema приведено в приложении D, рисунки D.1-D.3.
5.1 Введение
Назначением схемы procedural_shape_model_schema является представление или моделирование формы в терминах конструкционных операций.
5.2 Основные понятия и допущения
Схема procedural_shape_model_schema обеспечивает способы представления следующих конструкций:
- спецификации представлений формы в терминах последовательностей конструкционных операций;
- использование объектных типов данных моделирования формы из других стандартов комплекса ИСО 10303 для представления конструкционных операций для экземпляров этих типов данных.
Данные конструкции обобщенных ресурсов являются универсальным средством, используемым для представления, обмена и совместного использования процедурно определенных и гибридных моделей формы. Объектные типы данных, определенные в схеме procedural_shape_model_schema, являются конкретизациями соответствующих объектных типов данных из схемы procedural_model_schema (см. раздел 4), вводные описательные параграфы которой справедливы и в контексте схемы procedural_shape_model_schema.
5.2.1 Процедурные модели формы
В схеме procedural_shape_model_schema определен объект procedural_shape_representation, являющийся подтипом объекта procedural_representation (см. 5.4.3 и 4.3.3, соответственно). В данном случае конструкционные операции, определяющие модель, могут генерировать экземпляры следующих объектов, определенных в ИСО 10303-42:
- geometric_representation_item, который включает низкоуровневые объекты, такие как точки, кривые, поверхности, а также связи этих геометрических объектов с топологическими элементами;
- topological_representation_item, который включает чисто топологические элементы, такие как вершины, ребра и грани, а также их комбинации, образующие контуры, оболочки и т.д.
КБГ-модели, которые представляют собой частный случай трехмерных моделей, по существу являются процедурными моделями, определенными в терминах булевых операций над объемными элементами. В ИСО 10303-42 также определены другие процедурно определенные элементы формы, включая некоторые типы криволинейных поверхностей и объемов.
Примечания
1 Высокоуровневые конструкционные операции, в целом отсутствующие в ИСО 10303-42, используются в CAD-системах для генерации основных особенностей модели формы, составляющие элементы которой в противном случае должны были бы генерироваться с помощью использования множества низкоуровневых операций. Представление особенностей конструирования в CAD-системах должно быть рассмотрено в будущих стандартах комплекса 10303.
2 Для генерации моделей параметризованных деталей и сборочных единиц потребуется использовать ИСО 10303-108 и ИСО 10303-109 [3], в которых определен широкий диапазон подтипов объекта geometric_representation_item, которые могут использоваться в параметрических моделях.
3 Взаимосвязи между составляющими сборочной единицы, определенными в ИСО 10303-109 [3], и связанными с ними прикладными моделями определены как взаимосвязи между геометрическими элементами этих составляющих на уровне объекта geometric_representation_item. Это позволяет включать данные взаимосвязи в процедурную модель сборочной единицы естественным образом. Соответствующий способ в большинстве случаев заключается в представлении присутствующих геометрических элементов как выбранных элементов (так как они обычно не присутствуют в процедурной модели в явном виде) для того, чтобы создать между ними взаимосвязь. Взаимосвязи между составляющими сборочной единицы, определенные в ИСО 10303-44, определены на более высоком уровне, а их представление не зависит от способа представления отдельных составляющих.
К параметрам, определяющим конструкционные операции объекта procedural_shape_model, относятся, например, числовые значения, задающие размеры и ориентацию или расположение элементов, которые должны быть реализованы в модели. В большинстве CAD-систем представление первичной модели является процедурным, а вторичная модель, реально воспроизводимая на экране, является явно заданной моделью "текущего результата". Явно заданная модель обычно отбрасывается (полностью или частично), если первичная модель редактируется, а ее новая версия генерируется из модифицированной последовательности конструкционных операций.
Основным элементом процедурной модели формы является объект procedural_shape_representation_sequence (см. 5.4.4). Специализированные подтипы данного объекта предназначены для генерации объемных, поверхностных и каркасных моделей.
5.2.2 Гибридные модели формы
Гибридная модель формы состоит из комбинации явно заданных геометрических или топологических элементов модели и совокупности конструкционных операций, соответствующих моделям формы. Пример данной модели приведен в 4.2.2.
5.2.3 Явно заданные выбранные элементы в модели формы
Использование явно заданных выбранных элементов очень важно при обмене процедурными моделями, как это пояснено в 4.2.3, где приведен и соответствующий пример. Изображение на экране дисплея системы моделирования формы обычно генерируется из явно заданной версии модели, а элементами, выбранными пользователем, обычно являются вершины, ребра или грани данной модели.
В схеме procedural_shape_model_schema определен объект user_selected_shape_elements, являющийся подтипом объекта user_selected_elements, определенного в 4.3.5, который используется для фиксации и передачи выбранных экземпляров элементов модели формы. У данного объекта есть подтип indirectly_selected_shape_elements, определенный в 5.4.9, предназначенный для использования в тех случаях, когда, например, напрямую выбранный элемент формы является представителем некоторого другого элемента или элементов формы.
Пример - Экземпляр объекта indirectly_selected_shape_elements может использоваться в том случае, когда ребро трехмерной модели выбрано в качестве представителя общей трехмерной модели, к которой оно принадлежит. В данном случае ребро выбрано напрямую, а трехмерная модель выбрана косвенно.
5.2.4 Двойственные представления формы
В случае двойственного представления формы, операции, определенные в первичной процедурной модели, создают экземпляры объекта geometric_representation_item или topological_representation_item. Вторичная явно заданная модель будет одним из явных вариантов представления формы. В схеме procedural_shape_model_schema определен объект explicit_procedural_shape_representation_relationship, являющийся подтипом объекта explicit_procedural_representation_relationship, определенного в разделе 4, который используется для фиксации соответствующей связи между процедурными и явно заданными компонентами двойственного представления формы.
Существуют обстоятельства, при которых возможно, а может быть и желательно связать процедурные и явно заданные элементы модели формы на уровне объекта geometric_representation_item. Для этой цели введен дополнительный объект explicit_procedural_geometric_representation_item_relationship.
5.2.5 Основополагающие принципы конструкции для моделей формы
На уровне отдельных особенностей модели формы основополагающие принципы конструкции могут быть определены просто выводом запроса о данной особенности на экран CAD-системы. При этом на экран также выводятся текущие значения ее параметров, которые можно модифицировать в интерактивном режиме. Взаимодействие в данном случае происходит с явно заданной составляющей двойственной модели. Однако на более глубоких уровнях моделирования основополагающие принципы, лежащие в основе главных составляющих истории построения, могут быть очень неопределенными и их невозможно уточнить с помощью запросов к явно заданной модели. В подобных случаях может оказаться необходимым попытаться напрямую интерпретировать процедурное представление модели формы. Общеизвестно, что сложные процедурные представления CAD-моделей трудны для осмысления даже квалифицированными людьми, поэтому настоящий стандарт обеспечивает иерархическое структурирование конструкционных историй построения и включение текстового материала, поясняющего основополагающие принципы конструкции каждого структурного компонента модели. Данный материал играет в процедурной модели ту же роль, что и комментарии в компьютерной программе. В настоящее время нет известного метода для автоматической фиксации информации об основополагающих принципах конструкции, но существует надежда, что такие разработки могут быть осуществлены в будущем, возможно, в результате все возрастающего применения в техническом проектировании методов, основанных на знаниях.
5.3 Определение типа данных процедурной модели формы
5.3.1 Тип данных shape_representation_item
Тип данных shape_representation_item обеспечивает возможность выбора между двумя подтипами объекта representation_item. Он может быть использован для определения конструкционных операций в объекте procedural_shape_representation. Объект representation_item, на котором основан этот тип данных, определен в ИСО 10303-43.
EXPRESS-спецификация:
*)
TYPE shape_representation_item = SELECT
(geometric_representation_item,
topological_representation_item);
END_TYPE;
(*
5.4 Определение объектов процедурной модели формы
5.4.1 Объект explicit_procedural_shape_representation_relationship
Объект explicit_procedural_shape_representation_relationship является подтипом объекта explicit_procedural_representation_relationship, определенного в 4.3.1, который устанавливает связь между процедурным или гибридным представлением формы и соответствующим явно заданным текущим результатом. Процедурное представление по существу является параметрическим, представляющим семейство форм. Явно заданный текущий результат рассматривается как представительный пример формы из данного семейства, демонстрирующий некоторые аспекты намерений разработчика при ее построении.
EXPRESS-спецификация:
*)
ENTITY explicit_procedural_shape_representation_relationship
SUBTYPE OF (explicit_procedural_representation_relationship);
SELF\representation_relationship.rep_1 : procedural_shape_representation;
SELF\representation_relationship.rep_2 : shape_representation;
END_ENTITY;
(*
Определения атрибутов
SELF\representation_relationship.rep_1 - процедурное представление, определяющее параметризованное семейство форм;
SELF\representation_relationship.rep_2 - репрезентативная явно заданная (непараметрическая) модель из семейства моделей форм, определенного соответствующим процедурным (параметрическим) представлением.
Примечание - Правило WHERE для супертипа explicit_procedural_representation_relationship обеспечивает то, что экземпляр, на который ссылается атрибут SELF\representation_relationship.rep_2, не является объектом procedural_shape_representation.
5.4.2 Объект explicit_procedural_geometric_representation_item_relationship
Объект explicit_procedural_geometric_representation_item_relationship является подтипом объекта explicit_procedural_representation_item_relationship, определенного в 4.3.2, который устанавливает связь между двумя экземплярами объекта geometric_representation_item, один из которых определен процедурно, а второй - в явном виде, при этом оба экземпляра представляют один и тот же элемент модели формы.
Примечания
1 Обычно экземпляры объекта geometric_representation_item, присутствующие в процедурной модели формы, не имеют соответствующих им экземпляров в текущем результате. Однако в тех случаях, когда это имеет место, может быть полезно установить взаимосвязи на уровне объекта representation_item в дополнение к взаимосвязям, определенным на уровне объекта representation.
2 Пример использования данного объекта приведен в 4.3.2.
EXPRESS-спецификация:
*)
ENTITY explicit_procedural_geometric_representation_item_relationship
SUBTYPE OF (explicit_procedural_representation_item_relationship);
SELF\representation_item_relationship.relating_representation_item :
procedural_shape_representation_sequence;
SELF\representation_item_relationship.related_representation_item :
geometric_representation_item;
WHERE
WR1 : NOT (
'PROCEDURAL_SHAPE_MODEL_SCHEMA.PROCEDURAL_SHAPE_REPRESENTATION_SEQUENCE'
IN TYPEOF (
SELF\representation_item_relationship.related_representation_item));
END_ENTITY;
(*
Определения атрибутов
SELF\representation_item_relationship.relating_representation_item - экземпляр объекта procedural_shape_representation_sequence, определяющий процедурное представление элемента модели;
SELF\representation_item_relationship.related_representation_item - явно заданный элемент модели формы, соответствующий результату обработки процедурного определения.
Формальное утверждение
WR1 - экземпляр объекта representation_item, на который ссылается атрибут SELF\representation_item_relationship.related_representation_item, не должен быть представлен объектом procedural_shape_representation_sequence.
Неформальное утверждение
IP1 - элемент явно заданной модели должен быть результатом обработки элемента процедурно определенной модели с текущими значениями всех ее параметров.
5.4.3 Объект procedural_shape_representation
Объект procedural_shape_representation является подтипом объекта shape_representation, определенного в ИСО 10303-41, который определяет форму в терминах набора экземпляров объекта procedural_shape_representation_sequence. Данный объект является также подтипом объекта procedural_representation, определенного в 4.3.3. Каждая последовательность, заданная атрибутом SELF\representation.items, определяет полную или частичную форму. Частичные формы могут объединяться в более сложные формы, сами представляя собой элементы новых последовательностей.
EXPRESS-спецификация:
*)
ENTITY procedural_shape_representation
SUBTYPE OF (procedural_representation, shape_representation);
SELF\representation.items :
SET [1 : ?] OF procedural_shape_representation_sequence;
END_ENTITY;
(*
Определение атрибута
SELF\representation.items - набор элементов представления супертипа representation, являющийся в данном случае набором экземпляров объекта procedural_shape_representation_sequence.
Примечания
1 Правило WHERE объекта procedural_representation_sequence (см. 4.3.4) обеспечивает то, что все экземпляры объекта representation_item, присутствующие в конкретном экземпляре объекта procedural_representation, связаны с общим для них объектом representation_context. Объект procedural_shape_representation состоит из экземпляров объекта procedural_shape_representation_sequence, каждый из которых в свою очередь содержит список экземпляров объекта shape_representation_item, которые представлены экземплярами объекта geometric_representation_item или topological_representation_item. Если данное представление не является чисто топологическим, оно будет содержать один или несколько экземпляров объекта geometric_representation_item, которые требуют, чтобы связанный с ними объект representation_context был представлен объектом geometric_representation_context, определенным в ИСО 10303-42. Данный подтип объекта representation_context применительно к представлению формы имеет атрибут dimension_count, определяющий размерность представления формы, соответствующую данному контексту. Таким образом требуется, чтобы все экземпляры объекта geometric_representation_item, присутствующие в экземпляре объекта procedural_shape_representation, имели совместимую размерность.
2 Настоящий стандарт не предъявляет требования, чтобы все члены набора элементов представления у экземпляра объекта procedural_shape_representation имели полную совместимость по типам данных. Поэтому в принципе можно задать модель формы, состоящую из элементов разных типов данных, например объемную модель со связанными с ней каркасными участками. В других стандартах комплекса ИСО 10303, использующих или конкретизирующих данный ресурс, могут накладываться дополнительные ограничения на модель формы.
5.4.4 Объект procedural_shape_representation_sequence
Объект procedural_shape_representation_sequence является подтипом объекта geometric_representation_item, который представляет список конструкционных операций для создания модели формы. Данный объект также является подтипом объекта procedural_representation_sequence, определенного в 4.3.4. Эти операции должны быть выполнены после передачи модели в том порядке, в котором они присутствуют в данном списке.
Примечание - Правильный порядок конструкционных операций важен в случае, когда переданная модель формы должна быть корректно восстановлена в принимающей системе. В общем случае один и тот же набор операций, выполненных в разном порядке, приведет к генерации разных моделей.
EXPRESS-спецификация:
*)
ENTITY procedural_shape_representation_sequence
SUBTYPE OF (geometric_representation_item,
procedural_representation_sequence);
WHERE
WR1 : SIZEOF (QUERY (q <*
SELF\procedural_representation_sequence.elements
| NOT ('PROCEDURAL_SHAPE_MODEL_SCHEMA.SHAPE_REPRESENTATION_ITEM'
IN TYPEOF (q)))) = 0;
END_ENTITY;
(*
Формальное утверждение
WR1 - каждый элемент модели, создаваемый в принимающей системе, должен принадлежать к одному из типов данных, указанных в списке выбора объекта shape_representation_item.
5.4.5 Объект procedural_solid_representation_sequence
Объект procedural_solid_representation_sequence является подтипом объекта procedural_shape_representation_sequence, который представляет объемную форму. В его списке типов данных должен присутствовать объект solid_model, определенный в ИСО 10303-42.
Не требуется, чтобы результат выполнения каждой отдельной операции из последовательности представлял объемную модель, но результат последней операции должен интерпретироваться как объемная модель. Данное правило применимо и к другим подтипам объекта procedural_shape_representation_sequence, определенным в 5.4.6 и 5.4.7. Приведенные ниже примеры иллюстрируют два варианта процедурного представления объемного тела.
Примеры
1 Операция выбора, присутствующая в последовательности, не создает новое объемное тело и не изменяет существующую модель объемного тела. Она является индикатором того, что в передающей системе выполнено подготовительное действие для последующей операции, вызывающей изменение существующей модели объемного тела.
2 Использование булевых операций в экземпляре объекта procedural_solid_representation_sequence приведет к появлению в последовательности экземпляров объекта boolean_result. Объект boolean_result определен в ИСО 10303-42 и не является подтипом объекта solid_model. Он представляет набор, который может быть пустым или содержать один или несколько объемных тел, которые рассматриваются как в некотором смысле промежуточные результаты в процессе построения модели. В ИСО 10303-42 определен объект csg_solid, который может использоваться для представления конечного результата в процессе булевого построения модели как экземпляр объекта solid_model. Однако его использование не является необходимым в обстоятельствах, описанных в начале данного примера, поскольку последовательность операций сама представляет конечный результат и сама определена как подтип объекта solid_model.
EXPRESS-спецификация:
*)
ENTITY procedural_solid_representation_sequence
SUBTYPE OF (procedural_shape_representation_sequence);
WHERE
WR1 : 'GEOMETRIC_MODEL_SCHEMA.SOLID_MODEL' IN TYPEOF (SELF);
END_ENTITY;
(*
Формальное утверждение
WR1 - список типов данных экземпляра объекта procedural_solid_representation_sequence должен содержать объект solid_model.
Неформальное утверждение
IP1 - операции, указанные в экземпляре объекта procedural_solid_representation_ sequence, должны относиться к созданию или модификации объемной модели, а результат последней операции данной последовательности должен интерпретироваться как экземпляр объекта solid_model.
5.4.6 Объект procedural_surface_representation_sequence
Объект procedural_surface_representation_sequence является подтипом объекта procedural_shape_representation_sequence, который представляет модель поверхности. В его списке типов данных должен присутствовать один из объектных типов данных, указанных в списке выбора объекта surface_model, определенного в ИСО 10303-42, а именно shell_based_surface_model или face_based_surface_model.
EXPRESS-спецификация:
*)
ENTITY procedural_surface_representation_sequence
SUBTYPE OF (procedural_shape_representation_sequence);
WHERE
WR1 : ('GEOMETRIC_MODEL_SCHEMA.FACE_BASED_SURFACE_MODEL' IN TYPEOF (SELF))
XOR
('GEOMETRIC_MODEL_SCHEMA.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (SELF));
END_ENTITY;
(*
Формальное утверждение
WR1 - список объектных типов данных экземпляра объекта procedural_surface_representation_sequence должен содержать объект shell_based_surface_model или face_based_surface_model.
Неформальное утверждение
IP1 - операции, указанные в экземпляре объекта procedural_surface_representation_sequence, должны относиться к созданию или модификации модели поверхности, а результат последней операции данной последовательности должен быть согласован с типом модели поверхности, указанном в списке типов данных родительского экземпляра.
5.4.7 Объект procedural_wireframe_representation_sequence
Объект procedural_wireframe_representation_sequence является подтипом объекта procedural_shape_representation_sequence, который представляет каркасную модель. В его списке типов данных должен присутствовать один из объектных типов данных, указанных в списке выбора объекта wireframe_model, определенного в ИСО 10303-42, а именно shell_based_wireframe_model или edge_based_wireframe_model.
EXPRESS-спецификация:
*)
ENTITY procedural_wireframe_representation_sequence
SUBTYPE OF (procedural_shape_representation_sequence);
WHERE
WR1 : ('GEOMETRIC_MODEL_SCHEMA.EDGE_BASED_WIREFRAME_MODEL' IN
TYPEOF (SELF))
XOR
('GEOMETRIC_MODEL_SCHEMA.SHELL_BASED_WIREFRAME_MODEL' IN
TYPEOF (SELF));
END_ENTITY;
(*
Формальное утверждение
WR1 - список объектных типов данных экземпляра объекта procedural_wireframe_representation_sequence должен содержать объект shell_based_wireframe_model или edge_based_wireframe_model.
Неформальное утверждение
IP1 - операции, указанные в экземпляре объекта procedural_wireframe_representation_sequence, должны относиться к созданию или модификации каркасной модели, а результат последней операции данной последовательности должен быть согласован с типом каркасной модели, указанном в списке типов данных родительского экземпляра.
5.4.8 Объект user_selected_shape_elements
Объект user_selected_shape_elements является подтипом объекта user_selected_elements, определенного в 4.3.5, который представляет ссылку на один или несколько элементов модели формы, представленных в явном виде и выбранных на экране передающей системы. Наличие экземпляра данного объекта в объекте procedural_shape_representation_sequence является признаком, по которому принимающая система должна начать поиск элементов формы, соответствующих элементам, на которые ссылается экземпляр объекта user_selected_shape_elements. Все найденные элементы соответствуют элементам, выбранным пользователем передающей системы, как это пояснено в 4.2.3. Элементы формы, на которые ссылается объект user_selected_shape_elements, должны существовать в явно заданной модели формы, генерируемой в принимающей системе в то время, когда появляется ссылка на выбранный элемент.
EXPRESS-спецификация:
*)
ENTITY user_selected_shape_elements
SUBTYPE OF (user_selected_elements);
WHERE
WR1 : SIZEOF (QUERY (q <*
SELF\user_selected_elements.picked_items | NOT
('PROCEDURAL_SHAPE_MODEL_SCHEMA.SHAPE_REPRESENTATION_ITEM'
IN TYPEOF (q)))) = 0;
END_ENTITY;
(*
Формальное утверждение
WR1 - список объектных типов данных каждого выбранного элемента должен содержать объект shape_representation_item.
5.4.9 Объект indirectly_selected_shape_elements
Объект indirectly_selected_shape_elements является подтипом объектов user_selected_shape_elements, определенного в 5.4.8, и indirectly_selected_elements, определенного в 4.3.6. Использование данного объекта подходит для случая, когда выбранный в явном виде элемент (или элементы) формы предназначен для того, чтобы представлять некоторый другой, связанный с ним элемент (или элементы) формы. Поэтому данный объект определяет дополнительный атрибут, используемый для задания множества экземпляров объекта shape_representation_item, на которые есть косвенные ссылки. Примеры использования данного объекта приведены в 4.3.6.
При реализации объекта indirectly_selected_shape_elements предполагается, что элементы формы, на которые даны косвенные ссылки, так же как и элементы, на которые даны прямые ссылки, должны иметь соответствующие им элементы в явно заданной модели формы, генерируемой в принимающей системе. Хотя элементы, на которые даны косвенные ссылки, в дальнейшем должны использоваться в конструкционной процедуре, передача элементов, на которые даны прямые ссылки, составляет часть обмена содержимым конструкции.
EXPRESS-спецификация:
*)
ENTITY indirectly_selected_shape_elements
SUBTYPE OF (indirectly_selected_elements,
user_selected_shape_elements);
WHERE
WR1 : SIZEOF (QUERY (q <*
SELF\indirectly_selected_elements.indirectly_picked_items
| NOT ('PROCEDURAL_SHAPE_MODEL_SCHEMA.SHAPE_REPRESENTATION_ITEM'
IN TYPEOF (q)))) = 0;
END_ENTITY;
(*
Формальное утверждение
WR1 - список объектных типов данных каждого косвенно выбранного элемента должен содержать объект shape_representation_item.
*)
END_SCHEMA; -- procedural_shape_model_schema
(*
Приложение A
(обязательное)
Сокращенные наименования объектов
Сокращенные наименования объектов, определенных в настоящем стандарте, приведены в таблице A.1.
Требования к использованию сокращенных наименований установлены в стандартах тематической группы "Методы реализации" комплекса ИСО 10303.
Таблица A.1 - Сокращенные наименования объектов
Полное наименование | Сокращенное наименование |
explicit_procedural_geometric_representation_item_relationship | EPGRIR |
explicit_procedural_representation_item_relationship | EPRIR |
explicit_procedural_representation_relationship | EPRR |
explicit_procedural_shape_representation_relationship | EPSRR |
indirectly_selected_elements | INSLEL |
indirectly_selected_shape_elements | ISSE |
procedural_representation | PRC0 |
procedural_representation_sequence | PRRPSQ |
procedural_shape_representation | PRSHRP |
procedural_shape_representation_sequence | PSRS |
procedural_solid_representation_sequence | PSR0 |
procedural_surface_representation_sequence | PSR1 |
procedural_wireframe_representation_sequence | PWRS |
user_selected_elements | USSLEL |
user_selected_shape_elements | USSE |
Приложение B
(обязательное)
Регистрация информационных объектов
B.1 Обозначение документа
Для однозначного обозначения информационного объекта в открытой системе настоящему стандарту присвоен следующий идентификатор объекта:
{ iso standard 10303 part(55) version(1) }
Смысл данного обозначения установлен в ИСО/МЭК 8824-1 и описан в ИСО 10303-1.
B.2 Обозначение схем
B.2.1 Обозначение схемы procedural_model_schema
Для однозначного обозначения в открытой информационной системе схеме procedural_model_schema, установленной в настоящем стандарте (см. раздел 4), присвоен следующий идентификатор объекта:
{ iso standard 10303 part(55) version(1) schema(1) procedural-model-schema(1) }
Смысл данного обозначения установлен в ИСО/МЭК 8824-1 и описан в ИСО 10303-1.
B.2.2 Обозначение схемы procedural_shape_model_schema
Для однозначного обозначения в открытой информационной системе схеме procedural_shape_model_schema, установленной в настоящем стандарте (см. раздел 5), присвоен следующий идентификатор объекта:
{ iso standard 10303 part(55) version(1) schema(1) procedural-shape-model-schema(2) }
Смысл данного обозначения установлен в ИСО/МЭК 8824-1 и описан в ИСО 10303-1.
Приложение C
(справочное)
Машинно-интерпретируемые листинги
В данном приложении приведены ссылки на сайты, на которых представлены листинги наименований объектов на языке EXPRESS и соответствующих сокращенных наименований, установленных или на которые приведены ссылки в настоящем стандарте. На данных сайтах также представлены листинги всех EXPRESS-схем, определенных в настоящем стандарте, без комментариев и другого поясняющего текста. Эти листинги приведены в машинно-интерпретируемой форме и могут быть получены по следующим адресам URL:
сокращенные наименования: http://www.tc184-sc4.org/Short_Names/;
EXPRESS: http://www.tc184-sc4.org/EXPRESS/.
Если доступ к этим сайтам невозможен, следует обратиться в центральный секретариат ИСО или непосредственно в секретариат ИСО ТК 184/ПК 4 по адресу электронной почты: sc4sec@tc184-sc4.org.
Примечание - Информация, представленная в машинно-интерпретированном виде по указанным выше адресам URL, является справочной. Обязательным является текст настоящего стандарта.
Приложение D
(справочное)
EXPRESS-G диаграммы
Диаграммы на рисунках D.1-D.3 представляют в графической форме схемы, определенные в настоящем стандарте. В диаграммах использована графическая нотация EXPRESS-G языка EXPRESS, определенная в ИСО 10303-11, приложение D.
Рисунок D.1 - Представление схемы procedural_model_schema в формате EXPRESS-G
(диаграмма 1 из 1)
Рисунок D.2 - Представление схемы procedural_shape_model_schema в формате EXPRESS-G
(диаграмма 1 из 2)
Рисунок D.3 - Представление схемы procedural_shape_model_schema в формате EXPRESS-G
(диаграмма 2 из 2)
Приложение E
(справочное)
Примеры применения настоящего стандарта
E.1 Пример негеометрического приложения процедурного моделирования
Примером негеометрического процедурного представления является игра в шахматы, определенная в терминах отдельных ходов. Соответствующее явно заданное представление может принять форму матрицы 8 х 8 с векторными элементами, определяющими:
1) состояние занятости поля на шахматной доске, соответствующего элементу матрицы, и
2) если поле занято, то тип и цвет занимающей его фигуры (например, белая пешка, черный слон).
Данное приложение хорошо иллюстрирует различие между сущностями процедурной и явно заданной моделей. Явно заданная модель представляет моментальный снимок текущей физической ситуации в некоторый момент времени, в то время как соответствующая процедурная модель отображает подробную эволюцию модели до данного момента времени.
E.2 Пример использования по назначению схемы procedural_shape_model_ schema
Представленный здесь пример иллюстрирует использование по назначению возможностей, определенных в настоящем стандарте для моделирования формы изделия. Предполагается, что модель текущего результата является моделью по ИСО 10303-203 [4], которая предшествует процедурному представлению в файле обмена по ИСО 10303-21 [2]. Данный пример демонстрирует использование объектов, определенных в других стандартах комплекса ИСО 10303, в качестве конструкторов. Хотя большинство из этих объектов определены в стандартах тематической группы "Интегрированные обобщенные ресурсы", в данном случае для демонстрационных целей они представлены как реализуемые объекты из прикладного протокола. Моделируемая форма представляет собой L-образный блок с отверстием в нем.
/* Из файла модели текущего результата */ #840 = ADVANCED BREP SHAPE REPRESENTATION (….., #850); #850 = GEOMETRIC REPRESENTATION CONTEXT (…..); … /* Здесь начинается процедурное представление: */ #1010 = EXPLICIT PROCEDURAL SHAPE REPRESENTATION RELATIONSHIP | |
(' ' , $, #1020, #840); | |
#1020 = PROCEDURAL SHAPE REPRESENTATION ('FINAL OBJECT', | |
(#1280),#850); | |
#1030 = PROCEDURAL SOLID REPRESENTATION SEQUENCE ('BASIC L-BLOCK', | |
(#1040, #1050, #1060), ( ), 'RATIONALE: TEXT...'); | |
#1040 = EXTRUDED FACE SOLID ('L-SOLID', #1070, #1080,8.); #1050 = USER SELECTED SHAPE ELEMENTS ('SELECTED EDGE', (#1120)); #1060 = CONSTANT RADIUS EDGE BLEND ('BLEND1', #1040, #1120,2.); #1070 = FACE SURFACE ('L-FACE', …..); #1080 = DIRECTION ('EXTRUSION DIRECTION', (0.,0.,1.)); /* дополнительная информация для extruded_face_solid из #1040 */ ….. #1120 = EDGE CURVE (…..); /* дополнительная информация для edge_curve из #1120 */ ….. #1180 = PROCEDURAL SOLID REPRESENTATION SEQUENCE ('HOLE-VOLUME', | |
(#1190, #1200, #1210), (#1190, #1200, #1210 ), | |
#1190 = RIGHT CIRCULAR CYLINDER ('HOLE-SHAFT', #1220,2.,1.); #1200 = RIGHT CIRCULAR CONE ('HOLE-BASE', #1250,1.,0.,45.); #1210 = BOOLEAN RESULT ('HOLE-VOLUME', .UNION., #1190, #1200); #1220 = AXIS1 PLACEMENT ('CYL-AXIS', #1230, #1240); #1230 = CARTESIAN POINT ('FACE-CENTRE', (7.5,4.,4.)); #1240 = DIRECTION ('CYL-AXIS-DIR', (0.,-1.,0.)); #1250 = AXIS1 PLACEMENT ('CONE-AXIS', #1260, #1270); #1260 = CARTESIAN POINT ('CONE-APEX', (7.5,1.,4.)); #1270 = DIRECTION ('CONE-AXIS-DIR', (0.,-1.,0.)); #1280 = PROCEDURAL SOLID REPRESENTATION SEQUENCE ('FINAL-VOLUME', | |
(#1290), ( ), 'RATIONALE: TEXT...'); | |
#1290 = BOOLEAN RESULT ('L-BLOCK-WITH-HOLE', .DIFFERENCE., #1030, | |
#1180); |
Предполагается, что входам в процедурную модель предшествует явно заданное представление модели с помощью экземпляра объекта advanced_brep_shape_representation, заданного в строке #840. Экземпляр объекта representation_context, связанный с явно заданной моделью, задан в строке #850.
Экземпляр, указанный в строке #1010, определяет взаимосвязь двойственной модели между явно заданным и процедурным представлениями L-образного блока. Заметим, что оба представления используют один и тот же экземпляр объекта representation_context (в данном случае контекст является геометрическим), как того требует правило WHERE объекта explicit_procedural_representation_relationship. Данный фрагмент файла содержит три экземпляра объекта procedural_solid_representation_sequence, формирующих процедурное представление и заданных в строках #1030, #1180 и #1280. Эти последовательности определяют только созданные первичные элементы; вторичные элементы, входящие в их определения, для обеспечения понятности данного примера последовательно перечислены после экземпляра объекта procedural_solid_representation_sequence, в котором они используются.
Пример - Экземпляр #1040 представляет операцию создания объекта extruded_face_solid - основной формы L-образного блока. Один из атрибутов данного экземпляра определяет грань, подлежащую вытягиванию. Данная грань указана после последовательности операций как экземпляр #1070, за которым следуют все элементы более низкого уровня, входящие в ее определение.
После того, как экземпляр #1040 произвел вытягивание, формирующее основную форму L-образного блока, выбирается вогнутое ребро результирующего объемного объекта и к нему применяется операция скругления. Следует отметить, что операция выбора показана в данной последовательности операций с помощью экземпляра объекта user_selected_shape_elements, который ссылается на выбранный элемент и определяет надлежащее применение данного элемента в последующей операции.
Экземпляр #1180 представляет форму отверстия в блоке, состоящую из цилиндрической части и конической вершины; отдельные объемные объекты создаются независимо и связываются вместе с помощью булевой операции логического сложения. Экземпляр #1280 определяет окончательную модель, полученную с помощью логического вычитания формы отверстия из формы L-образного блока. Следует отметить, что две предыдущие последовательности операций повторно используются в качестве входа для третьей последовательности. Это является иллюстрацией возможности встраивания последовательностей операций на разных уровнях представления структурированных конструкций.
Примечания
1 В приведенном выше примере использованы экземпляры следующих объектов, определенных в ИСО 10303-42:
- axis1_placement;
- boolean_result;
- cartesian_point;
- direction;
- edge_curve;
- extruded_face_solid;
- face_surface;
- right_circular_cone;
- right_circular_cylinder.
Все другие экземпляры, использованные в процедурной части данного примера, за исключением одного, относятся к объектам, определенным в настоящем стандарте. Исключение составляет экземпляр #1060 фиктивного объекта constant_radius_edge_blend, определяющий скругление с постоянным радиусом единственного ребра. Его атрибутами являются наименование (предполагается, что оно наследуется от его супертипа geometric_representation_item), ссылка на объемное тело, на котором должно быть определено скругление, ссылка на конкретное ребро, подлежащее скруглению, и значение радиуса скругления.
2 Простые объемные тела (примитивы) для булевых логических операций позиционированы и ориентированы так, как они в действительности присутствуют в текущем результате. Предполагается, что передающая система, которая создает объект в позиции, принятой по умолчанию, а затем выполняет преобразование координат, может легко сгенерировать необходимую информацию. В большинстве случаев примитивы не присутствуют в явном виде в текущем результате.
3 Использование трех экземпляров объекта procedural_solid_representation_sequence служит чисто для иллюстративных целей, позволяя продемонстрировать встраивание последовательностей операций одна в другую. В представленном примере три конечные логические операции могут быть заменены двумя другими операциями, добавленными в конец первой последовательности. Однако, как смоделировано в данном случае, объемная форма отверстия может быть реализована отдельно и использована, например, как шаблон.
4 Как отмечено в 5.4.5, считается, что экземпляры #1210 и #1290, хотя и не являются экземплярами какого-либо подтипа объекта solid_model, определяют результат типа solid_model благодаря своему присутствию в объекте procedural_solid_representation_sequence.
5 У второго экземпляра объекта procedural_solid_representation_sequence (#1180) атрибут suppressed_items супертипа procedural_representation_sequence содержит три элемента. Результатом этого является запрет всех операций по созданию объемной формы отверстия в L-образном блоке, имеющей нулевой объем. При первом импорте модели будут выполнены все операции, но предполагается, что принимающая система при восстановлении модели пропустит эти операции. Первоначальное создание полной модели позволяет проверить принятую модель на соответствие сопровождающему ее текущему результату до начала генерации ее упрощенной версии.
E.3 Пример использования вариационной информации (параметризация и ограничение) с процедурной моделью
Для связи процедурного представления с явно заданным представлением в настоящем стандарте предусмотрен текущий результат, формируемый с помощью объекта explicit_procedural_representation_relationship, как это определено в 4.3.1. В контексте настоящего стандарта под текущим результатом понимается то, что получается в результате расчета процедурной модели. Текущий результат является инвариантной моделью, часто относящейся к типу контурного представления.
В ИСО 10303-108 определено понятие объекта variational_representation, являющегося подтипом объекта representation и содержащего параметры и ограничения модели, представленной в явном виде. Любой экземпляр объекта variational_representation должен иметь связанный с ним текущий результат, принадлежащий к представленному семейству параметрических моделей, с текущими значениями всех имеющихся параметров. Необходимую связь обеспечивает использование объекта variational_current_representation_relationship, определенного в ИСО 10303-108.
Экземпляр объекта variational_representation должен ссылаться на текущий результат через свой процедурный эквивалент, если таковой существует. Текущий результат может затем рассматриваться как представитель вариационного семейства, являющийся предметом параметрической модификации через изменения не только явно заданных параметров, определенных в модели, но также и косвенных параметров, присутствующих как аргументы конструкционных операций. Аналогочно, параметрические модификации должны соответствовать не только явно заданным ограничениям в вариационном представлении, но также и косвенным ограничениям, свойственным конструкционным операциям.
Существуют четыре возможные комбинации процедурных, явно заданных и вариационных представлений. Тремя наиболее важными из них являются следующие:
a) только процедурное и явно заданное представления - данная комбинация является самой простой: для нее требуется связь явно заданной модели с процедурной формой с помощью использования объекта explicit_procedural_representation_relationship, определенного в 4.3.1, или какого-либо его конкретизированного подтипа;
b) только вариационное и явно заданное представления - данная комбинация также является простой: вариационное представление практически является явно заданным представлением с дополнительным слоем данных о связанных с ним параметрах и ограничениях, предназначенных для управления способом его модификации в принимающей системе после окончания передачи. В данном случае связь между представлениями определяется с помощью объекта variational_current_representation_relationship, определенного в ИСО 10303-108. Данный тип связи соответствует вариационным экземплярам объекта neutral_sketch_representation, определенного в ИСО 10303-108;
c) процедурное, вариационное и явно заданное представления - данная комбинация, как и следовало ожидать, является самой сложной: она характеризуется прямой связью вариационной информации с элементами, входящими в процедурное представление. Представленный ниже подробный пример иллюстрирует данную комбинацию представлений. Часто встречающимся случаем является такой, при котором вариационное содержимое гибридной модели полностью сосредоточено в присутствующих элементах, представленных в явном виде, которые часто описываются схематически с помощью параметризованных и/или ограниченных элементов. Поэтому связь процедурной модели с явно заданной моделью представляется с помощью объекта explicit_procedural_representation_relationship. Однако в данном случае требуется также использование объекта variational_current_representation_relationship, при этом текущая модель должна создаваться на основе ее процедурной, а не явно заданной формы представления.
Примечание - В случае (c) будет неправильно связывать вариационную информацию непосредственно с соответствующими элементами явно заданной модели текущего результата, так как в общем случае созданные в процедурной модели элементы, на которые влияют ограничения, могут быть модифицированы или даже удалены в результате выполнения последующих операций и поэтому будут отсутствовать в окончательной модели, соответствующей текущему результату. Вот почему в данном случае взаимосвязь вариационного представления с текущим результатом должна быть осуществлена с помощью процедурного представления.
Существует также четвертая комбинация (d) процедурной и вариационной моделей при отсутствии явно заданного представления. Данная комбинация возможна, и при этом не потребуются экземпляры объекта explicit_procedural_representation_relationship, а две присутствующие модели будут связаны между собой с помощью объекта variational_current_representation_relationship. Однако недостатки, вызванные отсутствием явно заданной модели, делают маловероятным широкое использование данной комбинации.
Примечание - Взаимосвязи между тремя типами описанных выше комбинаций (a), (b) и (c) показаны на рисунке E.1. На данном рисунке показаны взаимосвязи между конкретными экземплярами, а не между объектами. Диаграмма для комбинации (d) будет соответствовать комбинации (c) без двух крайних левых экземпляров.
Рисунок E.1 - Взаимосвязи между экземплярами процедурной, вариационной и явно заданной моделей для комбинаций: (a) - без вариационной модели, (b) - без процедурной модели, (c) - наличие всех трех моделей
Следующий фрагмент передаваемого файла, соответствующего ИСО 10303-21 [2], показывает, как пример из предыдущего раздела может быть расширен за счет включения вариационной информации:
/* Продолжение примера из предыдущего раздела */ #1300 = FINITE_REAL_INTERVAL (0.,.OPEN.,2.,.CLOSED.); #1310 = BOUND_MODEL_PARAMETER ('R1', #1300, *, 'HOLE-RADIUS', *); #1320 = INSTANCE_ATTRIBUTE_REFERENCE |
('GEOMETRIC_MODEL_SCHEMA.RIGHT_CIRCULAR_CYLINDER.RADIUS', |
#1330 = BOUND_PARAMETER_ENVIRONMENT (#1310, #1320); #1340 = FINITE_REAL_INTERVAL (0.,.OPEN.,2.,.CLOSED.); #1350 = BOUND_MODEL_PARAMETER ('R2', #1340, *, 'CONE-BASE-RADIUS', *); #1360 = INSTANCE_ATTRIBUTE_REFERENCE |
('GEOMETRIC_MODEL_SCHEMA.RIGHT_CIRCULAR_CONE.RADIUS', #1200); |
#1370 = BOUND_PARAMETER_ENVIRONMENT (#1350, #1360); #1380 = EQUAL_PARAMETER_CONSTRAINT (' ', $, (#1310, #1350), ( )); #1390 = PDGC_WITH_DIMENSION (' ', 'TOTAL-HOLE-DEPTH', (#1260), (#1230), 3.); /* (PDGC обозначает 'геометрическое ограничение расстояния до точки') */ #1400 = FINITE_REAL_INTERVAL (0.,.OPEN.,5.,.CLOSED.); #1410 = BOUND_MODEL_PARAMETER ('H', #1400, *, 'HOLE-SHAFT-DEPTH', *); #1420 = INSTANCE_ATTRIBUTE_REFERENCE |
('GEOMETRIC_MODEL_SCHEMA.RIGHT_CIRCULAR_CYLINDER.HEIGHT', |
#1430 = BOUND_PARAMETER_ENVIRONMENT (#1410, #1420); #1440 = FINITE_REAL_INTERVAL (0.,.OPEN.,6.,.CLOSED.); #1450 = BOUND_MODEL_PARAMETER ('D', #1440, *, 'TOTAL-HOLE-DEPTH', *); #1460 = INSTANCE_ATTRIBUTE_REFERENCE |
('EXPLICIT_GEOMETRIC_CONSTRAINT_SCHEMA.PDGC_WITH_DIMENSION. |
#1470 = BOUND_PARAMETER_ENVIRONMENT (#1450, #1460); #1480 = FREE_FORM_RELATION (' ', 'DEPTH-RELATION', |
(#1450), (#1310, #1410), #1490); |
#1490 = COMPARISON_EQUAL (#1450, #1500); #1500 = PLUS_EXPRESSION (#1310, #1410); #1510 = VARIATIONAL_REPRESENTATION (' ', (#1280, #1310, #1350, #1380, #1390, |
#1410, #1450, #1480), #850); |
#1520 = VARIATIONAL_CURRENT_REPRESENTATION_RELATIONSHIP |
(' ', $, #1510, #1020, #1020); |
Данный фрагмент файла демонстрирует параметризацию отверстия в L-образном блоке. В нем создано четыре экземпляра объекта bound_model_parameter из ИСО 10303-108 в сегментах #1300 - #1330, #1340 - #1370, #1400 - #1430 и #1440 - #1470, соответственно. Каждый из этих сегментов определяет:
- область действия значений параметра (во всех случаях это конечный диапазон вещественных чисел);
- сам параметр модели, у которого есть наименование, ссылка на его область действия и описание. Конечный атрибут, представленный как производная величина, является значением параметра, полученным из атрибута, с которым данный параметр связан;
- конкретный атрибут экземпляра в файле, с которым связан данный параметр модели, и чье значение он представляет;
- экземпляр объекта bound_parameter_environment, обеспечивающий связь между параметром модели и атрибутом, с которым он связан.
К атрибутам, у которых имеются связанные с ними параметры, относятся:
- радиус цилиндра, формирующего ствол отверстия;
- радиус основания конуса, формирующего дно отверстия;
- высота цилиндра, формирующего ствол отверстия;
- расстояние от центра вершины ствола отверстия до вершины конуса на дне отверстия.
В данном фрагменте файла представлены два ограничения, определенные в явном виде. Первое ограничение представлено объектом equal_parameter_constraint, которое просто требует, чтобы радиус цилиндра и радиус основания конуса имели одинаковые значения. Второе ограничение ограничивает расстояние между верхней и нижней точками отверстия, которое должно быть равно сумме высоты и радиуса цилиндра. Так как угол в вершине конуса равен 45°, а радиус основания конуса равен радиусу цилиндра, то данная сумма определяет общую глубину отверстия.
Два последних экземпляра определяют объект variational_representation и его связь с соответствующим текущим результатом, в данном случае с помощью эквивалентной процедурной формы. Вариационное представление ссылается на множество экземпляров объекта representation_item, которое включает все экземпляры, на которые ссылается текущий результат (его процедурный эквивалент), а также все экземпляры представленных в явном виде параметров и ограничений, определяющих вариационный аспект модели. Тот факт, что на процедурную форму текущего результата дважды ссылается экземпляр объекта variational_current_representation_relationship, является требованием определения данного объекта на языке EXPRESS и вытекает из необходимости применения правила локальной уникальности.
Примечания
1 Вопросы сбора и передачи данных о параметризации и ограничениях более подробно обсуждаются в ИСО 10303-108, где также приведены дополнительные примеры.
2 Все экземпляры в данном примере относятся к объектам, определенным в ИСО 10303-108, за исключением двух, определенных в ИСО 13584-20 [5]. Данный стандарт используется в ИСО 10303-108 для представления математических выражений и взаимосвязей. Этими двумя объектами являются comparison_equal и plus_expression.
Е.4 Пример встраивания последовательности операций и представления основополагающих принципов конструкции
Объект procedural_representation sequence задает последовательность экземпляров объекта representation_item, которые должны интерпретироваться как конструкционные операции, а сам он также определен как подтип объекта representation_item. Поэтому экземпляр объекта procedural_representation_sequence может быть включен в список операций другого экземпляра такого же типа. Подобным образом может быть реализовано встраивание последовательностей операций одна в другую, а данная возможность может быть использована для построения сложных структур, отражающих разнообразные одновременные или последовательные действия, производимые в реальном процессе конструирования. В частности, все сказанное выше относится и к объекту procedural_shape_representation_sequence и его подтипам, предназначенным для фиксации процедурно определенных геометрических моделей, генерируемых CAD-системами. Простой пример встраивания последовательностей геометрических построений приведен в E.2.
Для того чтобы повысить воспринимаемость и повторное использование последовательности операций построения или истории операций, важно выявить основополагающие принципы, лежащие в основе представленного процесса конструирования. История операций сама фиксирует важные аспекты концепции данной конструкции, включая схему параметризации и конструктивные ограничения. Основополагающие принципы конструкции обеспечивают основное обоснование концепции данной конструкции, заключенной в передаваемой процедурной модели.
Приведенный ниже схематический пример иллюстрирует возможную структуру конструкции головки блока цилиндров автомобильного двигателя. Аббревиатуры ОР (операция) и OPSEQ (последовательность операций) использованы для обозначения экземпляров объектов geometric_representation_item и procedural_shape_representation_sequence, соответственно.
OPSEQ_1 (name: complete cylinder head design, |
rationale: set of assertions); |
OP_11; |
rationale: set of assertions); |
OP_111; |
ENDSEQ; |
rationale: set of assertions); |
OP_121; |
ENDSEQ; |
rationale: set of assertions); |
OP-131; |
ENDSEQ; |
В приведенном выше примере аббревиатура ENDSEQ обозначает конец последовательности операций. Существует главная последовательность операций, которая содержит три встроенные последовательности операций и несколько отдельных операций. Встроенные последовательности операций относятся к конструкции конкретных элементов головки блока цилиндров. В приведенном примере показан только один уровень встраивания, но в принципе допускается произвольное число уровней встраивания. Порядок встраивания дополнительных последовательностей в главную последовательность отражает порядок создания разных элементов головки блока цилиндров, который в свою очередь может отражать зависимость позднее разрабатываемых деталей конструкции от конструктивных особенностей деталей, разработанных ранее.
Формулировки, приведенные в основополагающих принципах конструкции, раскрывают причины выбора тех или иных вариантов конструкции. Данный выбор может в некоторой степени быть представлен применением ограничений и заданием значений параметров и диапазонов их действия вместе с отношениями между параметрами. Данная информация может быть включена неявно (выбором операций и их входных аргументов) или явно (как было показано ранее). Информация, представляющая основополагающие принципы конструкции, может содержать текстовые спецификации критериев конструирования, конструктивных ограничений и процедур подтверждения конструкторских решений, которые не могут быть представлены средствами стандартов комплекса ИСО 10303, доступными на данный момент времени. Данная информация может также быть использована для регистрации основных результатов анализа (например, результатов вычислений методом конечных элементов) и сохранения их для последующего использования.
Примеры
1 Следующие типы конструктивных ограничений являются иллюстрацией того, что может быть представлено в процедурной модели с использованием возможностей комплекса ИСО 10303:
- расстояние между заданными поверхностями двух объектов должно быть между и ;
- значения параметров модели , и должны быть связаны соотношением .
2 Другие типы конструктивных ограничений не могут в настоящее время быть представлены в процедурной модели средствами комплекса ИСО 10303, например:
- "число ребер жесткости должно иметь заданную зависимость от значения параметра ". Данное ограничение нельзя представить средствами комплекса ИСО 10303, так как оно требует генерации числа ребер, которое зависит от результата некоторых предыдущих расчетов. В настоящее время ИСО 10303 не располагает средствами для включения в процедурные модели необходимых управляющих конструкций типа IF…THEN…ELSE или REPEAT…UNTIL;
- "необходимо проверить наличие достаточного пространства при вибрации двигателя, а затем убедиться, что объем резонатора находится в допустимых пределах при допуске ". Подобные сложные задачи требуют использования аналитических средств, отсутствующих в настоящее время в ИСО 10303.
Самым лучшим, что может быть сделано в двух последних случаях, это обеспечить возможность текстового описания того, что должно быть выполнено.
В соответствии с ИСО 10303, при передаче модели ответственность за подтверждение концепции конструкции может быть передана принимающей системе. Проверка ограничений может быть произведена после одиночной конструктивной операции или после множества операций. Например, простое конструктивное ограничение может быть проверено на продолжение его выполнения после одиночной операции модификации. С другой стороны, сложная аналитическая проверка, например верификация структурной целостности с использованием анализа методом конечных элементов, обычно возможна только для достаточно полной модели, определенной в терминах многих операций.
Наконец, необходимо отметить, что возможность представления информации об основополагающих принципах конструкции в текстовой форме, реализованная в настоящем стандарте, рассматривается как минимальное средство, и в будущих версиях настоящего стандарта могут быть введены дополнительные возможности. Одной из таких возможностей может быть включение машинно-интерпретируемых указателей на внешние документы.
Приложение ДА
(справочное)
Сведения о соответствии ссылочных международных стандартов национальным стандартам
Таблица ДА.1
Обозначение ссылочного международного стандарта | Степень соответствия | Обозначение и наименование соответствующего национального стандарта |
ISO/IEC 8824-1 | IDT | ГОСТ Р ИСО/МЭК 8824-1-2001 "Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации" |
ISO 10303-1 | IDT | ГОСТ Р ИСО 10303-1-99 "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 1. Общие представления и основополагающие принципы" |
ISO 10303-11 | IDT | ГОСТ Р ИСО 10303-11-2009 "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS" |
ISO 10303-41 | IDT | ГОСТ Р ИСО 10303-41-99 "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 41. Интегрированные обобщенные ресурсы. Основы описания и поддержки изделий" |
ISO 10303-42 | - | * |
ISO 10303-43 | IDT | ГОСТ Р ИСО 10303-43-2002 "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 43. Интегрированные обобщенные ресурсы. Структуры представлений" |
ISO 10303-108 | - | * |
* Соответствующий национальный стандарт отсутствует. До его принятия рекомендуется использовать перевод на русский язык данного международного стандарта. Примечание - В настоящей таблице использовано следующее условное обозначение степени соответствия стандартов: - IDT - идентичные стандарты. |
Библиография
[1] | ISO 10303-49 | Industrial automation systems and integration - Product data representation and exchange - Part 49: Integrated generic resource: Process structure and properties |
[2] | ISO 10303-21 | Industrial automation systems and integration - Product data representation and exchange - Part 21: Implementation methods: Clear text encoding of the exchange structure |
[3] | ISO 10303-109 | Industrial automation systems and integration - Product data representation and exchange - Part 109: Integrated application resource: Kinematic and geometric constraints for assembly models |
[4] | ISO 10303-203 | Industrial automation systems and integration - Product data representation and exchange - Part 203: Application protocol: Configuration controlled design |
[5] | ISO 13584-20 | Industrial automation systems and integration - Parts library - Part 20: Logical resource: Logical model of expressions |
[6] | Hoffmann C.M. Geometric and Solid Modeling, San Mateo, CA: Morgan Kaufmann, 1989 | |
[7] | Hoschek J., Dankwort W. (editors) Parametric and Variational Design, Stuttgart: Teubner-Verlag, 1994 | |
[8] | Rappaport A. Breps as Displayable-Selectable Models in Interactive Design of Families of Geometric Objects, in Geometric Modeling: Theory and Practice (edited by W.Strasser, R.Klein and R.Rau; Berlin: Springer-Verlag, 1997 | |
[9] | Shah J.J., M. Parametric and feature-based CAD/CAM, New York: Wiley, 1995 |
УДК 656.072:681.3:006.354 | ОКС 25.040.40 | ||
Ключевые слова: автоматизация производства, средства автоматизации, интеграция систем автоматизации, промышленные изделия, данные об изделиях, представление данных, обмен данными, интегрированный обобщенный ресурс, процедурное представление, гибридное представление |
Электронный текст документа
и сверен по:
, 2020