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

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

Группа П87

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

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

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

Часть 521

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

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


ОКС 25.040.40
ОКСТУ 4002

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

     
     
Предисловие


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

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

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

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

3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 11 марта 2008 г. N 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 ВВЕДЕН ВПЕРВЫЕ


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

Введение

Введение


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

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

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

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

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*;

- edge_loop*;

- 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(mi\mapped_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 <* cfss\connected_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 <* cfss\connected_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.bound\path.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 <* cfss\connected_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.bound\path.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 <* cfss\connected_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 <* cfss\connected_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.bound\path.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_element\edge_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 <* cfss\connected_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.bound\path.edge_list |

('AIC_MANIFOLD_SUBSURFACE.SURFACE_CURVE; IN

TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND

(NOT ((SIZEOF (QUERY (sc_ag <*

oe.edge_element\edge_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 <* cfss\connected_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.bound\path.edge_list |

('AIC_MANIFOLD_SUBSURFACE.POLYLINE' IN

TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND

(NOT (SIZEOF (oe\oriented_edge.edge_element\

edge_curve.edge_geometry\polyline.points) >= 3))

)) = 0

))) = 0

)))) = 0

))) = 0;

END_ENTITY;

(*



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

WR1 - атрибут items объекта manifold_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 по WR12 обеспечивают то, что определение границ объекта subface непротиворечиво с определением границ объекта advanced_face.

4.3 Определение функции advanced_face_properties схемы aic_manifold_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 - Сокращенное наименование объекта

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

Сокращенное наименование

MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION

MSSO

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



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

В.1 Обозначение документа

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

{ iso standard 10303 part(521) version(1) }

Смысл данного обозначения установлен в ИСО/МЭК 8824-1 и описан в ИСО 10303-1.

В.2 Обозначение схемы

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

{ iso standard 10303 part(521) version(1) object(1) aic-manifold-subsurface(1) }

Смысл данного обозначения установлен в ИСО/МЭК 8824-1 и описан в ИСО 10303-1.

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

Приложение С
(справочное)


В данном приложении приведены ссылки на сайты, на которых находятся листинги наименований объектов на языке 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
(справочное)


EXPRESS-G диаграммы, представленные на рисунках D.1-D.9, получены из сокращенного листинга, приведенного в разделе 4, с использованием спецификаций интерфейса стандарта ИСО 10303-11. В диаграммах использована графическая нотация EXPRESS-G языка EXPRESS. Описание EXPRESS-G установлено в ИСО 10303-11, приложение D.

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

Рисунок D.1 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 1 из 9)

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


Рисунок D.2 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 2 из 9)

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


Рисунок D.3 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 3 из 9)

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


Рисунок D.4 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 4 из 9)

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


Рисунок D.5 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 5 из 9)

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


Рисунок D.6 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 6 из 9)

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


Рисунок D.7 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 7 из 9)

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


Рисунок D.8 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 8 из 9)

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


Рисунок D.9 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 9 из 9)



Примечания

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

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

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

Приложение Е
(справочное)


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

EXAMPLE 1 /* Определение геометрии исходной незамкнутой оболочки -

Оболочка представлена в форме куба с полуцилиндром на вершине. */

#1040 = (LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,. METRE.));

#1041 = (NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));

#1100 = CARTESIAN_POINT('origin',(0.0,0.0,0.0));

#1101 = DIRECTION('Dir1',(1.0,0.0,0.0));

#1102 = DIRECTION('Dir2',(0.0,1.0,0.0));

#1103 = DIRECTION('Dir3',(0.0,0.0,1.0));

#1104 = DIRECTION('NegX',(-1.0,0.0,0.0));

/* Точки и вершины на границах граней незамкнутой оболочки. */

#1105 = VERTEX_POINT('VertPtO',#1100);

#1106 = CARTESIAN_POINT('PtA',(100.0, 0.0, 0.0));

#1107 = VERTEX_POINT('VertPtA',#1106);

#1108 = CARTESIAN_POINT('PtB',(100.0, 100.0, 0.0));

#1109 = VERTEX_POINT('VertPtB',#1108);

#1110 = CARTESIAN_POINT('PtC',(0.0, 100.0, 0.0));

#1111 = VERTEX_POINT('VertPtC',#1110);

#1112 = CARTESIAN_POINT('PtD',(0.0, 0.0, 100.0));

#1113 = VERTEX_POINT('VertPtD',#1112);

#1114 = CARTESIAN_POINT('PtE',(100.0, 0.0, 100.0));

#1115 = VERTEX_POINT('VertPtE',#1114);

#1116 = CARTESIAN_POINT('PtF',(100.0, 100.0, 100.0));

#1117 = VERTEX_POINT('VertPtF',#1116);

#1118 = CARTESIAN_POINT('PtG',(0.0, 100.0, 100.0));

#1119 = VERTEX_POINT('VertPtG',#1118);

/* Подграни для граней */

