ГОСТ Р ИСО 10303-521-2008

Категории справочника

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

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

ГОСТ Р ИСО
10303-521-2008

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

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

Часть 521

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

ISO 10303-521:2003
Industrial automation systems and integration - Product data representation and
exchange - Part 521: Application interpreted construct: Manifold subsurface
(IDT)

Москва

Стандартинформ

2008

Предисловие

Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. № 184-ФЗ «О техническом регулировании», а правила применения национальных стандартов Российской Федерации - ГОСТ Р 1.0-2004 «Стандартизация в Российской Федерации. Основные положения»

Сведения о стандарте

1 ПОДГОТОВЛЕН Государственным научным учреждением «Центральный научно-исследовательский и опытно-конструкторский институт робототехники и технической кибернетики» на основе собственного аутентичного перевода стандарта, указанного в пункте 4

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 459 «Информационная поддержка жизненного цикла изделий»

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

4 Настоящий стандарт идентичен международному стандарту ИСО 10303-521:2003 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 521. Прикладные интерпретированные конструкции. Подповерхность многообразия» (ISO 10303-521:2003 «Industrial automation systems and integration - Product data representation and exchange - Part 521: Application interpreted construct: Manifold subsurface»).

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

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

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

СОДЕРЖАНИЕ

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

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

3 Термины и определения. 5

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

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

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

3.4 Термин, определенный в ИСО 10303-511. 5

3.5 Другие определения. 5

4 Сокращенный листинг на языке EXPRESS. 6

4.1 Основные понятия и допущения. 6

4.2 Определение объекта manifold_subsurface_shape_representation схемы aic_manifold_subsurface. 8

4.3 Определение функции advanced_face_properties схемы aic_manirold_subsurface. 11

Приложение А. Сокращенное наименование объекта. 11

Приложение В. Регистрация информационного объекта. 12

Приложение С. Машинно-интерпретируемые листинги. 12

Приложение D. EXPRESS-G диаграммы.. 12

Приложение Е. Пример использования ПИК.. 21

Приложение F. Сведения о соответствии национальных стандартов Российской Федерации ссылочным международным стандартам.. 26

Введение

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

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

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

Настоящий стандарт определяет прикладную интерпретированную конструкцию для подповерхности многообразия. В нем дается определение представления формы, содержащей незамкнутые оболочки, каждая из которых идентифицируется как часть другой незамкнутой или замкнутой оболочки. Оболочки определены с использованием граней с явной топологией и полностью определенной геометрией. В определениях граней оболочек в данной ПИК либо используется определение объекта advanced_face по ИСО 10303-511, либо они имеют сходные свойства.

ГОСТ Р ИСО 10303-521-2008

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

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

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

Часть 521

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

Industrial automation systems and integration. Product data representation and exchange.
Part 521. Application interpreted constructions. Manifold subsurface

Дата введения -2008-09-01

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

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

Требования настоящего стандарта распространяются на:

- трехмерную геометрию;

- расширенные грани;

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

- отображения и геометрические преобразования;

- незамкнутые оболочки;

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

- подребра;

- подграни;

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

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

Требования настоящего стандарта не распространяются на:

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

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

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

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

- геометрию не многообразий;

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

- неограниченную геометрию без топологических границ.

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

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

ИСО/МЭК 8824-1:1998 Информационные технологии. Взаимосвязь открытых систем. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации

ИСО 10303-1:1994 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 1. Общие представления и основополагающие принципы

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

ИСО 10303-21:2002 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 21. Методы реализации. Кодирование открытым текстом структуры обмена

ИСО 10303-41:2000 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 41. Интегрированные обобщенные ресурсы. Основы описания и поддержки изделий

ИСО 10303-42:2000 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 42. Интегрированные обобщенные ресурсы. Геометрическое и топологическое представление

ИСО 10303-43:2000 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 43. Интегрированные обобщенные ресурсы. Структуры представлений

ИСО 10303-202:1996 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 202. Прикладные протоколы. Ассоциативные чертежи

ИСО 10303-509:2001 Системы промышленной автоматизации и интеграция. Представление данных о продукции и обмен данными. Часть 509. Прикладная интерпретируемая конструкция. Неразнородная поверхность

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

ИСО 10303-514:1999 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 514. Прикладные интерпретированные конструкции. Расширенное граничное представление

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

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

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

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

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

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

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

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

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

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

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

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

- линейно связанный (arcwise connected);

- осесимметричный (axi-symmetric);

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

