ГОСТ Р ИСО 10303-521-2008
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Системы автоматизации производства и их интеграция
ПРЕДСТАВЛЕНИЕ ДАННЫХ ОБ ИЗДЕЛИИ И ОБМЕН ЭТИМИ ДАННЫМИ
Часть 521
Прикладные интерпретированные конструкции. Подповерхность многообразия
Industrial automation systems and integration. Product data representation and exchange. Part 521. Application interpreted constructions. Manifold subsurface
ОКС 25.040.40
Дата введения 2008-09-01
Предисловие
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", IDT).
________________
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - .
При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты, сведения о которых приведены в дополнительном приложении ДА
5 ВВЕДЕН ВПЕРВЫЕ
6 ПЕРЕИЗДАНИЕ. Март 2020 г.
Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
Введение
Стандарты комплекса ИСО 10303 распространяются на компьютерное представление информации об изделиях и обмен данными об изделиях. Их целью является обеспечение нейтрального механизма, способного описывать изделия на всем протяжении их жизненного цикла. Этот механизм применим не только для нейтрального обмена файлами, но является также основой для реализации и совместного доступа к базам данных об изделиях и организации архивирования.
Стандарты комплекса ИСО 10303 представляют собой набор отдельно издаваемых стандартов (частей). Стандарты данного комплекса относятся к одной из следующих тематических групп: методы описания, методы реализации, методология и основы аттестационного тестирования, интегрированные обобщенные ресурсы, интегрированные прикладные ресурсы, прикладные протоколы, комплекты абстрактных тестов, прикладные интерпретированные конструкции и прикладные модули. Настоящий стандарт входит в группу прикладных интерпретированных конструкций.
Прикладная интерпретированная конструкция (ПИК) обеспечивает логическую группировку интерпретированных конструкций, поддерживающих конкретную функциональность для использования данных об изделии в разнообразных прикладных контекстах. Интерпретированная конструкция представляет собой обычную интерпретацию интегрированных ресурсов, поддерживающую требования совместного использования информации прикладными протоколами.
Настоящий стандарт определяет прикладную интерпретированную конструкцию для подповерхности многообразия. В нем дается определение представления формы, содержащей незамкнутые оболочки, каждая из которых идентифицируется как часть другой незамкнутой или замкнутой оболочки. Оболочки определены с использованием граней с явной топологией и полностью определенной геометрией. В определениях граней оболочек в данной ПИК либо используется определение объекта advanced_face по ИСО 10303-511, либо они имеют сходные свойства.
1 Область применения
Настоящий стандарт определяет интерпретацию интегрированных ресурсов, обеспечивающую соответствие требованиям к определению представления формы, содержащей незамкнутые оболочки, определенные как подмножества связанных граней. Область определения каждого подмножества связанных граней является частью области определения другой незамкнутой или замкнутой оболочки. В подмножестве связанных граней отдельные грани или ребра могут быть идентифицированы как под-грани или подребра.
Требования настоящего стандарта распространяются на:
- трехмерную геометрию;
- расширенные грани;
- подмножества связанных граней;
- отображения и геометрические преобразования;
- незамкнутые оболочки;
- взаимосвязи между областями определения топологических объектов;
- подребра;
- подграни;
- неограниченную геометрию со связанными топологическими границами;
- использование топологии для ограничения геометрических объектов.
Требования настоящего стандарта не распространяются на:
- двумерную геометрию, кроме определения параметрических кривых в параметрическом пространстве поверхности;
- трехмерные модели граничного представления;
- ограниченные кривые, кроме полилиний и би-сплайновых кривых;
- ограниченные поверхности, кроме би-сплайновых поверхностей;
- геометрию не многообразий;
- вынесенные кривые и поверхности;
- неограниченную геометрию без топологических границ.
2 Нормативные ссылки
В настоящем стандарте использованы нормативные ссылки на следующие стандарты. Для датированных ссылок применяют только указанное издание ссылочного стандарта, для недатированных - последнее издание (включая все изменения).
ISO/IEC 8824-1:1998, Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation [Информационные технологии. Взаимосвязь открытых систем. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации]
________________
Заменен на ISO/IEC 8824-1:2015.
ISO 10303-1:1994, Industrial automation systems and integration - Product data representation and exchange - Part 1: Overview and fundamental principles (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 1. Общие представления и основополагающие принципы)
ISO 10303-11:1994, Industrial automation systems and integration - Product data representation and exchange - Part 11: Description methods: The EXPRESS language reference manual (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS)
________________
Заменен на ISO 10303-11:2004.
ISO 10303-41:1994, Industrial automation systems and integration - Product data representation and exchange - Part 41: Integrated generic resources: Fundamentals of product description and support (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 41. Интегрированные обобщенные ресурсы. Основы описания и поддержки изделий)
________________
Заменен на ISO 10303-41:2019.
ISO 10303-42:1994, Industrial automation systems and integration - Product data representation and exchange - Part 42: Integrated generic resources: Geometric and topological representation (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 42. Интегрированные обобщенные ресурсы. Геометрическое и топологическое представление)
________________
Заменен на ISO 10303-42:2019.
ISO 10303-43:1994, Industrial automation systems and integration - Product data representation and exchange - Part 43: Integrated generic resources: Representation structures (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 43. Интегрированные обобщенные ресурсы. Структуры представлений)
________________
Заменен на ISO 10303-43:2018.
ISO 10303-202:1996, Industrial automation systems and integration - Product data representation and exchange - Part 202: Application protocol: Associative draughting (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 202. Прикладные протоколы. Ассоциативные чертежи)
________________
Заменен на ISO 10303-242:2014.
ISO 10303-511:2001, Industrial automation systems and integration - Product data representation and exchange - Part 511. Application interpreted construct: Topologically bounded surface (Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 511: Прикладные интерпретированные конструкции. Топологически ограниченная поверхность)
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 Другие определения
В настоящем стандарте также применены следующие термины с соответствующими определениями:
3.5.1 подмножество связанных граней (connected face subset): Множество линейно связанных граней, областью определения которого является часть области определения существующего множества связанных граней.
Примечание - Требованием настоящего стандарта также является, чтобы подмножество связанных граней имело тип незамкнутой оболочки.
3.5.2 представление формы подповерхности многообразия (manifold subsurface shape representation): Представление формы, содержащее подмножества связанных граней в форме незамкнутых оболочек.
Примечание - Каждая незамкнутая оболочка имеет область определения, которая является частью области определения другого множества связанных граней. Грани подмножества связанных граней могут быть определены как подграни.
3.5.3 подребро (subedge): Ребро, областью определения которого является часть области определения другого ребра.
3.5.4 подгрань (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 или 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 диаграммы
EXPRESS-G диаграммы, представленные на рисунках D.1-D.9, получены из сокращенного листинга, приведенного в разделе 4, с использованием спецификаций интерфейса стандарта ИСО 10303-11. В диаграммах использована графическая нотация EXPRESS-G языка EXPRESS. Описание EXPRESS-G установлено в ИСО 10303-11, приложение D.
Примечания
1 Выбранные типы geometric_set_select, trimming_select, vector_or_direction импортируются в расширенный листинг ПИК в соответствии с правилами неявных интерфейсов по ИСО 10303-11. В настоящем стандарте эти выбранные типы не используются в других объектах.
2 Правила, касающиеся объектов advanced_face и manifold_subsurface_shape_representation, исключают реализацию некоторых объектов, которые имеют неявные интерфейсы и поэтому показаны на диаграммах. Эти объекты отмечены на диаграммах символом "*".
Рисунок D.1 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 1 из 9)
Рисунок D.2 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 2 из 9)
Рисунок D.3 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 3 из 9)
Рисунок D.4 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 4 из 9)
Рисунок D.5 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 5 из 9)
Рисунок D.6 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 6 из 9)
Рисунок D.7 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 7 из 9)
Рисунок D.8 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 8 из 9)
Рисунок D.9 - ПИК aic_manifold_subsurface в формате EXPRESS-G (диаграмма 9 из 9)
Приложение Е
(справочное)
Пример использования ПИК
Ниже приведен пример файла в формате стандарта ИСО 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)) | ||||||
CONNECTED_FACE_SUB_SET(#1250) | ||||||
OPEN_SHELL() | ||||||
REPRESENTATION_ITEM('Subset1') | ||||||
TOPOLOGICAL_REPRESENTATION_ITEM()); | ||||||
/* Определяются новые ребра и соответствующая геометрия для subset 2 (расположен внутри Subset1). */ | ||||||
#1400 = CARTESIAN_POINT('PtP',(0.0, 65.0, 50.0)); | ||||||
#1401 = VERTEX_POINT('VertPtP', #1400); | ||||||
#1402 = CARTESIAN_POINT('PtQ',(0.0, 65.0, 100.0)); | ||||||
#1403 = VERTEX_POINT('VertPtQ', #1402); | ||||||
#1404 = CARTESIAN_POINT('PtR',(10.0, 65.0, 130.0)); | ||||||
#1405 = VERTEX_POINT('VertPtR', #1404); | ||||||
#1406 = CARTESIAN_POINT('PtS',(10.0, 90.0, 130.0)); | ||||||
#1407 = VERTEX_POINT('VertPtS', #1406); | ||||||
#1408 = CARTESIAN_POINT('PtT',(0.0, 90.0, 100.0)); | ||||||
#1409 = VERTEX_POINT('VertPtT', #1408); | ||||||
#1410 = CARTESIAN_POINT('PtU',(0.0, 90.0, 50.0)); | ||||||
#1411 = VERTEX_POINT('VertPtU', #1410); | ||||||
#1412 = LINE('LinePQ', #1400, #1143); | ||||||
#1413 = LINE('LinePU', #1400, #1142); | ||||||
#1414 = LINE('LineRS', #1404, #1142); | ||||||
#1415 = LINE('LineUT', #1410, #1143); | ||||||
#1416 = CARTESIAN_POINT('CentreCirc2',(50.0, 65.0, 100.0)); | ||||||
#1417 = AXIS2_PLACEMENT_3D('Ax2P3DCirc2',#1416,#1102,#1104); | ||||||
#1418 = CIRCLE('Circ2',#1417, 50.0); | ||||||
#1419 = CARTESIAN_POINT('CentreCirc3',(50.0, 90.0, 100.0)); | ||||||
#1420 = AXIS2_PLACEMENT_3D('Ax2P3DCirc3',#1419,#1102,#1104); | ||||||
#1421 = CIRCLE('Circ3',#1420, 50.0); | ||||||
#1422 = EDGE_CURVE('EdgePQ', #1401, #1403, #1412, .T.); | ||||||
#1423 = EDGE_CURVE('EdgePU', #1401, #1411, #1413, .T.); | ||||||
#1424 = EDGE_CURVE('EdgeRS', #1405, #1407, #1414, .T.); | ||||||
#1425 = EDGE_CURVE('EdgeUT', #1411, #1409, #1415, .T.); | ||||||
#1426 = EDGE_CURVE('EdgeQR', #1403, #1405, #1418, .T.); | ||||||
#1427 = EDGE_CURVE('EdgeTS', #1409, #1407, #1421, .T.); | ||||||
#1428 = SUBEDGE('EdgeQT', #1403, #1409, #1164); | ||||||
/* Определяются edge_loops, face_bounds и subfaces */ | ||||||
#1429 = ORIENTED_EDGE('PQT', *, *, #1422, .T.); | ||||||
#1430 = ORIENTED_EDGE('PUF', *, *, #1423, .F.); | ||||||
#1431 = ORIENTED_EDGE('RST', *, *, #1424, .T.); | ||||||
#1432 = ORIENTED_EDGE('UTF', *, *, #1425, .F.); | ||||||
#1433 = ORIENTED_EDGE('QRT', *, *, #1426, .T.); | ||||||
#1434 = ORIENTED_EDGE('TSF', *, *, #1427, .F.); | ||||||
#1435 = ORIENTED_EDGE('QTT', *, *, #1428, .T.); | ||||||
#1436 = ORIENTED_EDGE('QTF', *, *, #1428, .F.); | ||||||
#1437 = EDGE_LOOP('ELPQTU', (#1429, #1435, #1432, #1430)); | ||||||
#1438 = EDGE_LOOP('ELQRST', (#1433, #1431, #1434, #1436)); | ||||||
#1439 = FACE_OUTER_BOUND('SubCylFac2Bd', #1438, .T.); | ||||||
#1440 = FACE_OUTER_BOUND('SubFrontBd', #1437, .T.); | ||||||
#1441 = SUBFACE('SubCylF2', (#1439), #1327); | ||||||
#1442 = SUBFACE('SubFront', (#1440), #1223); | ||||||
#1450 = (CONNECTED_FACE_SET( (#1441, #1442)) | ||||||
CONNECTED_FACE_SUB_SET(#1350) | ||||||
OPEN_SHELL() | ||||||
REPRESENTATION_ITEM('Subset2') | ||||||
TOPOLOGICAL_REPRESENTATION_ITEM()); | ||||||
#1490 = (GEOMETRIC_REPRESENTATION_CONTEXT(3) | ||||||
GLOBAL_UNIT_ASSIGNED_CONTEXT((#1040,#1041)) | ||||||
REPRESENTATION_CONTEXT('Context for Subsets', | ||||||
'This is a 3D context using millimetres')); | ||||||
#1500 = MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION('SubsetRep', | ||||||
(#1350, #1450), #1490); |
Примечания
1 Выражение #1250 описывает объект closed_shell в форме куба с полуцилиндром на вершине, у которого 6 граней, 5 из которых являются плоскостями, а верхняя грань имеет цилиндрическую форму. Это выражение могло бы быть использовано для определения объекта advanced_brep_shape_representation в стандарте ИСО 10303-514 или объекта manifold_surface_shape_representation в ИСО 10303-509. Для обозначения граней и описания геометрии предполагается, что замкнутая оболочка наблюдается из точки, расположенной на отрицательном направлении оси X, а ось Z при этом направлена на вершину цилиндрической грани.
2 Выражение #1350 определяет экземпляр объекта open_shell и объект connected_face_sub_set, который ссылается на выражение #1250 как на свой родительский объект parent_face_set. Он состоит из двух граней, одна из них является передней гранью из выражения #1250, а вторая является объектом subface верхней цилиндрической грани из того же выражения. Одним из ребер этого треугольного объекта subface является объект subedge, другим является существующее ребро, а геометрия третьего ребра определена объектом pcurve на цилиндрической поверхности. Этот объект pcurve является линией в параметрическом пространстве, проходящей от точки (0,0) до точки (/3, 100). Кривая Безье обеспечивает немного менее точное трехмерное представление такого объекта surface_curve.
3 Выражение #1450 иллюстрирует возможность вложения объектов connected_face_sub_set. Такой объект определен в выражении #1350 как родительский объект parent_face_set, состоящий из двух объектов subface, каждый из которых связан с гранью из выражения #1350. Общее ребро между этими объектами subface является другим примером объекта subedge.
4 Выражение #1500 описывает экземпляр объекта manifold_subsurface_shape_representation, содержащий объекты connected_face_sub_set из выражений #1350 и #1450. Он определен в трехмерном контексте посредством объекта geometric_representation_context с использованием миллиметров и радиан в качестве единиц измерения. Это обеспечивает контекст для всей трехмерной геометрии в файле. Геометрия, определенная в этом файле, показана на рисунке Е.1.
Рисунок Е.1 - Грани и подграни объекта manifold_subsurface_shape_representation
Приложение ДА
(справочное)
Сведения о соответствии ссылочных международных стандартов национальным стандартам
Таблица ДА.1
Обозначение ссылочного международного стандарта | Степень соответствия | Обозначение и наименование соответствующего национального стандарта |
ISO/IEC 8824-1:1998 | IDT | ГОСТ Р ИСО/МЭК 8824-1-2001 "Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации" |
ISO 10303-1:1994 | IDT | ГОСТ Р ИСО 10303-1-99 "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 1. Общие представления и основополагающие принципы" |
ISO 10303-11:1994 | IDT | ГОСТ Р ИСО 10303-11-2000 "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS" |
ISO 10303-41:2000 | - | * |
ISO 10303-42:2000 | - | * |
ISO 10303-43:2000 | IDT | ГОСТ Р ИСО 10303-43-2002 "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 43. Интегрированные обобщенные ресурсы. Структура представлений" |
ISO 10303-202:1996 | - | * |
ISO 10303-511:2001 | IDT | ГОСТ Р ИСО 10303-511-2006 "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 511. Прикладные интерпретированные конструкции. Топологически ограниченная поверхность" |
* Соответствующий национальный стандарт отсутствует. До его принятия рекомендуется использовать перевод на русский язык данного международного стандарта. Примечание - В настоящей таблице использовано следующее условное обозначение степени соответствия стандартов: - IDT - идентичные стандарты. |
________________
Действует ГОСТ Р ИСО 10303-11-2009.
Действует ГОСТ Р ИСО 10303-43-2016.
УДК 656.072:681.3:006.354 | ОКС 25.040.40 |
Ключевые слова: автоматизация производства, средства автоматизации, интеграция систем автоматизации, промышленные изделия, данные, представление данных, обмен данными, прикладные интерпретированные конструкции, описание формы тела, геометрия многообразий, поверхности |
Электронный текст документа
и сверен по:
, 2020