#1120 = AXIS2_PLACEMENT_3D('Ax2P3DBase',#1100,#1103,#1101);

#1121 = PLANE('Baseplane', #1120);

#1122 = AXIS2_PLACEMENT_3D('Ax2P3DFront',#1100,#1101 ,#1102);

#1123 = PLANE('Frontplane', #1122);

#1124 = AXIS2_PLACEMENT_3D('Ax2P3DRight',#1100,#1102,#1103);

#1125 = PLANE('Rightplane', #1124);

#1126 = AXIS2_PLACEMENT_3D('Ax2P3DLeft',#1110,#1102,#1103);

#1127 = PLANE('Leftplane', #1126);

#1128 = AXIS2_PLACEMENT_3D('Ax2P3DBack',#1106,#1101,#1102);

#1129 = PLANE('Backplane', #1128);

#1130 = CARTESIAN_POINT('CentreCyl',(50.0, 0.0, 100.0));

#1131 = AXIS2_PLACEMENT_3D('Ax2P3DCyl',#1130,#1102,#1104);

#1132 = CYLINDRICAL_SURFACE('TopCyl',#1131, 50.0);

/* Кривые и ребра */

#1140 = AXIS2_PLACEMENT_3D('Ax2P3DLcirc',#1154,#1102,#1104);

#1141 = VECTOR('VecX',#1101, 100.0);

#1142 = VECTOR('VecY',#1102, 100.0);

#1143 = VECTOR('VecZ',#1103, 100.0);

#1144 = LINE('LineOA',#1100, #1141);

#1145 = LINE('LineOС',#1100, #1142);

#1146 = LINE('LineOD',#1100, #1143);

#1147 = LINE('LineAE',#1106, #1143);

#1148 = LINE('LineAB',#1106, #1142);

#1149 = LINE('LineCG',#1110, #1143);

#1150 = LINE('LineCB',#1110, #1141);

#1151 = LINE('LineDG',#1112, #1142);

#1152 = LINE('LineEF',#1114, #1142);

#1153 = CIRCLE('RtCirc',#1131, 50.0);

#1154 = CARTESIAN_POINT('CentreLcirc',(50.0, 100.0, 100.0));

#1155 = LINE('LineBF',#1108,#1143);

#1156 = CIRCLE('LCirc',#1140, 50.0);

#1157 = EDGE_CURVE('EdgeOA',#1105,#1107,#1144,.T.);

#1158 = EDGE_CURVE('EdgeOC',#1105,#1111,#1145,.T.);

#1159 = EDGE_CURVE('EdgeOD',#1105,#1113,#1146,.T.);

#1160 = EDGE_CURVE('EdgeAE',#1107,#1115,#1147,.T.);

#1161 = EDGE_CURVE('EdgeAB',#1107,#1109,#1148,.T.);

#1162 = EDGE_CURVE('EdgeCG',#1111,#1119,#1149,.T.);

#1163 = EDGE_CURVE('EdgeCB',#1111 ,#1109,#1150,.T.);

#1164 = EDGE_CURVE('EdgeDG',#1113,#1119,#1151,.T.);

#1165 = EDGE_CURVE('EdgeEF',#1115,#1117,#1152,.T.);

#1166 = EDGE_CURVE('EdgeDE',#1113,#1115,#1153,.T.);

#1167 = EDGE_CURVE('EdgeGF',#1119,#1117,#1156,.T.);

#1168 = EDGE_CURVE('EdgeBF',#1109,#1117,#1155,.T.);

/* oriented_edges */

#1169 = ORIENTED_EDGE('OAT',*,*,#1157,.T.);

#1170 = ORIENTED_EDGE('OAF',*,*,#1157,.F.);

#1171 = ORIENTED_EDGE('OCT',*,*,#1158,.T.);

#1172 = ORIENTED_EDGE('OCF',*,*,#1158,.F.);

#1173 = ORIENTED_EDGE('ODT',*,*,#1159,.T.);

#1174 = ORIENTED_EDGE('ODF',*,*,#1159,.F.);

#1175 = ORIENTED_EDGE('AET',*,*,#1160,.T.);

#1176 = ORIENTED_EDGE('AEF',*,*,#1160,.F.);

#1177 = ORIENTED_EDGE('ABT',*,*,#1161,.T.);

#1178 = ORIENTED_EDGE('ABF',*,*,#1161,.F.);

#1179 = ORIENTED_EDGE('CGT',*,*,#1162,.T.);

#1180 = ORIENTED_EDGE('CGF',*,*,#1162,.F.);

#1181 = ORIENTED_EDGE('CBT',*,*,#1163,.T.);

#1182 = ORIENTED_EDGE('CBF',*,*,#1163,.F.);

#1183 = ORIENTED_EDGE('DGT',*,*,#1164,.T.);

#1184 = ORIENTED_EDGE('DGF',*,*,#1164,.F.);

#1185 = ORIENTED_EDGE('EFT',*,*,#1165,.T.);

#1186 = ORIENTED_EDGE('EFF',*,*,#1165,.F.);