- ограничения (bounds);

- координатное пространство (coordinate space);

- кривая (curve);

- область определения (domain);

- пределы (extent);

- незамкнутая кривая (open curve);

- ориентируемый (orientable);

- поверхность (surface);

- топологический смысл (topological sense).

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

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

прикладная интерпретированная конструкция; ПИК (application interpreted construct, AIC).

3.4 Термин, определенный в ИСО 10303-511

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

расширенная грань (advanced face).

3.5 Другие определения

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

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

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

представление формы подповерхности многообразия (manifold subsurface shape representation): Представление формы, содержащее подмножества связанных граней в форме незамкнутых оболочек.

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

подребро (subedge): Ребро, областью определения которого является часть области определения другого ребра.

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

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

4 Сокращенный листинг на языке EXPRESS

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

Примечание - В интегрированных ресурсах допускается существование подтипов и элементов списков выбора, не импортированных в данную ПИК. Такие конструкции исключают из дерева подтипов или из списка выбора посредством правил неявного интерфейса, определенных в ИСО 10303-11. Ссылки на исключенные конструкции находятся вне области применения данной ПИК. В некоторых случаях исключаются все элементы списка выбора. Поскольку ПИК предназначены для реализации в контексте прикладного протокола, элементы списка выбора будут определяться областью применения прикладного протокола.

Данная прикладная интерпретированная конструкция предоставляет непротиворечивое множество геометрических и топологических объектов для определения представления формы подповерхности многообразия. Грани могут быть расширенными гранями или подгранями, ссылающимися на расширенные грани. Ребра должны быть подребрами либо иметь геометрию, определенную кривыми. Объектом самого верхнего уровня в данной ПИК является объект manifold_subsurface_shape_representation, который является конкретизацией объекта shape_representation (см. ИСО 10303-41). Относящиеся к этому объекту правила обеспечивают полное определение топологии и геометрии.

Примечание - В данной ПИК использованы все объекты и типы из ПИК, определяющей топологически ограниченную поверхность (aic_topologically_bounded_surface). См. ИСО 10303-511.

EXPRESS-спецификация

*)

SCHEMA aic_manifold_subsurface;

USE FROM aic_topologically_bounded_surface; - - ISO 10303-511

USE FROM geometry_schema - - ISO 10303-42

(cartesian_transformation_operator_3d);

USE FROM topology_schema - - ISO 10303-42

(closed_shell,

connected_face_set,

connected_face_sub_set,

face,

open_shell,

subedge,

subface);

USE FROM representation_schema(mapped_item); - - ISO 10303-43

USE FROM product_property_representation_schema - - ISO 10303-41

(shape_representation);

Примечание - Схемы, на которые выше даны ссылки, можно найти в следующих стандартах комплекса ИСО 10303:

geometry_schema - ИСО 10303-42;

topology_schema - ИСО 10303-42;

representation_schema - ИСО 10303-43;

product_property_representation_schema - ИСО 10303-41;

aic_topologically_bounded_surface - ИСО 10303-511.

4.1 Основные понятия и допущения

Для независимой реализации в схемах прикладных протоколов, в которых используется данная ПИК, предназначены следующие объекты:

- advanced_face*;

- axis2_placement_2d*;

- axis2_placement_3d*;

- brep_with_voids;

- bezier_curve*;

- bezier_surface*;

- b_spline_curve_with_knots*;

- b_spline_surface_with_knots*;

- cartesian_point *;

- cartesian_transformation_operator_3d;

- circle*;

- closed_shell;

- conical_surface*;

- definitional_representation*;

- degenerate_toroidal_surface*;

- connected_face_sub_set;

- cylindrical_surface*;

- direction*;

- edge_curve*;

- edgejoop*;

- ellipse*;

- face_bound*;

- face_outer_bound*;

- geometric_representation_context*;

- hyperbola*;

- line*;

- manifold_subsurface_shape_representation;

- mapped_item;

- open_shell;

- parabola*;

- parametric_representation_context*;

- pcurve*;

- plane*;

- polyline*;

- quasi_uniform_curve*;

- quasi_uniform_surface*;

- rational_b_spline_curve*;

- rational_b_spline_surface*;

- representation_map;

- spherical_surface*;

- subedge;

- subface;

- surface_of_linear_extrusion*;

- surface_of_revolution*;

- toroidal_surface*;

- uniform_curve*;

- uniform_surface*;

- vector*;

- vertex_loop*;

- vertex_point*.

Примечание - Объекты, помеченные символом «*», определены в ПИК aic_topologically_bounded_surface (см. ИСО 10303-511).

Прикладной протокол, использующий данную ПИК, должен обеспечивать, чтобы объект shape_representation реализовывался как объект manifold_subsurface_shape_representation.

4.2 Определение объектаmanifold_subsurface_shape_representation схемы aic_manifold_subsurface

Объект manifold_subsurface_shape_representation является подтипом объекта shape_representation, в котором форма изделия представлена конкретизациями объектов connected_face_sub_set.

Каждый объект connected_face_sub_set должен также иметь тип open_shell.

Объекты face объектов connected_face_sub_set должны иметь тип advanced_face или subface.

EXPRESS-спецификация

*)

ENTITY manifold_subsurface_shape_representation

SUBTYPE OF (shape_representation);

WHERE

WR1: SIZEOF (QUERY (it <* SELF.items/

NOT (SIZEOF (['AIC_MANIFOLD_SUBSURFACE.CONNECTED_FACE_SUB_SET', 'AIC_MANIFOLD_SUBSURFACE.MAPPED_ITEM', 'AIC_MANIFOLD_SUBSURFACE.AXIS2_PLACEMENT_3D']* TYPEOF(it)) = 1))) = 0;

WR2: SIZEOF (QUERY (it <* SELF.items/

SIZEOF(['AIC_MANIFOLD_SUBSURFACE.CONNECTED_FACE_SUB_SET', 'AIC_MANIFOLD_SUBSURFACE.MAPPED_ITEM']* TYPEOF(it)) = 1)) > 0;

WR3: SIZEOF (QUERY (mi <* QUERY (it <* items/

'AIC_MANIFOLD_SUBSURFACE.MAPPED_ITEM' IN TYPEOF(it))/

NOT ('AIC_MANIFOLD_SUBSURFACE.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' IN TYPEOF(mimapped_item.mapping_source.mapped_representation)))) = 0;

WR4: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items/

'AIC_MANIFOLD_SUBSURFACE.CONNECTED_FACE_SUB_SET' IN TYPEOF(it))/

NOT('AIC_MANIFOLD_SUBSURFACE.OPEN_SHELL' IN TYPEOF(cfss)))) = 0;

WR5: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items/

'AIC_MANIFOLD_SUBSURFACE.CONNECTED_FACE_SUB_SET' IN TYPEOF(it))/

NOT((('AIC_MANIFOLD_SUBSURFACE.CONNECTED_FACE_SUB_SET' IN TYPEOF(cfss.parent_face_set)) AND (SIZEOF (QUERY (fac <* cfss.parent_face_set.cfs_faces/ NOT advanced_face_properties(fac))) = 0)) OR (SIZEOF (QUERY (fac <* cfss.parent_face_set.cfs_faces/ NOT ('AIC_MANIFOLD_SUBSURFACE.ADVANCED_FACE' IN TYPEOF(fac)))) = 0)))) = 0;

WR6: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items/

'AIC_MANIFOLD_SUBSURFACE.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) (SIZEOF (QUERY (fac <* cfssconnected_face_set.cfs_faces/ NOT advanced_face_properties(fac))) = 0))) = 0;

WR7: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items

'AIC_MANIFOLD_SUBSURFACE.CONNECTED_FACE_SUB_SET' IN TYPEOF(it))/ NOT (SIZEOF (QUERY(fcs <* cfssconnected_face_set.cfs_faces/ ('AIC_MANIFOLD_SUBSURFACE.SUBFACE' IN TYPEOF(fcs)) AND NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds/ 'AIC_MANIFOLD_SUBSURFACE.EDGE_LOOP' IN TYPEOF(bnds.bound))/ NOT (SIZEOF (QUERY (oe <* elp_fbnds.boundpath.edge_list/ NOT(('AIC_MANIFOLD_SUBSURFACE.EDGE_CURVE' IN TYPEOF(oe.edge_element)) OR ('AIC_MANIFOLD_SUBSURFACE.SUBEDGE' IN TYPEOF(oe.edge_element))))) = 0))) = 0))) = 0))) = 0;

WR8: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items/

'AIC_MANIFOLD_SUBSURFACE.CONNECTED_FACE_SUBSET' IN TYPEOF(it))/ NOT (SIZEOF (QUERY(fcs <* cfssconnected_face_set.cfs_faces/ ('AIC_MANIFOLD_SUBSURFACE.SUBFACE' IN TYPEOF(fcs)) AND NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds/ 'AIC_MANIFOLD_SUBSURFACE.EDGE_LOOP' IN TYPEOF(bnds.bound))/ NOT (SIZEOF (QUERY (oe <* elp_fbnds.boundpath.edge_list NOT(('AIC_MANIFOLD_SUBSURFACE.VERTEX_POINT' IN TYPEOF(oe.edge_start)) AND ('AIC_MANIFOLD_SUBSURFACE.VERTEX_POINT' IN TYPEOF(oe.edge_end))))) = 0))) = 0))) = 0))) = 0;

WR9: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items/

'AIC_MANIFOLD_SUBSURFACE.CONNECTED_FACE_SUB_SET' IN TYPEOF(it))/ NOT (SIZEOF (QUERY(fcs <* cfssconnected_face_set.cfs_faces/ ('AIC_MANIFOLD_SUBSURFACE.SUBFACE' IN TYPEOF(fcs)) AND (NOT (SIZEOF(QUERY (bnds <* fcs.bounds/ NOT (SIZEOF (['AIC_MANIFOLD_SUBSURFACE.EDGE_LOOP', 'AIC_MANIFOLD_SUBSURFACE.VERTEX_LOOP']* TYPEOF(bnds.bound)) = 1))) = 0)))) = 0))) = 0;

WR10: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items/

'AIC_MANIFOLD_SUBSURFACE.CONNECTED_FACE_SUB_SET' IN TYPEOF(it))/ NOT (SIZEOF (QUERY(fcs <* cfssconnected_face_set.cfs_faces/ ('AIC_MANIFOLD_SUBSURFACE.SUBFACE IN TYPEOF(fcs)) AND (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds/ 'AIC_MANIFOLD_SUBSURFACE.EDGE_LOOP' IN TYPEOF(bnds.bound))/ NOT (SIZEOF (QUERY (oe <* elp_fbnds.boundpath.edge_list/ NOT (SIZEOF (['AIC_MANIFOLD_SUBSURFACE.LINE', 'AIC_MANIFOLD_SUBSURFACE.CONIC', 'AIC_MANIFOLD_SUBSURFACE.POLYLINE', 'AIC_MANIFOLD_SUBSURFACE.SURFACE_CURVE', 'AIC_MANIFOLD_SUBSURFACE.B_SPLINE_CURVE']* TYPEOF(oe.edge_elementedge_curve.edge_geometry)) = 1))) = 0))) = 0)))) = 0))) = 0;

WR11: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items/

'AIC_MANIFOLD_SUBSURFACE.CONNECTED_FACE_SUBSET' IN TYPEOF(it))/ NOT (SIZEOF (QUERY(fcs <* cfssconnected_face_set.cfs_faces/ ('AIC_MANIFOLD_SUBSURFACE.SUBFACE' IN TYPEOF(fcs)) AND (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds/ 'AIC_MANIFOLD_SUBSURFACE.EDGE_LOOP' IN TYPEOF(bnds.bound))/ NOT (SIZEOF (QUERY (oe <* elp_fbnds.boundpath.edge_list/ ('AIC_MANIFOLD_SUBSURFACE.SURFACE_CURVE' IN TYPEOF(oe.edge_elementedge_curve.edge_geometry)) AND (NOT ((SIZEOF (QUERY (sc_ag <* oe.edge_elementedge_curve.edge_geometry surface_curve.associated_geometry/ NOT ('AIC_TOPOLOGICALLY_BOUNDED_SURFACE.PCURVE' IN TYPEOF(sc_ag)))) = 0))))) = 0))) = 0)))) = 0))) = 0;

WR12: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items/

'AIC_MANIFOLD_SUBSURFACE.CONNECTED_FACE_SUBSET' IN TYPEOF(it))/ NOT (SIZEOF (QUERY(fcs <* cfssconnected_face_set.cfs_faces/ ('AIC_MANIFOLD_SUBSURFACE.SUBFACE' IN TYPEOF(fcs)) AND (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds/ 'AIC_MANIFOLD_SUBSURFACE.EDGE_LOOP' IN TYPEOF(bnds.bound))/ NOT (SIZEOF (QUERY (oe <* elp_fbnds.boundpath.edge_list/ ('AIC_MANIFOLD_SUBSURFACE.POLYLINE' IN TYPEOF(oe.edge_elementedge_curve.edge_geometry)) AND (NOT (SIZEOF (oeoriented_edge.edge_elementedge_curve.edge_geometrypolyline.points) > = 3)))) = 0))) = 0)))) = 0))) = 0;

END_ENTITY;

(*

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

WR1 - атрибут items объекта manirold_subsurface_shape_representation должен содержать объекты connected_face_sub_set, mapped_item или axis2_placement_3d.

WR2 - по крайней мере один из элементов атрибута itemsдолжен быть объектом connected_face_sub_set или mapped_item.

WR3 - для любого объекта mapped_item, объект mapped_representation, относящийся к его объекту mapping_source, должен быть объектом subsurface_shape_representation.

WR4 - любой экземпляр объекта connected_face_sub_set в атрибуте items должен иметь тип connected_face_sub_set AND open_shell.

WR5 - для любого экземпляра объекта connected_face_sub_set объекты face из parent_face_set должны иметь тип advanced_face, либо объект parent_face_set должен быть экземпляром объекта connected_face_sub_set, грани которого относятся к типу advanced_face.

Примечание - Объект parent_face_set может быть одним из подтипов open_shell или closed_shell объекта connected_face_sub_set.

WR6 - для любого экземпляра объекта connected_face_sub_set каждый объект face атрибута cfs_faces должен иметь тип advanced_face или subface и прямо или косвенно ссылаться на advanced_face.

Примечание - Это свойство проверяется функцией advanced_face_properties.

WR7 - для любого экземпляра объекта subfaceв атрибуте cfs_faces экземпляра объекта connected_face_sub_set ограничивающие его объекты edge должны иметь тип subedge или edge_curve.

WR8 - для любого экземпляра объекта subfaceв атрибуте cfs_faces экземпляра объекта connected_face_sub_set все вершины, используемые в определении объекта face, должны иметь тип vertex_point.

WR9 - границы любого объекта subface в атрибуте cfs_faces экземпляра объекта connected_face_sub_set должны иметь тип edge loop или vertex_loop.

WR10 - типами объекта curve, используемого для определения геометрии объекта edge_curve, в свою очередь используемого в определении объекта subface, могут быть только line, conic, polyline, surface_curve или b_spline_curve.

WR11 - если объект surface_curve используется как часть ограничения грани объекта subface, то атрибут associated_geometry должен ссылаться на объект pcurve.

WR12 - если объект polyline используется как часть ограничения грани объекта subface, то он должен содержать не менее трех точек.

Примечание - Правила с WR8 по WR13 обеспечивают то, что определение границ объекта subface непротиворечиво с определением границ объекта advanced_face.

4.3 Определение функции advanced_face_properties схемы aic_manirold_subsurface

Функция advanced_face_properties проверяет свойства объекта face, чтобы определить, имеет ли он тип advanced_face или является объектом subface, прямо или косвенно ссылающимся на объект advanced_face как объект parent_face. Эта проверка осуществляется рекурсивно и возвращает результат TRUE, если грань является объектом advanced_face либо ссылается на объект advanced_face через атрибут parent_face объекта subface. Во всех других случаях возвращается результатFALSE.

EXPRESS-спецификация

*)

FUNCTION advanced_face_properties (testface: face): BOOLEAN;

(* возвращает результат TRUE, если testface имеет тип advanced_face *)

IF 'AIC_MANIFOLD_SUBSURFACE.ADVANCED_FACE' IN TYPEOF(testface) THEN RETURN (TRUE);

END_IF;

(* если testface является объектом subface, то рекурсивно проверяется parent_face,возвращается результат FALSE для всех других типов face*)

IF ('AIC_MANIFOLD_SUBSURFACE.SUBFACE' IN TYPEOF(testface)) THEN RETURN(advanced_face_properties(testface.parent_face));

ELSE RETURN (FALSE);

END_IF;

END_FUNCTION;

(*

Определения аргументов

testface(входной аргумент) - объект face, который должен быть проверен на соответствие свойствам объекта advanced_face.

result(выходной аргумент) - переменная типа BOOLEAN, которая принимает значение TRUE, если testface является подтипом объекта advanced_face либо подтипом объекта subface и ссылается при этом на объект advanced_face.

EXPRESS-спецификация

*)

END_SCHEMA; - - конец схемыAIC_MANIFOLD_SUBSURFACE

(*

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

Сокращенное наименование объекта

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

Таблица А.1 - Сокращенное наименование объекта

Полное наименование

<h4>Другая справочная информация:</h4>