#1187 = ORIENTED_EDGE('DET',*,*,#1166,.T.);

#1188 = ORIENTED_EDGE('DEF',*,*,#1166,.F.);

#1189 = ORIENTED_EDGE('GFT',*,*,#1167,.T.);

#1190 = ORIENTED_EDGE('GFF',*,*,#1167,.F.);

#1191 = ORIENTED_EDGE('BFT',*,*,#1168,.T.);

#1192 = ORIENTED_EDGE('BFF',*,*,#1168,.F.);

/* edge_loops */

#1201 = EDGE_LOOP('ELOCBA',(#1171, #1181, #1178, #1170));

#1202 = EDGE_LOOP('ELOAED',(#1169, #1175, #1188, #1174));

#1203 = EDGE_LOOP('ELODGC',(#1173, #1183, #1180, #1172))

#1204 = EDGE_LOOP('ELABFE',(#1177, #1191, #1186, #1176));

#1205 = EDGE_LOOP('ELCGFB',(#1179, #1189, #1192, #1182));

#1206 = EDGE_LOOP('ELDEFG',(#1187, #1185, #1190, #1184));

/* face_bounds и advanced_faces */

#1211 = FACE_OUTER_BOUND('baseBd',#1201,.T.);

#1212 = FACE_OUTER_BOUND('rightBd',#1202,.T.);

#1213 = FACE_OUTER_BOUND('frontBd',#1203,.T.);

#1214 = FACE_OUTER_BOUND('backBd',#1204,.T.);

#1215 = FACE_OUTER_BOUND('leftBd',#1205,.T.);

#1216 = FACE_OUTER_BOUND('TopcylBd',#1206,.T.);

#1221 = ADVANCED_FACE('BaseFace',(#1211),#1121,.F.);

#1222 = ADVANCED_FACE('RightFace',(#1212),#1125,.F.);

#1223 = ADVANCED_FACE('FrontFace',(#1213),#1123,.F.);

#1224 = ADVANCED_FACE('BackFace',(#1214),#1129,.T.);

#1225 = ADVANCED_FACE('LeftFace',(#1215),#1127,.T.);

#1226 = ADVANCED_FACE('TopcylFaceO',(#1216),#1132,.T.);

/* closed_shell */

#1250 = CLOSED_SHELL('CubeCyl', (#1221, #1222, #1223, #1224, #1225, #1226));

/*

Новая точка и вершина для subset1, точка М лежит на 1/3 расстояния вдоль полуокружности GF */

#1300 = CARTESIAN_POINT('PtM',(25.0, 100.0, 143.3012702));

#1301 = VERTEX_POINT('VertPtM', #1300);

/*

Ребро DM определено как поверхностная кривая на цилиндрической грани через pcurve. Определяются двумерный контекст и геометрия для pcurve (линия в параметрическом пространстве) */

#1302 = (GEOMETRIC_REPRESENTATION_CONTEXT(2)

PARAMETRIC_REPRESENTATION_CONTEXT()

REPRESENTATION_CONTEXT('CylSurf', 'Parameter_space'));

#1303 = CARTESIAN_POINT('PtOparam',(0.0, 0.0));

#1304 = DIRECTION('Dir2D', (1.047197551, 100.0));

#1305 = VECTOR('Vec2D', #1304, 100.013708);

#1306 = LINE('LinPcrv', #1303, #1305);

#1307 = DEFINITIONAL_REPRESENTATION('Pcurvrep', (#1306), #1302);

#1308 = PCURVE('CylPcrv', #1132, #1307);

/* Определяется примерная 3D геометрия поверхностной кривой от D до М */

#1310 = CARTESIAN_POINT('P2', (0.0, 33.33333333, 117.4532952));

#1311 = CARTESIAN_POINT('P3', (9.885005297, 66.666666667, 134.5746238));

#1312 = BEZIER_CURVE('CylCrv3D', 3, (#1112, #1310, #1311, #1300),

.UNSPECIFIED., .F., .F.);

#1313 = SURFACE_CURVE('CrvBM3D', #1312, (#1308), .PCURVE_S1.);

/* Определяются новые ребра для subset 1. */

#1321 = EDGE_CURVE('EdgeDM', #1113, #1301, #1313, .T. );

#1322 = ORIENTED_EDGE('DMT', *, *, #1321, .T.);

#1323 = SUBEDGE('EdgeGM', #1119, #1301, #1167);

#1324 = ORIENTED_EDGE('GMF', *, *, #1323, .F.);

/* Определяются подгрань и subset1 (как cfss и open_shell). */

#1325 = EDGE_LOOP('ELDMG', (#1322, #1324, #1184));

#1326 = FACE_OUTER_BOUND('SubCylFac1Bd', #1325, .T.);

#1327 = SUBFACE('SubCylF1', (#1326), #1236);

#1350 = (CONNECTED_FACE_SET( (#1327, #1223))



Оформить заказ
Корзина: