База ГОСТовallgosts.ru » 25. МАШИНОСТРОЕНИЕ » 25.040. Промышленные автоматизированные системы

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

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

Дата введения: 07/01/2010
Дата отмены: -
Заменен на: -
Код ОКС: 25.040.40
Скачать PDF: ГОСТ Р ИСО 10303-513-2009 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 513. Прикладные интерпретированные конструкции. Элементарное граничное представление.pdf
Скачать Word:ГОСТ Р ИСО 10303-513-2009 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 513. Прикладные интерпретированные конструкции. Элементарное граничное представление.doc


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



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

НАЦИОНАЛЬНЫЙ

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

ГОСТ Р исо

10303-513-

2009

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

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

Часть 513

Прикладные интерпретированные конструкции. Элементарное граничное представление

ISO 10303-513:2000

Industrial automation systems and integration — Product data representation and exchange — Part 513: Application interpreted construct: Elementary boundary representation (IDT)

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

«О

О

5

s

Л

<•>

Ifl

Москва

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

2010

ГОСТ Р ИСО 10303-513—2009

Предисловие

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

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

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

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

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

4    Настоящий стандарт идентичен международному стандарту ИСО 10303-513:2000 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 513. Прикладные интерпретированные конструкции. Элементарное граничное представление» (IS0 10303-513:2000 «Industrial automation systems and integration — Productdata representation and exchange — Part 513: Application interpreted construct: Elementary boundary representation»).

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

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

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

© Сгандартинформ.2010

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

ГОСТ Р ИСО 10303-513—2009

Содержание

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

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

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

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

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

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

3.4    Термин, определенный в ИС0 10303-514 ...................................3

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

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

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

4.2    Определения объекта elementary_brep_shape_representation схемы atc_elementaryj>rep .... 5

Приложениие А (обязательное) Сокращенное наименование объекта....................9

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

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

Приложение D (справочное) EXPRESS-G диаграммы..............................10

Приложение Е (справочное) Требования соответствия и цели тестирования ПИК............15

Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов

ссылочным национальным стандартам Российской Федерации.............39

in

ГОСТ Р ИСО 10303-513—2009

Введение

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

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

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

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

IV

ГОСТ Р ИСО 10303-513—2009

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

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

Часть 513

Прикладные интерпретированные конструкции. Элементарное граничное представление

Industrial automation systems and integration. Product data representation and exchange. Part 513. Application interpreted construct. Elementary boundary representation

Дата введения — 2010—07—01

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

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

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

•    определение объекта elementary_brep_shape_representation. являющегося представлением, образованным одним или несколькими объектами manlfold_solid_brep. каждый из которых определен элементарной геометрией и полностью явной топологией;

•    определение неограниченной геометрии кривых и поверхностей, используемых для определения граней В-rep модели:

•    определение топологической структуры В-rep модели;

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

•    В-rep модели (модели граничного представления);

•    элементарные кривые, представляемые объектами line и conic:

•    объекты elementary_surface;

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

•    объекты polyline.

•    неограниченную геометрию;

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

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

•    двумерную геометрию:

•    ограниченные кривые, кроме объектов polyline;

•    ограниченные поверхности:

•    смещенные кривые и поверхности.

ПИК. определенная настоящим стандартом, не зависит от какой-либо промышленной прикладной области.

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

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

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

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

1

ГОСТ Р ИСО 10303-513—2009

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

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

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

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

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

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

ИС010303-202:1996 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 202. Прикладные протоколы. Ассоциативные чертежи (ISO 10303-202:1996, Industrial automation systems and integration — Product data representation and exchange — Part 202: Application protocol: Associative draughting)

ИС010303-514:1999 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 514. Прикладные интерпретированные конструкции. Расширенное граничное представление (ISO 10303-514:1999. Industrial automation systems and integration — Product data representation and exchange — Part 514: Application interpreted construct: Advanced boundary representation)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-    кривая (curve);

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

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

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

2

ГОСТ Р ИСО 10303-513—2009

- топологическое значение (topological sense).

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

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

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

3.4    Термин, определенный в ИС010303-514

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

односвязное твердое тело (manifold solid).

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

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

3.5.1    представление формы элементарными В-гер моделями (elementary B-rep shape representation): Представление формы, состоящее из одной или более В-rep моделей односвязных твердых тел. Каждая составляющая В-rep модели должна иметь грани и ребра, определенные посредством элементарной геометрии.

3.5.2    элементарная геометрия (elementary geometry): Геометрия, образованная линиями, полилиниями, линиями второго порядка и элементарными поверхностями.

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

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

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

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

Объектом самого верхнего уровня в данной ПИК является объект elementary_brep_shape_ representation. Этот объект является конкретизацией объекта shape.representation (см. ИСО 10303-41), состоящей из объектов manifo!d_solid_brep и mappedjtem. определенных как поступательно перемещенные или преобразованные копии объектов manifold_solid_brep с элементарной геометрией.

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

*)

SCHEMAaic_elementary_brep;

USE FROM geometry_schema(axis2_placement_3d.

cartesian_point.

cartesian_transformation_operator_3d.

circle,

conical.surface.

cytindrical_surface.

degenerate Joroidal_surface,

direction,

ellipse.

hyperbola.

line,

parabola.

plane.

3

ГОСТ Р ИСО 10303-513—2009

polyline.

spherical.surface,

vector);

USE FROM geometric_model_schema(manifold_solHj_brepf

brep.with.voids);

REFERENCE FROM geometric_model_schema(msb_shells);

USE FROM topology_schema(cl056d_sheH.

connected_face_set.

edge.curve,

edge_loop.

face_bound.

face_outer_bound.

face.surface.

oriented_closed_shell.

vertex_loop.

vertexjjoint);

USE FROM representation_schema(mappedJtem);

USE FROM product_prop6rty_representation_schema(shape_representation);

Г

Примечаний

1    Для объекта connected_face_eet установлены явные интерфейсы (т.е. они включены а списки оператора USE FROM), чтобы разрешить правилам, определенным для объекта elementary_brep_shape_representation. доступ к атрибутам этого объекта. При использовании данной ПИК данный объект должен быть реализован в виде одного из своих подтипов.

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

geometry .schema    - ИСО 10303-42:

geometrtc.model.echema    -ИС0 10303-42:

representation.schema    - ИСО 10303-43;

product_property_fepreseniahon_schema -ИС010303-41.

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

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

-    axis2_p!acement_3d;

•    brep_with_voids;

-    cartesian_point;

•    cartesian_transformation_operator_3d;

-    circle:

-    closed_shell;

-    conical.surface;

-    cylindrical.surface:

-    degenerate_toroidal_surface;

-    direction;

-    edge.curve;

-    edge Joop;

-    elements ry.face;

-    ellipse;

-    face_bound:

-    face_outer_bound;

•    face_surface:

-    hyperbola;

-    line;

•    manifold_soltd_brep;

-    mappedjtem;

•    onented_closed_she!!:

ГОСТ Р ИСО 10303-513—2009

•    parabola;

•    plane;

•    polyline;

•    representation_map;

•    spherical_surface;

•    toroidal.surface;

•    vector;

•    vertex Joop:

•    vertex_point.

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

Прикладной протокол, использующий данную ПИК. должен допускать реализацию объекта shape_representation какобъекта elementary _brep_shape_representation.

4.2 Определения объекта elementary_brep_shape_representation схемы aic_elementary_

brep

Объект elementary_brep_shape_representation является подтипом объекта shape, representation, в котором элементы представления являются конкретизациями объектов manifo!d_solid_brep. Эти конкретизации отличаются от более общей В-rep модели тем, что для представления граней и ребер используются только явные геометрические формы. Геометрия граней ограничена объектами elementary.surface и линиями ребер, которые могут быть представлены объектами line, polyline или conic.

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

•>

ENTITYelementary _brep_shape_representation SUBTYPE OF (shape_representation);

WHERE

WR1; SIZEOF (QUERY (it <• SELF.items |

NOT (SIZEOF (f AIC_ELEMENTARY_BREP.MANIFOLD_SOLID_BREP\ •AIC.ELEMENTARY BREP.FACETED.BREP', •AIC.ELEMENTARY.BREP.MAPPEDJTEM',

•AIC ELEMENTARY.BREP.AXIS2 PLACEMENT 3D*]*

TYPEOF(it)) = 1)))a 0;

WR2; SIZEOF (QUERY (it <* SELF.items |

SIZEOF(rAIC_ELEMENTARY_BREP.MANlFOLD_SOLID_BREP'. ’AIC_ELEMENTARY_8REP.MAPPED_ITEM1 * TYPEOF(it)) =1)) > 0;

WR3; SIZEOF (QUERY (msb <• QUERY (it <• SELF.items |

•AlC_ELEMENTARY_BREP.MANIFOLD_SOLID_BREP’ IN TYPEOF(it)>|

NOT (SIZEOF (QUERY (csh <* msb_shells(msb) |

NOT (SIZEOF (QUERY(fcs <• csh.cfsjaces |

NOT(’AIC_ELEMENTARY_BREP.FACE_SURFACE' IN TYPEOF(fcs)))) = 0 )»sO )))*0:

WR4: SIZEOF (QUERY (msb <* QUERY (it <• SELF.items |

'AlC_ELEMENTARY_BREP.MANIFOLD_SOLID BREP' IN TYPEOF(it)) |

NOT (SIZEOF (QUERY (csh «• msb_shells(msb)r NOT (SIZEOF (QUERY(fcs <*csh\connected_face_set.cfs_faces | NOT(('AIC_ELEMENTARY.BREP.ELEMENTARY_SURFACE IN TYPEOF(fcs\face_surface.face_geometry))

»)«0

)))*0

))>a0;

WR5: SIZEOF (QUERY (msb <* QUERY (it <• SELF.items |

•AlC_ELEMENTARY_BREP.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |

NOT (SIZEOF (QUERY (csh <* msb.shells(msb) |

NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces |

NOT (SIZEOF(QUERY (elp.fbnds <* QUERY (bnds <* fcs.bounds |

s

ГОСТ Р ИСО 10303-513—2009

’AIC_ELEMENTARY_BREP.EDGE_LOOP' IN TYPEOF(bnds.bound)) |

NOT (SIZEOF (QUERY (oe <* eIp_fbnds.boundVpath.edge list | NOT('AIC_ELEMENTARY_BREP.EDGE_CURVE' IN TYPEOF(oe.edge_element)))) = 0 ))) = 0 )))—o )))=0 ))) = 0:

WR6: SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |

'AlC ELEMENTARY_8REP.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) l NOT(SIZEOF (QUERY (csh <‘ msb_shells(msb) l NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces |

NOT (SIZEOF(QUERY (etp_fbnds <* QUERY (bnds «• fcs.bounds | ’AIC_ELEMENTARY_BREP.EDGE_LOOP' IN TYPEOF(bnds.bound)) |

NOT (SIZEOF (QUERY (oe <* etp_fbnds.boundVpath.edgeJist |

NOT (SIZEOF (fAIC_ELEMENTARY_BREP.LINE\ 'AIC_ELEMENTARY_BREP.CONIC\ •AIC_ELEMENTARY_BREP.POLYLINE1 * TYPEOF(oe.edge_elenient\edge_curve.edge_geometry))= 1)

))»0 )))s0 ))) = 0 )))=0 )))s0:

WR7: SIZEOF (QUERY (msb <* QUERY (it <* SELF.items J

•AIC_ELEMENTARY_BREP.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |

NOT (SIZEOF (QUERY (csh <* msb_shells(msb) |

NOT (SIZEOF (QUERY(fcs <* cshVconnected_face_set.cfs_faces |

NOT (SIZEOF(QUERY (elp.fbnds <• QUERY (bnds <• fcs.bounds | AIC_ELEMENTARY_BREP.EDGE_LOOP' IN TYPEOF(bnds.bouod)) |

NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edgeJist | NOT(('AIC_ELEMENTARY_BREP.VERTEX_POINT IN TYPEOF(oe.edge.start)) AND ('AIC_ELEMENTARY_BREP.VERTEX_POINT IN TYPEOF(oe.edge_end))

») = 0 ))) = 0 ))) = 0 »)*0 )))=0:

WR8: SIZEOF (QUERY (msb <* QUERY (it <# SELF.items |

'AIC_ELEMENTARY_BREP.MANIFOLD SOLID_BREP' IN TYPEOF(it)) |

NOT (SIZEOF (QUERY (csh <• msb_sheiis(msb) |

NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces |

NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <• fcs.bounds | 'AIC_ELEMENTARY_BREP.EDGE_LOOP' IN TYPEOF(bnds.bound)) |

NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge Jist | (•AIC_ELEMENTARY_BREP.POLYLINE'IN TYPEOF(oe.edge_elementVedge_curve.edge_geometry))AND (NOT (SIZEOF (oeVoriented_edge.edge_etementv

edge_curve.edge_geometi7\po!y4ine.points) >= 3))

)) = 0 ))> = 0 ))) = 0 »>*0 ))) * 0;

WR9: SIZEOF (QUERY (msb <* QUERY (it <* items |

,AIC_ELEMENTARY_8REP.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | ■AIC_ELEMENTARY_BREP.ORIENTED CLOSED_SHELL' IN TYPEOF

6

ГОСТ Р ИСО 10303-513—2009

(msb\manifold_solid_brep.outer)))

-0:

WR10: SI2EOF (QUERY (brv <• QUERY (it <* items |

'AIC_ELEMENTARY_BREP.BREP_WITH_VOIDS' IN TYPEOF(it)) |

NOT (SIZEOF (QUERY (csh <* brv\brep_with_voids. voids | cshVoriented_closed_shell.orientation)) = 0))) = 0:

WR11: SIZEOF (QUERY (mi <• QUERY (it <* items |

'AIC.ELEMENTARY BREP.MAPPEDJTEM' IN TYPEOF(it)) (

NOT (,AIC_ELEMENTARY_BREP.ELEMENTARY_BREP-SHAPE_REPRESENTATION'IN TYPEOF(mi\mappedJtem.mapping_source.

mappedjepresentation)))) = 0;

WR12: SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |

'AIC_ELEMENTARY_BREP.MANIFOLO_SOLlD_BREP‘ IN TYPEOF(it)) |

NOT (SIZEOF (QUERY (csh <* msbsheils(msb) |

NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces |

NOT (SIZEOF(QUERY (vlp_fbnds <* QUERY (bnds <* fcs.bounds | •AIC_ELEMENTARY BREP.VERTEX_LOOP‘ IN TYPEOF(bftds.bound)) |

NOT ((,AIC_ELEMENTARY_BREP.VERTEX_POINT' IN

TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND (*AIC_ELEMENTARY_BREP.CARTESIAN_POINT IN TYPEOF(vip_fbnds\face_bound.bound\vertexJoop.

Ioop_vertex\vertex_pomt.vertex_geometry))

))>5 0))) = 0))) = 0)» = 0;

END_ENTITY;

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

WR1—атрибут items, супертипа representation должен содержать только объекты manifold_solid_brep, mappedjtem и axis2_placement_3d. Согласно этому правилу, использование объектов faceted.brep недопустимо, поскольку экземпляр объекта faceted.brep также имел бы тип manifoid_solid_brep.

WR2 — по крайней мере один элемент из множества элементов items должен быть объектом manifo!d_solid_brep или mapped .item (см. также WR11).

WR3 — Все грани, используемые для построения объекта manlfold_solid_brep должны иметь тип face.surface.

Примечание — Вызов функции msb.shelle в WR3 и последующих утверждениях является корректным, так как. хотя обобщенным типом аргумента 'msb’ является repreeentatlonjtem. но оператором QUERY для него был определен тип manifold_eolid_brep.

WR4 — для каждого объекта man!fo!d_solid_brep из множества элементов Items, ассоциированная поверхность для каждой грани должна быть объектом elementsry_surface.

WR5 — для каждого объекта manifold_solid_brep из множества элементов items, ребра, используемые для определения границ, должны иметь тип edge_curve.

WR6 — для каждого объекта manifold_solid_brep из множества элементов items, каждая кривая, используемая для определения ограничений граней, должна быть объектом conic, line или polyline.

WR7 — для каждого объекта manifo!d_solid_brep из множества элементов items, все ребра, используемые для определения границ, должны быть обрезаны вершинами, имеющими тип vertex_point.

WR8 — для каждого объекта manifold_sotid_brep из множества элементов items, каждый объект polyline, используемый для определения части ограничений грани, должен содержать три или более точек.

WR9 — для каждого объекта manlfold_solid_brep из множества элементов items, атрибут внешней оболочки не должен иметь тип oriented_closed_shell.

WR10 — если объект brep_wlth_voids включены в множество элементов items, то каждая оболочка в множестве voids должна быть объектом oriented_closed_shell со значением ориентации FALSE.

7

ГОСТ Р ИСО 10303-513—2009

WR11—если объект mappedjtem включен в множество элементов items, то объект mapped.representation атрибута mapping.source должен быть объектом elementary_brep_shape_ representation.

Примечание—Если объект cartesian jraneformation_operator_3d включен как объект mapped Jtem.mapping jarget е объектом axls2_placement_3d, который соответствует в исходной системе координат объекту mapped_repre8entatlon.mapping_orlgin, то результирующий объект mappedjtem является преобразованной копией объекта elementary_brep_shape_repreeentation Точное определение данного преобразования, включая поступательное перемещение, вращение, масштабирование и. при необходимости, зеркалирование, задается оператором преобразования.

WR12 — для каждого объекта manifold_solid_brep из множества элементов items любой объект vertexjoop, используемый для определения ограничения грани, должен ссылаться на объект vertex_point с геометрией, определяемой объектом cartesian.point.
EXPRESS-спеаиФикация

*)

END.SCHEMA; - конец схемы AIC_ELEMENTARY_BREP

(*

8

Приложение А

(обязательное)

ГОСТ Р ИСО 10303-513—2009

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

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

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

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

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

ELEMENTARY_BREP_SHAPE_REPRES£NTATlON

EBSR

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

Регистрация информационного объекта

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

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

(leoetandard 10303 part(5l3)version<1>)

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

8.2 Обозначение схемы

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

(leoetandard 10303 part(513} version(l)object(1) aic-elementary-brep(l)}

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

9

ГОСТ Р ИСО 10303-513—2009

Приложение С

(справочное)

Машинно-иитерпретирувмые листинги

6 данном приложении приведены ссылки на сайты, не которых находятся листинги наименований объектов на языке EXPRESS и соответствующих сокращенных наименований, установленных в нестоящем стандарте. На этих же сайтах находятся листинги всех EXPRESS-схем, установленных или на которые даются ссылки а настоящем стандарте, без комментариев и другого поясняющего текста. Эти листинги доступны в мвшинко-интерпретиру-емой форме и могут быть получены по следующим адресам URL:

Сокращенные наименования: http:yi4vvrar.mel-niet.gov/div826/subject/apde/snrS

EXPRESS:

При невозможности доступа к этим сайтам, необходимо обратиться в центральный секретариат ИСО или непосредственно в секретариат ИСО ТК184/ПК4 по адресу электронной почты: .

Примечание — Информация, представленная в машинно-интерпретируемой форме по указанным выше адресам URL. является справочной. Обязательным является текст настоящего стандарта.

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

EXPRESS-G диаграммы

Диаграммы, приведенные на рисунках D.1—D.4 получены из сокращенного листинга ПЭМ на языке EXPRESS, определенного в разделе 4. В диаграммах использована графическая нотация EXPRESS-G языка EXPRESS. Описание EXPRESS-0 устаноеленов ИСО 10308-11, приложение О.

Примечания

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

•    geometric_sei_select:

•    pcurve_or_sufface;

•    reversible.topology:

•    shell;

•    trlmming.select:

•    vecior_or_direct»on.

2    Правила неявных интерфейсов, определенные в ИСО 10303-11. вводят также некоторые объекты, реализация которых запрещена правилами, относящимися к объекту elementsry_brep_shape_representatlon. Эти объекты отмечены на EXPRESS-0 диаграммах символом к'».

10

ГОСТ Р ИСО 10303-513—2009

11

ГОСТ Р ИСО 10303-513—2009

Рисунок 0.2 — ПИК elementary_boundary_repre*encatlon е формате EXPRESS-G (диаграмма 2 из 4)

12

ГОСТ Р ИСО 10303-513—2009

13

ГОСТ Р ИСО 10303-513—2009

Рисунок 0.4 — ПИК elementary_boundary_repr«8ent«tlon в формате EXPRESS-G (диаграмма 4 из 4)

14

ГОСТ Р ИСО 10303-513—2009

Приложение £

(справочное)

Требования соответствия и цели тестирования ПИК

£.1 Требования соответствий ПИК: элементарная В-rep модель

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

Соответствие денной ПИК означает, что должны поддерживаться все типы данных и типы объектов, определенные е листинге на языке EXPRESS. Единственным допустимым использованием экземпляра геометрического или топологического объекта а контексте данной ПИК является его использование для определения объекта eiementary_brep_ahape_repreaentatlon.

Указанные ниже объекты могут быть реализованы как часть определения объекта elementary _brep_shape_representatlon:

•    axis2_placement_3d:

•    brep_with_votds;

•    cartesian_pomt:

•    cartesien_transformstion_operator_3d:

•    circle:

•    closed_shell:

-    contcai.aurlace;

-    cylmdncal.surface:

•    degeneratejorotdal.surface:

-    direction,

•    edge_curve:

•    edge Joop.

-    elementary_face;

•    ellipse;

•    face_bound;

•    face_outer_bound;

•    face_surface:

-    hyperbola:

-    line;

-    manifok)_sotid_brep:

•    mapped Jtem:

•    oriented_ctoeed_shell;

•    parabola:

-    plane:

•    polyline:

•    representanon.mep:

•    ephencai_surface.

•    toroidal.surface;

•    vector:

-    vertex_toop:

•    vertex_point

E.2 Цели тестирования ПИК элементарной В-rep модели

В настоящем разделе определены цели тестирования для ПИК элементарной 8-гер модели. Цели тестирования основаны на конструкциях, определенных в разделе 4.

Е.2.1 Объект elementary_brep_shape_representation

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

£В1—проверка объекта representation как объекта shape.representatlon и как объекта elementary _brep_shepe_representatlon (см. Е.3.1).

ЕВ2 — проверка объекта elementary_brep_shape_representation свтрибутом context, представленным как объект geometric.context с атрибутом items, представленным как объект manifold_solld_brep (см. Е.3.1).

ЕВЗ — проверка объекта elementary_brep_shape_representation свтрибутом context, представленным как объект geometric_context с атрибутом items, представленным как объект mappedjtem (см. Е.3.6).

ЕВ4 — проверка объекте eiementary_brep_shape_representation сатрибутом context, представленным как объект geometrtc.context с атрибутом items, представленным двумя или более эпеменгаыи.представленными

1S

ГОСТ Р ИСО 10303-513—2009

как объекты manlfold.eolld.brep. или mapped.ltem. или axla2_p!acement_3d.npH этом по меньшей мере один из них должен быть объектом axle2_placement_3d (см. £.3.6).

£.2.2 Объект menlfold.eolld.brep

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

ЕВ5 — проверка объекта manl(old_solld_brep с атрибутом outer (атрибут volde отсутствует), представленным как объект eloeed.ehell (ноне как подтип orlented.cloeed.ehell) (см. Е.3.1).

Евб — проверка объекта manifold_soild_brep как подтипа brep.wlth.volda с атрибутом outer, представленным как объект cloeed_sheil. и атрибутом volde. представленным множеством, состоящим из одного объекте orlented.cloeed.ehell (втрибут volde присутствует) (см. Е.Э.2).

ЕВ7 — проверка объекта menlfold.eolld.brep как подтипа brep.wlth.volde с атрибутом outer, представленным как объект eloeed.ehell. и атрибутом volde. представленным множеством, состоящим из более чем одного объекта orlented.cloeed.ehell (атрибут volde присутствует) (см. £.3.2).

£.2.3 Объект orlented.cloeed.ehell

На основании определения данного объекта и ограничений, наложенных на объект elementary.brep.ehape.repreeentatlon. сформулирована следующая цель тестирования:

£68 — проверка объекта orlented.cloeed.ehell с атрибутом orientation, имеющим значение FALSE (см. £.3.2).

£.2.4 Объект eloeed.ehell

На    основании    определения    данного    объекта    и    ограничений,    наложенных    на    объект

elementary .brep.ehape.repreeentatlon. сформулированы следующие цели тестирования:

ЕВ9 — проверка объекта eloeed.ehell с атрибутом cfe.facee. представленным множеством, состоящим из одного объекте face.eurface (см. £.3.2).

ЕВЮ — проверка объекта eloeed.ehell с атрибутом cfe.facee. представленным множеством, состоящим из более чем одного объекта face.eurface (см. £.3.1).

£.2.5 Объект face

На    основании    определения    денного    объекта    и    ограничений,    наложенных    на    объект

elementary .brep.ehape.repreeentatlon. сформулированы следующие цели тестирования.

ЕВ11 — проверка объекта face квкобъектв face.eurface с атрибутом bounda. представленным множеством, состоящим из одногообъекта face.bound, представленного как объект face.outer.bound с атрибутом orientation, имеющим значение TRUE (см. £.3.1).

ЕВ12 — проверка объекта face квкобъекта face.eurface с атрибутом bounda. представленным множеством, состоящим из одного объекта face.bound. представленного как объект face.outer.bound с атрибутом bound, представленным объектом edge.loop (но не orlented.path) и атрибутом orientation, имеющим значение FALSE (см.Е.3.1).

ЕВ13 — проверка объекте face квкобъекта face.eurface с атрибутом bounda. представленным множеством, состоящим, по меньшей мере, из двух объектов face.bound с атрибутом bound, представленным объектом edge.loop и атрибутом orientation, имеющим значение TRUE (см. Е.3.1).

ЕВ14 — проверка объекта face квкобъекта face.eurface с атрибутом bounda. представленным множеством, состоящим, по меньшей мере, из двух объектов face.bound с атрибутом bound, представленным объектом edge.loop и атрибутом orientation, имеющим значение FALSE (см. Е.3.1).

ЕВ15 — проверка объекта face квкобъектв face.eurface с атрибутом bounda. представленным множеством, состоящим, по меньшей мере, из двух объектов face.bound (включая один объект vertex_loop)(CM.E.3.5).

£.2.6 Объект face.eurface

На основании определения данного объекта и ограничений, наложенных на объект elementary .brep.ehape.repreeentatlon. сформулированы следующие цели тестирования:

ЕВ16 — проверка объекта face.eurface с атрибутом face.geometry. представленным как объект eurface (см.Е.3.1).

ЕВ17 — проверка объекта face.eurface с атрибутом вате.еепее. имеющим значение TRUE (см. £.3.1).

ЕВ18 — проверка объекта face.eurface с атрибутом вате.еепее. имеющим значение FALSE (см. £.3.5).

£.2.7 Объект eurface

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

ЕВ 19 — проверка объекта eurface как объекта elementary.eurface (см. £.3.1).

£.2.8 Объект elementary.eurface

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

ЕВ20 — проверка объекта elementary.eurface с атрибутом poeltlon. представленным как объект axle2.p1ecement.3d с присутствием атрибута axle (см. Е.3.1).

£621 — проверка объекта elementary.eurface с атрибутом poeltlon. представленным квк объект axia2.placement.3d с отсутствием атрибута axle (см. £.3.4).

16

ГОСТ Р ИСО 10303-513—2009

ЕВ22 — проверке объекте eiementary_»urface с атрибутом position, представленным как объект axls2_placement_3d с присутствием атрибуте redirection (см. Е.3.1).

ЕВ23 — проверке объекта elementary.eurlace с атрибутом position, представленным как объект axls2_placement_3d с отсутствием атрибута redirection (см. Е.3.4).

ЕВ24 — проверке объекта elementary_виг!аееквк объекта plane (см. Е.3.1}.

ЕВ25 — проверке объекта elementary_surface как объекта cylindrical.surface (см. Е.3.1).

ЕВ26 — проверка объекта elementary .surface какобъекта соп1са1_виг1асе(см. E.3.S).

ЕВ27 — проверка объекта elementary_sur(ace как объекта sphericai.surface (см. Е.3.1).

ЕВ28 — проверка объекте elementary_surfaee как объекта toroldai.surlace (см. Е.3.3).

Е.2.9 Объект loop

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

ЕВ29 — проверка объекта loop как объекта edgejoop (см. £.3.1).

ЕВЗО — проверка объекта loop как объекта vertex.loop с атрибутом loop.vertex. представленным как объект vertex.point с атрибутом vertex.geometry. представленным как объект cartesian_polnt (см. Е.3.2).

Е.2.10 Объект edge

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

ЕВ31 — проверка объекта edge как объекта edge.curve с атрибутами edge.start и edge.end. представленными объектом vertex_polnt(CM.E.3.1).

ЕВ32 — проверка объекте edge как объекте orlented.edge с атрибутом orientation, имеющим значение TRUE(cm.Е.3.1).

ЕВЗЗ — проверка объекта edge как объекта orlented.edge с атрибутом orientation, имеющим значение FALSE (см. Е.3.3).

Е.2.11 Объект edge_curve

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

ЕВ34 — проверка объекта edge.curve с атрибутом edge_geometry. представленным как объект line (см. Е.3.3).

EB3S — проверка объекта edge_curve с атрибутом edge_geometry. представленным как объект polyline (см. Е.3.4).

ЕВ36 — проверка объекта edge.curve с атрибутом edge_geometry. представленным как объект conic (см. Е.3.1).

ЕВ37 — проверка объекта edge.curve с атрибутом вете_вепве. имеющим значение TRUE(cm. Е.3.1).

ЕВ38 — проверка объекта edge.curve с атрибутом same_eense. имеющим значение FALSE (см. Е. 3.5).

Е.2.12 Объект conic

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

ЕВ39 — проверка объекта conic как объекта circle (см. Е.3.1).

ЕВ40 — проверка объекте conic как объекта ellipse (см. Е.3.1).

ЕВ41 — проверка объекта conic как объекта hyperbola (см. E.3.S).

ЕВ42 — проверка объекта conic как объекта parabola (см. E.3.S).

Е.2.13 Объект polyline

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

ЕВ43 — проверка объекта polyline с атрибутом polntB. представленным списком из трех или более объектов carte8ian_polnt(CM. Е.3.4).

Е.2.14 Объект cartesian_traneformation_operator_3d

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

ЕВ44 — проверка объекта mappedjtem с атрибутом mapplngjarget. представленным как объект cartesian_trensformation_operator_3<i (см. Е.Э.7}.

EB4S — проверка объекта carteelanjfaneformation.operator как объекта earteslan_transformatlon_ operator_3d с масштабом, представленным значением типа REAL, не равным 1.0 (см. Е.3.7).

Е.З Абстрактные контрольные примеры для модели элементарного граничного представления

Абстрактные контрольные примеры для постпроцессора представлены в нестоящем разделе на языке EXPRESS-!.

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

17

ГОСТ Р ИСО 10303-513—2009

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

£.3.1 Контрольный лримереМ

Контрольный пример еЫ является наиболее фундаментальным контрольным примером, описывающим грани. необходимые дляол ределения одиночного сплошного цилиндра с полусферическим основанием и эллиптической верхней гранью. Вся геометрия задана в явной форме без значений, принимаемых по умолчанию, и без необходимости изменения направлений на обратные. Определение граней обеспечивается контекстом объекта cyiinder.sphere.shell с использованием исходных параметров.

£.3.1.1 Цели тестирования

Ниже перечислены цели тестирования прикладной интерпретированной модели, охватываемые данным контрольным примером.

ЕВ1 — проверка объекта representation как объекта shape.representation и как объекта elementary.brep.shape.representatlon.

ЕВ2 — проверка объекта elementary.brep.shape.representation с атрибутом context, представленным как объект 9eometric_repreeentation_context с атрибутом items, представленным как объект manifold.soiid.brep.

£65 — проверка объекте manlfold.solld.brep с атрибутом outer (атрибут voids отсутствует), представленным как объект closed.shell (ноне как подтип orlented_ciosed_shell).

ЕВЮ — проверка объекта cioeed.shell с атрибутом cfs.faces. представленным множеством, состоящим из более чем одного объекта face.surface.

ЕВ11 — проверка объекта face квкобъекта face.surlace с атрибутом bounds, представленным множеством, состоящим из одногообъекта face.bound, представленного как объект face_outer_bound с атрибутом orientation, имеющим зндчвниеТРи£.

ЕВ12 — проверка объекте face какобъекта face.surlace с атрибутом bounds, представленным множеством, состоящим из одногообъекта face.bound. представленного как объект face.outer.bound с атрибутом orientation, имеющим значение FALSE.

ЕВ13 — проверка объекте face какобъекта face.surlace с атрибутом bounds, представленным множеством, состоящим, по меньшей мере, из двух объектов face.bound с атрибутом bound, представленным объектом edge.ioop и атрибутом orientation, имеющим значение TRUE.

ЕВ14 — проверка объекта face какобъекта face.surlace с атрибутом bounds, представленным множеством, состоящим, по меньшей мере, из двух объектов face.bound с атрибутом bound, представленным объектом edge.ioop и атрибутом orientation, имеющим значение FALSE.

ЕВ16 — проверка объекта face.surlace с атрибутом face.geometry. представленным как объект surface.

ЕВ17 — проверка объекта face.surfвсе с атрибутом same.senee. имеющим значение TRUE.

ЕВ19 — проверка объекта surface какобъекта etementary.surface.

ЕВ20 — проверка объекта elementary.eurface с атрибутом position, представленным как объект axie2_placement_3d с присутствием атрибута axis.

ЕВ22 — проверка объекта elementary.eurface с атрибутом position, представленным квк объект axis2_ptacement_3d с присутствием атрибута ref.direction

ЕВ24 — проверка объекта elementary.eurface как объекта plane.

ЕВ25 — проверка объекта elementary .surface как объекта cylindrical.surface

ЕВ27 — проверка объекта etementary.surface как объекта spherical.surface.

ЕВ29 — проверка объекта loop как объекта edge.ioop.

ЕВ31 — проверка объекта edge квк объекта edge.eurve с атрибутами edge.start и edge.end. представленными объектом vertex.polnt.

ЕВ32 — проверка объекта edge квк объекта orlented.edge с атрибутом orientation, имеющим значение TRUE.

ЕВ36 — проверка объекта edge.eurve с атрибутом edge.geometry. представленным как объект conic.

ЕВ37 — проверка объекта edge.eurve с атрибутом same.senee. имеющим значение TRUE.

ЕВ39 — проверка объекта conic как объекта circle.

ЕВ40 — проверка объекта conic как объекта ellipse.

£.3.1.2 Спецификация входа в препроцессор

Создается объект elementary.brep.shape.representatlon. состоящий из единственного объекте manlfold.solld.brep. Объект manlfold.solid.brep должен иметь форму сплошного цилиндра с полусферическим основанием и плоской наклонной верхней гранью. Центр полусферы находится в начале координат, а ось 2 является осью цилиндра. В-rep модель представлена одной замкнутой оболочкой с тремя гранями. Соответствующее множество размеров определено в приведенной ниже спецификации на языке EXPRESS-I.

Примечание — Для определения граней В-гвр модели использован контекст объекта eylinder.sphere.shell в своей простейшей форме с параметрами, заданными по умолчанию.

18

ГОСТ Р ИСО 10303-513—2009

Е.3.1.3 Спецификация входа в постпроцессор

TEST_CASE example_ebrep_1: WITH aic_elementary_brep;

REALIZATION

LOCAL

shell_ob|ect: closed_shell;

cysp_aoild: manifold_eolld_brep;

ebsr: elements ry_brep_shape jepresentation.

its_unlts: named_unit;

■ts_context: representeuon_coniext:

ENO.LOCAL.

CALL cylmder_sphere_ehell: •• используются значения no умолчанию IMPORT (shell.object :* Qcyspehell;);

ENO.CALL:

cysp_sol»d :* manifotd_solid_brep fcysp_aolld'. shell.object); ite.units :« length_unit() || si.unlt ("millI*, ‘metre1);

its_context :* geometric jepreeentation.context

(acontext_V. ‘contextJor_cytinder_sphere\ 3) || global_unn_assigned_context ((Its.unlts)):

ebsr :* eiementary_brep_ehepejepreeentation ('ebar'. [cysp_sotid|. rts_context);

ENO REALIZATION;

£ND_TEST_CaSE:

Г

E.3.1.4 Критерии решения постпроцессора

EB1 — все формальные утверждения для объекта elementary_brep_shape_representatlon должны быть проверены.

ЕВ2 — единицы длины должны быть правильно интерпретированы, воссозданная модель не должна содер-жатьобъекты polyloop или vertex_loop.

ЕВ5 — перпендикуляры к оболочке должны быть направлены от нее.

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

ЕВ 11 — геометрия граней должна быть правильно обрезана объектом !ace_bound.

ЕВ 12 —объекты face.boundc значением атрибуте orientation FALSE должны быть правильно интерпретированы. чтобы определить правильную часть поверхности грани.

ЕВ13 —Множество ограничений должно быть правильно обработано, чтобы обрезать грань.

ЕВ14 — объекты face.bound с разными значениями атрибута orientation должны быть правильно интерпретированы.

ЕВ 16 — объекты edge.curve и вершины, ограничивающие объекты edgejoop. должны лежать на поверхности. определяющей объект face_geometry.

ЕВ20 — объект axia2_placement с атрибутом axle должен быть правильно интерпретирован, чтобы определить положение поверхности.

ЕВ22 — объект axle2_placement с атрибутом redirection должен быть правильно интерпретирован, чтобы определить положение поверхности.

ЕВ24 — ограничивающие контуры грани с объектом face_geometry. представленным как объект plane, должны быть ко планарны.

ЕВ25 — неограниченный объект cyllndrlcal_eurtace должен быть ограничен объектами edgejoop.

ЕВ27 — правильная часть объекта spherlcal.surface должна быть определена объектами edgejoop.

ЕВ31 — все объекты vertex_polnt должны принадлежать объектам edge_curve.

ЕВ36 — объект edge с идентичными начальной и конечной вершинами и объект edge_geometry. представленный эллипсом, должны быть правильно интерпретированы как замкнутый эллипс.

ЕВ39 — объект edge с идентичными начальной и конечной вершинами и объект edge_geometry. представленный окружностью, должны быть правильно интерпретированы как замкнутая окружность.

ЕВ40 — подтип ellipse объекта conic должен быть правильно интерпретирован.

19

ГОСТ Р ИСО 10303-513—2009

£.3.2 Контрольный примереЬ2

Контрольный пример 602 разработан для проверки определения элементарного граничного представления, содержащего одну или несколько пустот. Контекст объекта cyllnder_ephere_ahell используется с различными параметрами для определения внешней оболочки и оболочек пустот. Результатом является полый сплошной цилиндр с расположенной внутри пустотой (или пустотами) той же или сферической формы.

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

£.3.2.1 Цели тестирования

Ниже перечислены цели тестирования, охватываемые данным контрольным примером.

£В6 - проверка объекта manlfold_soltd_brep как подтипа brep_w»th_volde с атрибутом outer, представленным как объект closed.ehell. и атрибутом voids. представленным множеством, состоящим из одного объекта orlented_closed_shell (атрибут voids присутствует).

£В7 — проверка объекта manlfold_solid_brep как подтипа brep_wlth_volda с атрибутом outer, представленным как объект closed.sbell. и атрибутом voids, представленным множеством, состоящим изболев чем одного объекта orlent6d_closed_shell.

ЕВ8 — проверка объекте oriented_ciosed_ahell с атрибутом orientation, имеющим значение FALSE.

ЕВ9 — проверка объекта closed_ehelt с атрибутом efs Jaces. представленным множеством, состоящим из одного объекта face_surface.

ЕВ30 — проверка объекта loop как объекта vertexjoop.

£.3.2.2 Спецификация входа в препроцессор

Создается объект elementaryJ>rep_shape_representatlon. состоящий из единственного объекта manlfold_eolld_brep. Объект manlfotd_aoiid_brep должен иметь форму сплошного цилиндра с полусферическим основанием и плоской наклонной верхней гранью. Одно такое граничное представление должно содержать пустоту такой же формы и ориентации. Второй пример должен содержать две непересекающиеся пустоты: одну — такой же формы, вторую — сферической формы. Пустота сферической формы должна быть определена одним объектом face.surface с использованием объекта vertexjoop. Центр полусферы для внешней оболочки находится в начале координат, а ось Z является осью цилиндре. Каждая оболочка определена как единая замкнутая оболочка с тремя гранями. Соответствующее множество размеров определено в приведенной ниже спецификации на языке EXPRESS-I.

£.3.2.3 Спецификация входа в постпроцессор Примечания

1    Контекст объекта cyllnder_sphere_sheil с соответствующими параметрами используется для определения граней внешней оболочки В-rep модели и для определения оболочек пустот.

2    Внешняя оболочка объекта brep_wtth_volds является объектом closed.shell. но не объектом orlented_closed_ehell. Объект orlented_ctosed_shell используется для определения оболочек пустот, при этом атрибут orientation должно иметь значение FALSE.

')

TEST_CASE exemple_ebrep_2;WITHa«_elemeniary_brep;

REALIZATION

LOCAL

shell.object. hollowl. hollow2: closed.shell;

voldi. vold2 .orlented_closed_shell;

cylsp_with_void: brep_wi№_votde:

cylsp_with_voids: brep_wi№_votds;

eberl.ebsr2 :elementary_brep_shepejepreeent8tlon.

its_unite. named.umt;

contextl. context2 : represents bon_con text.

sph2: sphencal.surface.

M. I2: length.measure; top_pt. cartesian_polnt: top.vert: venex_polnl; vjoop: vertexjoop;

»_bound: face_outer_bound. spjace: face.surface: sp_sheil: closed_sheli;

END LOCAL;

20

ГОСТ Р ИСО 10303-513—2009

CALL cyllnder.aphere.shell; - используются значения по умопчанию IMPORT (shetl.object:* gcyspshell; >;

END.CALL:

CALL cyllnder.sphere.shell; - переустанавливаются параметры размеров IMPORT (hottowl .» (gcyapahell;); -- большая пустота WITH (ore:» 10; rad .* 12; ht :»50;}:

END.CALL:

CALL cylinder.ephere.shell; - переустанавливаются параметры размеров (сфера для сферической пустоты)

IMPORT (sph2 ;* tgsphere.

И :* @orc:

I2 :« grad;):

WITH (ore:» -5: rad END.CALL;

voldl:» ortented.closed.sheilfvoKjr. hollow 1. FALSE):

top_pt:« cartesian.pomt <1ор_рГ. (И. И. (И +12)]};

lop.v .« vertex_point ftop.v*. top.pt);

v.loop :* vertex .loop (V.loop*. top.v);

e.bound :» face.outer.bound {'a.bound*. v.loop. TRUE );

sp.face :* face.surface ('ap.face'. (e.bound). sph2, TRUE);

sp.sheli :* ctoaed.ahell ('ep.sheir. (ap.face));

void2 ;* onented.closed.shell (*vok)2'. ap.sheli. FALSE);

cylap.with.void :■

manlfoid.solid.brep ('cylsp.w.v'. eheil.objecl) || brep.wlth.volds ((void 1)};

eyiap.witn.voida :■

manlfoid.solid.brep ('cylsp.w.vs'. shetl_object)|| brep.wlth.volds ((void 1. vokJ2));

■ts.units :» length_unlt<) |) al.unii (‘тМГ. 'metre'):

contextl :* geometnc.repreeentation.context.

('context.!', 'context.for_cylep_with.void'. 3) || gtobal_unit_aseigned_contex!( (ils.umts));

context2:« geometrlc.representatlon.context.

('context.!', 'context.for.cylsp.with.vokls'. 3) || global.umt.asslgned.context ((its.unite));

ebsrl :« elementary.brep.shape.representatton ('ebsrl'. (cylap.with.void), contextl):

ebsr2:» elementary_brep_ahape_represeritat»on ('ebsr2'. (cylsp.with.voids). context2);

END.REALIZATlON.

END TEST CASE:

Г

E.3.2.4 Критерии решения постпроцессора

EB6 — оболочка пустоты не должна пересекаться с внешней оболочкой; оболочка пустоты должна полностью находиться внутри внешней оболочки.

Е67 — оболочки пустот не должны пересекаться с внешней оболочкой или друг с другом: каждая оболочка пустоты должна полностью находиться внутри внешней оболочки, два объекта elementary.brep.shape. representation вьем и ebsr2 не должны быть пространственно связаны.

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

21

ГОСТ Р ИСО 10303-513—2009

ЕВ9 — объект closed_ehell с единственной гранью, геометрий которой определена объектом apherlcal.eurface. должен быть правильно обработан.

ЕВЗО — объект vertexjoop должен быть корректно обработан как объект face.bound. чтобы определить грань как полностью сферическую поверхность.

Е.3.3 Контрольный примереЬЗ

Контрольный пример еЬЗ является простым контрольным примером, определяющим грани, необходимые для определения одиночного сплошного сегмента тора, ограниченного плоскостями. Одно из пересечений плоскости с тором представлено плоской полилинией. Определение оболочки обеспечивается контекстом объекта toroldal_eegmentc использованием исходных параметров.

Е.3.3.1 Цели тестирования

Ниже перечислены цели тестирования, охватываемые данным контрольным примером.

ЕВ28 — проверка объекта eiementary_a<jrface как объекта toroldal_eur(ace.

ЕВЗЗ — проверка объекта edge квк объекта orlented_edge с атрибутом orientation, имеющим значение FALSE.

ЕВ34 — проверка объекта edge.curve с атрибутом edge.geometry. представленным как объект line.

ЕВ35 — проверка объекта edge.curve с атрибутом edge.geometry. представленным квк объект polyline. Е.3.3.2 Спецификация входа в препроцессор

Создается объект elementary_brep_shape_repreeentatlon. состоящей из единственного объекта manlfold_eolld_brep. Объект manifold_eoild_brep должен иметь форму тороидального сегмента с центром, расположенным в начале координат, и центральной осью, направленной по оси Z. Сегмент создан сечением торе тремя плоскостями, одна из которых (z * 0) проходит через центр и перпендикулярна к центральной оси. Дее другие плоскости параллельны друг другу, причем одна из них (х ■ 0) проходит через центр. Линии пересечений являются дугами окружностей или полилинией. В-rep модель определена одной замкнутой оболочкой с четырьмя гранями. Соответствующее множество размеров определено в приведенной ниже спецификации на языке EXPRESS-I.

Е.3.3.3 Спецификация входа в постпроцессор

Примечание — Для определения граней и всей геометрии и топологии В-rep модели используется контекст объекта toroldat_»egment с параметрами, заданными по умолчанию.

*)

TEST_CASE example_ebrep_3: WITH alc_elementary_brep:

REALISATION

LOCAL

sheii.object: doeed.eheil;

toru3_eolid; manifold_solkl_brep;

eber: elementary _brep_shape_representation ;

lte_unite. named.umt;

Ite.context: representation_context.

ENoJLoCAL:

CALL toroidal.segmenl: - используются значения no умолчанию IMPORT (ahell.object :* Qtorshetl.};

END.CALL;

torus.solK) :* mantfoid_eoiid_brep (lorus.eolld'. sheli.ob^ect);

Ite.umte:»length_umt() || si_unlt ('milir. 'metre');

lte_context:■ geometrtc_representabon_context

(■context_l'. 'contexl_for_torsheir. 3) || giobal_unlt_aeeigned_conlext ([rt3_unrtsj);

eber :* elementary _brep_shape_repreeent8tion ('eber'. |toru8_soiid). tts.context);

ENO_R£ALIZATlON:

END TEST CASE;

Г

22

£.3.3.4 Критерии решения постпроцессора

EB28 — грань объекта toroidal.surface должна быть обработана и ограничена правильно.

ГОСТ Р ИСО 10303-513—2009

ЕВЗЗ — если объект edge с атрибутом orientation, имеющим значение FALSE, используется повторно, он должен быть интерпретирован правильно.

ЕВ34 — объект line должен быть правильно обрезан объектами vertlce.

ЕВ35 — все точки объекта polyline должны принадлежать объекту toroldal_eurface с допустимым отклонением менее чем 0.0000001. Точки полилинии должны быть ко планарны.

Е.3.4 Контрольный примереЬ4

В контрольном примере еЬ4 определены грани, необходимые для определения одиночного сплошного тела, полученного путем объединения двух цилиндров разных радиусов с ортогональными осями. Пиния пересечения является замкнутой трехмерной кривой, представленной полилинией. Определение оболочки обеспечивается контекстом объекта cyllnder_unlon_polyllne с использованием исходных параметров.

Е.3.4.1 Цели тестирования

Ниже перечислены цели тестирования, охватываемые данным контрольным примером:

ЕВ21 — проверка объекта elementary.aurlace с атрибутом position, представленным как объект axls2_pl8cement_3d с отсутствием атрибута axle.

ЕВ23 — проверка объекта elementary.aurlace с атрибутом poeltion. представленным как объект axls2_placement_3d с отсутствием атрибута re(_dlrectlon.

ЕВ35 — проверка объекта edge.curve с атрибутом edge_geometry. представленным как объект polyline (замкнутая трехмерная полилиния).

Е.3.4.2 Спецификация входа в препроцессор

Создается объект elementary_brep_shape_repreeentatlon. состоящий из единственного объекта manlfold_solld_brep. Объект manifold_sol(d_brep должен иметь форму двух перпендикулярных пересекающихся цилиндров. Для определения положения одного из этих цилиндров при определении объекта axl»2_placement_3d должны быть использованы параметры, заданные по умолчанию. Линия пересечения должна быть представлена полилинией. Соответствующее множество размеров определено в приведенной ниже спецификации на языке EXPRESS-I.

Е.3.4.3 Спецификация входе в постпроцессор

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

*>

TEST.CASE example_ebrep_4: WITH aic_etementary_brep:

OBJECTIVE

REALIZATION

LOCAL

eheli.otyect: cloaed.eheli:

cylxcyl.eotid: mamfold_soltd_brep:

ebsr: elementsry_brep_shape_representation ;

Its.unlta: named.unlt;

lts_context: geometrtc_representet»on_context.

ENDJ.OCAL;

CALL cylmder_unlon_polyline: - используются значения no умолчанию

IMPORT (ahell.object :* gcxcehell:):

END.CALL;

cylxcyl.aohd ;* mamfo!d_s©lid_brep<'cylxcyl_solid\

sheil.object):

its_uniia :* length_unlt(> || el_unit ('milir, ’metre’):

Ite.context:■ geometrtc_representation_context

('coniext_i'. 'context_for_cylxcyr. 3) || g!obal_unit_ass>gned_context( [lla.unltB]).

ebsr:« elementary _brep_shape_representatton ('ebsr'. (cylxcyl_sotid). its_context);

END.REALIZATION:

END TEST CASE:

Г

23

ГОСТ Р ИСО 10303-513—2009

£.3.4.4 Критерии решения постпроцессора

ЕВ21 — значения по умолчанию атрибута axis должны быть заданы правильно.

ЕВ23 — значения по умолчанию атрибута redirection должны быть заданы правильно.

ЕВ35 — все точки полилинии должны принадлежать обоим объектам cyllndrlcal.surtace с допустимым отклонением менее чем 0.000001.

£.3.5 Контрольный примереЬ5

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

£.3.5.1 Цели тестирования

Ниже перечислены цели тестирования, охватываемые данным контрольным примером.

ЕВ2 — проверка объекта elementery_brep_shape_representatlon с атрибутом context, представленным как объект geometric.context с атрибутом items, представленным множеством, состоящим более чем из одного объекте manlfold_soiid_brep.

ЕВ15 — проверка объекта face каков ъекга1аее_зиг1асе с атрибутом bounds, представленным множеством, состоящим, по меньшей мере, из двух объектов face.bound. включая один объект vertexjoop.

ЕВ26 — проверка объекта elementary.suriace как объекта conicel.surface.

ЕВ40 — проверка объекта conic как объекта ellipse.

ЕВ41 — проверка объекта conic как объекта hyperbola ЕВ42 — проверка объекта conic как объекта parabola.

£.3.5.2 Спецификация входа в препроцессор

Создается объект elementary_brep_shape_repreeentation. состоящий из двух объектов menifold_eolld_ brep. Объекты manifold_solld_brep должны иметь форму конусов, ограниченных наклонными плоскостями. Плоскости выбираются так. чтобы линии пересечения имепи форму эллипса, параболы, гиперболы и дуг окружности. Первый конус имеет вершину, образованную объектом vertex .loop, и эллиптическое основание. У второго конуса вершина образована эллиптической кривой, как и его основание. Соответствующее множество размеров определено в приведенной ниже спецификации на языке EXPRESS-I.

£.3.5.3 Спецификация входе в постпроцессор

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

*)

T£ST_CASE exampte_ebrep_5; WITH aic_elementary_brep;

REALIZATION

LOCAL

sheili. shetl2 : ctosed_shell.

conel. cone2; manrfold_sol»d_brep.

ebsr: elementary _brep_shape_representation ;

angle_u. Ien_u. angle_c_u: named_umt;

ang_m_wu: plane_angle_measure_wtlh_unit.

Its.context: geometnc_representation_context;

ENO.LOCAL:

CALL cone.shell; -• используются значения no умолчанию lMPORT(shell1 :* @vconeshetl.

shell2 :* @con4fshell;);

ENO_CALL;

conel :» mamfold_sol»d_brep ('conel'. sheili): cone2:» mamfold_eolK)_brep ('cone2\ shelt2);

angle_c_u ;* plane_angle_unit() || si.unit (. 'radian');

ang_m_wu :» piane_angle_meesure_with_unit(.Ol 7453293. angle_c_u);

angle.u :■ piane_angle_unlt() ||

converslon_besed_umt('degree'. ang_m_wu); len_u :■ length_uni(() || al_umt {'miiir, 'metre'):

its.context :* geometnc_representation_context

('context_t'. 'context_for_cones‘. 3) || global_umt_asslgned_context ((len_u. angie_u|);

24

ГОСТ Р ИСО 10303-513—2009

ebsr :* elementary .brep.shape.representatlon ('eber',(conel. cone2]. its_context); ENO.REALIZATION;

END TEST CASE:

Г

E.3.S.4 Критерии решений постпроцессора

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

EB1S — объект (асе с атрибутом face.bound. представленным как объект vertex.loop. должен быть правильно обработан.

ЕВ26 — объекты conlcal_eur(ace должны быть правильно обрезаны ограничивающими ребрами.

ЕВ40 - все точки на эллипсе должны быть расположены точно на обоих объектах conical_aurface и на объекте plane, пересекающем их.

ЕВ41 — все точки гиперболических ребер должны одновременно принадлежать объектам conlcai.eurface и пересекающему объекту plane, а объект hyperbola должен быть правильно обрезан посредством объектов vertex.polnt.

ЕВ42 — все точки параболических ребер должны одновременно принадлежать объектам conlcai.eurface и пересекающему объекту plane, а объект parabola должен быть правильно обрезан посредством объектов vertex.polnt.

Е.3.6 КонтрольныйпримереЬб

Контрольный пример ебб разработан для проверки использования объектов mapped.ltem при создании простой сборки из элементарных В-rep моделей. Он также обеспечивает проверку непротиворечивости объектов geometric.repreeentatlon.context для разных координатных пространств. Данный тест использует контекст объекта cyllnder.unlon.polyline для определения геометрии и топологии.

Е.3.6.1 Область охвата целей тестирования

Ниже перечислены цели тестирования, охватываемые данным контрольным примером:

ЕВЗ — проверка объекта elementary.brep.shape.repreeentation сатрибутом context, представленным как объект geometric, representatlon.context с атрибутом Heme, представленным как объект mapped.ltem.

ЕВ4 — проверка объекте elementary.brep.ehape.repreeentaUon сатрибутом context, представленным как объект geometric.repreeentatlon.context с двумя или более элементами, представленными как объекты manifold.eolld.brep. или mapped.ltem. или axie2.placement.3d. При этом по меньшей мере один из них должен быть объектом axle2.placement.3d

Е.3.6.2 Спецификация входа в препроцессор

Создается основной объект elementary.brep.ehape.representatlon. состоящий из объекта manlfold.eolld.brep в форме двух пересекающихся цилиндров, определенных в контрольном примере еЬ4. Затем определяется объект mapped.ltem как поступательно перемещенная и повернутая копия данного представления. После этого определяются два следующихобъекта elementary.brep.ehape.representation; один, определенный в том же контексте, состоит только из объекта mapped.ltem. а другой, определенный в другом контексте, содержит исходные объекты manifold.eolid.brep. mapped.ltem и axle2.placement.3d. Полные сведения о размерах и отображении определены в приведенной ниже спецификации на языке EXPRESS-I.

Е.3.6.3 Спецификация входе в постпроцессор

Примечания

1    8 приведенной ниже спецификации два разных объекте geometric.repreeentatlon.context созданы для геометрических определений.

2    Для определения граней и всей геометрии и топологии В-rep модели используется контекст объекта cylinder.union.polyllne с параметрами, заданными по умолчанию.

3    Объект ebert должен быть повернутой и поступательно перемещенной копией объекта eber.

4    Объект eberase должен быть эквивалентен двум копиям объекта eber. «склеенным» вместе.

*)

TEST.CASE example_ebrep_6: WITH aic.eiementary.brep; REALIZATION LOCAL

Origin: carteeian.point; poe.z. neg.y: direction .

refaxes, topaxee. baeeaxee: axis.placement_3d:

25

ГОСТ Р ИСО 10303-513—2009

shell_obJect: closed_shell. cylxcyl: manrfold_solidJ>rep.

ebsr. ebsn. ebsrass :elementary_brep_shape jepresentatlon ; grcl. grc2 : geometry jepresentation_context. iraosfot1.trans2 : mapped Jtem ; mapping 1. mapplng2 ;repreaentatlon_map ;

£NO_LOCAL.

CALL cyllnder_union_polyline ; -- используются значения no умопчанию IMPORT (shell_object :» Qcycshell; origin ;■ ©origin;

baseaxea :* @ ab; relaxes :* @ar: lopaxes:« ©at;);

ENO.CALL.

cylxcyl :■ manlfold_solld_brep (‘cylxcyl'. shell_ob|eci}:

grcl * geometric jepresentation_context('ctx1\

'contexr for cylinder union'. 3>:

grc2 ■ geometrlc_represeniatlon_context ('ctx2\

'context for rotated cylinder union', 3).

ebsr:« elementary_brep_shape_represent8tion ('ebsr*. |cyfxcyl], grci);

mapping 1 :» representation jnap (baseaxes, ebsr >; transrotl :*mappedjtem ('trensrotV.mappingl.relaxes);

(• Определить представление только с использованием transrotl *) ebsM :« elementary_brep_snape_representatlon ('ebsrV.

(transrotl]. grcl);

(• Определить представление, являющееся сборкой пересекающихся цилиндров и отображенной {перемещенной} копии.

*)

mapping2 ;* representation jnap (baseaxes. ebsr}; trans2 :* mappedjtem ('vans2'. mapping2. topaxes К

ebsrass :> elements ry_brep_shape jepresentation

('ebsrass'. (ebsn. ebsrot2, baseaxes).grc2};

£NO_R£ALIZATION:

END TEST CASE:

Г

E.3.6.4 Критерии решения постпроцессора

ЕВЗ — после обработки объект mappedjtem должен быть правильно интерпретирован, результатом является повернутая и поступательно перемещенная копия исходной В-rep модели.

ЕВ4 — объект eiementary_brep_sbape_representatlon. содержащий объект mappedjtem. 8-гер модель и объект axls2_placement_3d должны быть правильно интерпретированы, результатом является исходная В-гер модель и повернутая и поступательно перемещенная копия исходной В-rep модели, которая касается грани.

ЕВЗ и ЕВ4 — два разных объекте elementary_brep_shape_representation не должны быть пространственно связаны.

Е.3.7 Контрольный пример еЬ7

Контрольный пример еЬ7 разработан для проверки использования объектов mappedjtem совместно с объектом cartesianjransformation_operator при создании простой сборки из многогранных В-rep моделей. Проверяется использование коэффициента масштабирования. 8 данном тесте используется контекст объекта eyllnder_spbere_shell для определения геометрии и топологии.

Е.3.7.1 Цели тестирования

Ниже перечислены цели тестирования, охватываемые данным контрольным примером:

ЕВ44 — проверка объекта mappedjtem с атрибутом mappingjarget. представленным как объект carteelan_traneformatlon_operator_3d.

26

ГОСТ Р ИСО 10303-513—2009

ЕВ45 — проверке объекта carteslan_traneformatlon_operator как объекта carteslan_transformatlon_ operaior_3d с масштабом, представленным значением типа REAL, не равным 1.0.

Е.3.7.2 Спецификаций входа в препроцессор

Соэдаетсй объект eiementary_brep_shape_representation. состоящий из единственного объекта manlfold_solld_brep. В-rep модель должна иметь форму сплошного цилиндра с полусферическим основанием и плоским наклонным верхом. Центр полусферы находится а начале координат, а ось цилиндра должна располагаться вдоль оси Z. Затем данное представление используется совместно с объектами mappedjtem и cartesian jransformetlon_operator для создания в том же контексте объекта repreaentatton_context представления. состоящего из повернутой, поступательно перемещенной и масштабированной (но не с коэффициентом 1.0) копии исходного представления и исходной В-rep модели. Поступательное перемещение и значение коэффициента масштабирования выбирается так. чтобы цилиндры из двух В-rep моделей соприкасались, но не пересекались. Е.3.7.3 Спецификация входа в постпроцессор

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

TEST_CASE example_ebrep_7; WITH elements ry_brep_8ic:

REALIZATION

LOCAL

radius: length jneasure:

ongm. newortgm: cartesian_polnt;

pos_x, poa_y. poe_2. neg_z: direction ;

oldaxes: axis_placement_3d;

transform. cartesian_transform8tlon_oper8tor_3d:

shell_object: closed.shell;

cysp_soiid: mamfold_eolid_brep:

ebsr. ebsrass : elements ry_brep_shapejepresentation ;

its_umts: namedjmit;

grc1. grc2: represents tion_context:

cstrans. mappedjtem;

mappmgl ; representatlon_map:

END.LOCAL;

CALL cyiinder_sphere_shell: •• используются значения no умолчанию IMPORT (shelt_ob)ect: » @cyspsheli;

pos_x:« @posjc: ров_у:*фров_у; pos_z:« @pos_2; origin: «^origin. radius : * @rad .).

END.CALL;

cysp_soiid :■ manifohj_solid_brep fcysp.soiid'. shell_ob|ect);

its_units:»tengtn_unitO || sl.unit (‘mllir. 'metre'):

grc1« geometric jepresentabon_context ('ctxv.

'context for cysp.solld'. 3) || globai_umt_assigned_context ([its jj nits]):

grc2 * geometric jepresentauon_context fctx2'.

'context for assembly*- 3) II global_unrt_asslgned_context ((ns jjnits]);

{• Определяются axis.ptacement и cartesian jrensformation_operator для использования при отображении')

neworlgtn :■ cartesian_pomt ([1,6’radlus, 0.0.0.0|):

27

ГОСТ Р ИСО 10303-513—2009

neg_2 :■ direction ([0.0.0.0. -1.0]);

oldexes;« axis2_placemenl_3d ('oldaxes'. origin. pos_2. pos_x);

transform:» cartesian _transformation_operalor_3d (Iranefomv,

pos_x. neg_2. newongin, 0.0, pos_y);

ebsr :* elementary_brep_shape_representation ('ebsr'.

(cysp_solid, otdaxesj. grci);

mapping 1 :» representation_map (oldaxes. ebsr);

(• Объект су spire ns является 80-процентной копией исходного объекта.

повернутой вокруг оси X и смещенной вдоль этой оси *) cstrans :* mappedjtem ('cstrans', mappingi. transform );

(• Определяется представление, являющееся сборкой исходной в-гер модели и ее преобразованной копии (масштабированной, смещенной и повернутой).*)

ebsrass :* elementary_brep_shape_representation ('ebsrass'. [cysp.solld. cstransl, grc2).

END_R£AUZATlON;

END TEST CASE:

Г

E.3.7.4 Критерии решения постпроцессора

EB44 — после обработки, сплошная в-rep модель, определенная посредством объекта mapped,Item, должна быть корректно масштабирована и размешена.

ЕВ45 — после обработки объект absrese должен состоять из двух сплошных В-rep моделей цилиндрической формы с полусферическим основанием, которые касаются друг друга в плоскости х ■ 25. Однв из них является копией масштаба 4/5 другой модели, полученной после поступательного перемещения и поворота.

Е.4 Контексты, определенные для контрольных примеров элементарных В-rep моделей

Приведенные ниже контексты на языке EXPRESS-1 использованы в контрольных примерах раздела Е.З.

Е.4.1 Контекст объекта cyllnder_sphere_shell

Данный контекст описывает грани, необходимые для определения простого объекта closed.shell цилиндрической формы с полусферическим основанием, имеющим центр, расположенный в точке (orc.orc.orc), радиус rad и осевую высоту к наклонной грани Ь.

все границы определены посредством объектов edge.loop и conic.

*)

CONTEXT cytinder_sphere_ehell:

WITH aic_elementary_brep:

PARAMETER

ore    :length_measure:*0.0;

h    : length_measure :* 100.0:

rad    .length_measure:*25.0:

majrad    : length_meesure :■ rad'rt2;

origin : cartesian_point .* cartesian_pomt ('origin1, [ore.ore, ore]):

ctop : cartestan_polnt:■ cartesian_point ('clop', [ore, ore.

orc*h]};

pos_x : direction :* direction ('pos_x'. [1.0.0]); pos_y : direction :* direction ('роз_у', (0.1,0)): pos_2 : direction :* direction Cpos_2'.(0.0.1]); dslope: direction :* direction ('dslope'. (1.0. -I|): dperp : direction :■ direction ('dperp'. (1.0.1]);

at : 8xts2_placement_3d :* axls2_placement_3d ('a 1'.origin,

pos_2.poe_x);

a2 : 8xts2_placement_3d :* axis2_placement_3d ('a2'. ctop.

dperp. dslope):

28

ГОСТ Р ИСО 10303-513—2009

pi : plane :* plane (*pl‘.a2);

cyi : cyimdrlcal.surface:* cyimdrlcal.surface ('суГ. а 1. rad): sphere : spherical.surface :■ sphencal.surface ('sphere', ai. rad); arc :circle:* circle ('circ', ai. rad); elii : ellipse :* ellipse ('etir. a2. majrad. rad);

cpolnt e point

vertc

verte

:carteslan_point :* cartesian_point<'cpoint'. |(orc * rad).

ore. ore]);

: cartesian_point :*

cartesian_poinl{'epolnt'.((orc * red), ore.

(ore *h-rad)]);

: vertex_potnt :* vertex_polni (Vertc*. cpolnt);

: vertex_polnt ;* vertex_pomt ('verte*. epoint);

edgel : edge_curve :* edge.curve ('edgel'. vertc. vertc. circ. TRUE): edge2 ; edge.curve :* edge.curve ('edge2‘. verte. verte. eili. TRUE); oe1 : oriented.edge ;* onented.edge ('oev. edget. TRUE); oe2 : oriented.edge :* onented.edge foe2'. edge2. TRUE);

Юорс ; edge Joop :* edgejoop (‘loopc', |’oel']); loope . edgejoop :* edgejoop (loope'. (oe2|);

be : face_outer_bound .* face_outer_bound ('be*, loopc. FALSE); be : face_outer_bound :* face_outer_bound ('be*, loope. TRUE); beylbot; <ace_bound :* (ace_bound ('beylbot'. loopc. TRUE); bcyltop : (ace.bound :* (ace.bound ('bcyltop'. loope. FALSE);

curved Jace: tace_surface :* face_surface(*curved Jece', [beylbot.

bcyltop]. cyl, TRUE);

top Jace : face.surface .* (ace.surface ('top Jace'. [be], pi, TRUE); bottomjace: face.surface .* (ace.surface ('bottom Jace'. [be].

sphere. TRUE);

END.PARAMETER;

SCHEMA J3ATAcyl_sph_shetl_ctxt;

CONSTANT

rt2«*aqrt(2.0):

rt3**sqrt(3.0);

END.CONSTANT.

cfs * connected Jace.set (SUBOF(@tn);

cfs Jaces -> {©curved Jace. ©top Jace. ©bottomjace); SUPOF(©cyspshell):};

tri* topologicaljepresentetion_item{SUBOF(©ri):SUPOF(©cfs);):

ri * representation jlem (name -> ’cyspshell'. SUPOF(©trl);}: cyspshell ■ closed.shell (SU60F(©cfs);};

END SCHEMA OATA.

END CONTEXT;

Г

E.4.2 Контекст объекта cone.shell

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

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

Размеры результирующей оболочки должны регулироваться изменением значений расстояний dc. de. dh, dp от вершины конуса до точек пересечения с осью конуса плосхостей окружности, гиперболы, параболы соответственно.

29

ГОСТ Р ИСО 10303-513—2009

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

Все границы определены посредством объектов edge.ioop с использованием объектов line или conic или посредством объекта vertex.ioop.

*)

CONTEXT cone.shell;

WITH aic_elementary_brep;

PARAMETER

ore    : length_measure :« 0.0;

dc    : length.meaeure :■ 200.0;

de    . length.measure:« 20.0:

(’Примечание: dp и dh должны быть больше чем расстояние dc до базовой окружности. Во избежание пересечений с верхним эллипсом, должны выполняться соотношения dh> 7.47 de. и dp > 1.27 de •) dh    . length.measure :« 300.0;

dp    . Iength_meaeure :* 250.0;

emaj    ; length.measure :* de*(rt3/rt2);

emm    : length_measure :« de*(rt2/2.0):

haxis    : length_measure .* 0.5*dh*rt3/rt2;

himag    : length_measure :* dh*eqrt((rt3 • 1 .Oy&.O);

yh    : length_measure:» sqrt((rt3 -1.0)*((2.5-1.5Tt3)*dh*dh ♦

dc*dh*(3.0’rt3 - 5.0) ♦ 4.0Mc*dc*(2.G - rt3)/3.0>):

(' размещение указано для конуса, базовой окружности, эллипса, параболы и гиперболы, соответственно:

*)

origin    : cartesian_polnt :* cartesian_point(*ongin‘.[orc. ore. ore)):

ebase : certeeian_point :■ cartesian_polnt ('ebase'.

[ore. ore. orc-dc)):

ecent    : carteeien_point :■ cartesian_point('ecent'.

]orc*0.5*de, ore. orc-1.5*de)); hcent    : cartesian_polnt :» cartesian_point('hcent'.

[огетДЬЧпЗ ♦ 1.0)/8.0. ore. ore + dh’0.37S4rt3 -1.0)1): ppomi    : carteeian_point :» cartesian_polnt('ppolnt\

[(ore - 0.5*dp/rt3). ore,(ore - 0.5’dp)}); epoml    : cartesian_point :■ cartesian_polnt('epolnt\

(orc + 0.5’de*<rt3 ♦ 1.0). orc.orc-0.5*de*(3.0* rt3)J);

(* точки пересечения кривых второго порядка с плоскостью основания: ’) ppbi    :cartesian_point:> cartesian _point('ppM'.[orc +

(dc - dpyrt3. ore-(0.5*dp/n3)*eqrt(6.0’dc/dp - dp), orc-dc]}; ppb2    :carteslan_point:* cartesi8n_polnt('ppb2,.(orc + (dc -dp)/rt3.

ore ♦ (0.5*dp/rt3)’eqrt(&.0’dcMp • dp), orc-dc]): phbl    :carteslan_pomt:a cartesian _pomt('phM\

[ore + (dp-dc)*(2.0 -rt3).orc-yh. orc-dc]): phb2    :cartesian_pomt:a cartesian _point('phb2\

[ore + (dp • dc)*(2.0 • n3). ore * yh. ore - dc]);

pos_x : direction :* direction fpos_x\ [1.0.0]); pos_y : direction :■ direction ('pos_y\[0.1.0]): vec_y    : vector :* vector fvec_y\ pos_y. 1.0):

pos_2    : direction:« direction ('pos_2’. (0.0.1]);

denorm direction :* direction ('denorm'. [1.0.0.1.0]}; dhnorm : direction :■ direction ('dhnorm'.

[(rt3 *1.0). 0.-(n3-1.0)1):

dpnorm : direction :• direction fdpnorm',[rt3.0.1]);

(* плоскости эллипса, параболы, гиперболы расположены под углами 45’.

30* и 15* относительно оси конуса ’) dir_e : direction :* direction (‘dir_e*. [1.0.0. -1.0]); dir_h : direction :• direction (‘dir_h*.

НПЗ--1.0). 0. -(rt3 ♦ 1.0)]): dir_p : direction :■ direction (‘dir_p*. [1.0. -rt3J);

30

ГОСТ Р ИСО 10303-513—2009

а1

ас

ае

ah

ар

а2

pie

pic

pth

pip

cone

circ

alii

hyp

parab

impb

Imph

vertorc

varte

vertpbi

vartpb2

verthbl

varthb2

edgel

edge2

edge3

edgebi

edgeb2

edgeb3

edgeb4

061

oe2t

oe 2f

oe3t

оеЗГ

06b1t

oeblf

oob2t

oeb2f

06b3t

oeb3f

oeb4t

06b4f

loops

looppar

loophyp

: axla2_plecement_3d:« axis2_placement_3d (*a1origin.

poe_2. pos_x);

: axts2_placement_3d ;* axis2_placement_3d ('ac'. cbase. pos_2.

poa_x>:

: axia2_plac6ment_3d :* axl82_placemeni_3d fae*. scent denorm.

dir_s);

: axia2_plac6ment_3d :* axls2_placement_3d ( ah’, hcsni. dhnorm,

dirjt);

: axla2_placement_3d :* axis2_ptacementJ3d ('ap\ ppoint. dpnorm.

dir_P>:

: axla2_placement_3d :* axts2_piacement_3d fa2\ cbaae. pos_2.

poe.x);

: plane :* plane (‘pie*, ae):

: plane :* plane ('pic*, ac);

: plane ;* plane ('plh‘, ah);

: plane :» plane (‘pip*, ap):

. conical_suriace :* conlcal.aurface (’cone*, al, 0.0,30.0);

. circle :» circle (’clrc*. ac. (dc/rt3);

; ellipse:« alllpse(‘elli*. ae. ema). emin);

: hyperbola :■ hyperbola('hyp‘. ah. hex», himag);

: parabola :* parabolaCperab'. ap. 0.25'dp/rt3);

: line :■ line('linpb*. ppbl. vec_y);

: line :* line(Hnph*. phbl. vec_y);

: veriex_polnt ;* vertex_point ('vertorc'. origin);

: vertex.point;* vertex_point ('verte'. epomt):

: vertex_point ;» vertex_pomt (Vertpbi'. ppbl);

: vertex_point ;* vertex_pomt(Vertpb'. ppb2):

: vertex_point ;» vertex_pomt (Verthbl’. phbt):

: vertex_point ;* vertex_pomt(Verthb2'. phb2);

: edge_curve :* edge_curve (edgel'.verte, verte. eih. TRUE);

: edge.curve :* edge.curve (*edge2‘. vertpbi. vertpb2.

parab. TRUE);

: edge.curve :* edge.curve (*edge3'. verthbl. verthb2, hyp,TRUE); edge.curve :* edge.curve ('edgebV. vertpbi. verthbl.

clrc. TRUE);

: edge.curve :«edge_curve ('edgeb'. verthbl. verthb2.

linph, TRUE);

: edge.curve :» edge.curve ('edgeb3‘, verthb2. vertpb2.

clrc. TRUE);

: edge.curve :■ edge_curve ('edgeb4', vertpb2. vertpbi.

Ilnpb. FALSE);

: oriented.edge ;* or»ented_edge ( oe1'. edgel. TRUE);

. onented.edge :*onented_edge ('os2t'. edge2. TRUE);

: orlented.edge ;* onented.edge ('oe2f. edge2. FALSE);

. onented.edge :*onented_edge ('os3f, edge3. TRUE);

: orlented.edge ;* onented.edge ('oe3f'. edge3. FALSE); :orlented_edge :« oriented_edge (‘oeblf.edgebi. TRUE); ;oriented_edge :* onented_edge ('oeblf.edgebi. FALSE);

: orlented.edge ;« oriented.edge ('oeb2f. edgeb2. TRUE);

: oriented_edge :* onented_edge ('oeb2f. edgeb2. FALSE);

: orlented.edge ;* onented_edge ('oeb3f, edgeb3. TRUE);

: oriented_edge :» onented_edge ('oeb3f. edgeb3. FALSE);

: onented.edge ;■ onented.edge ('oeb4f. edgeb4. TRUE); ;oriented_edge ;* onented.edge ('oeb4f.edgeb4. FALSE);

: edgejoop :* edgejoop (loops'. |oe1|);

: edge_loop :* edge.ioop (looppar’. (oeb4t. oe2t)).

; edgejoop :■ edgejoop (loophyp*. (oeb2t, oe3f]):

31

ГОСТ Р ИСО 10303-513—2009

loopbaae : edgejoop :* edge joop (‘loopbaae*. [oeb4f, oeb3f.

oeb2f. oeblf]);

loopcone : edgejoop :» edge Joop (‘loopcone*. [oe2f. oeML

oe3t. oeb3l|);

apextoop : vertex_loop :* vertex_loop {'apextoop*. vertorc);

bcl : face.bound :■ face.bound ('bcV. loopcone. TRUE):

bc2 : face_bound :« face.bound ('bc2*. loope. FALSE);

bej : face_ouler_bound :* face_outer_bound (‘be_t*. loope. TRUE);

bej    . face.bound :* face J»und ('be_f. loope. FALSE):

bpar : face_outerJ>ound :« face_outer_bound (*bpar*. looppar. TRUE);

bhyp : face_outer_bound :«iace_outer_bound ('bhyp'. loophyp. TRUE);

bbase : face_ouler_bound:»face_outer_bound('bbase', loopbaae. TRUE);

bcone : face.bound :»face_bound Cbcone'. loopcone. TRUE);

vbound : <ace_bound :■ face_bound ('vbound'.apexloop. TRUE);

(• Четыре плоские грани конуса *)

curved Jace : face.surface :■ face_8urface (‘curved Jace*. [bcone.

ba_f}. cone. TRUE);

topejace ; face_surface:«face_eurface (lope Jace*. (be_l[.

pleTTRUE);

bottomcjace : (ace_8urface :* face.surfece

{’bottomcjace*. (bbeae). pic, FALSE); par Jace    : face_aurface:«

face_surface<*parjace'. [bpar]. pip. TRUE); hyp Jace    . face_surface ;■

face.aurface ('hypJace'. [bhyp|. plh. TRUE);

(• Грани конуса с эллиптическим основанием и верхним контуром ’) top Jace    : face_surface ;■ face.surface

(*top Jace*. [bej. vbound]. cone. TRUE); bottome Jace : tace.aurface :* face.aurface ('boltomeJace*.

(bej]. pie. FALSE);

END_PARAMETER;

SCHEMA DATA cone shell cut;

CONSTANT rt2 ■■ 8qrt(2.0; rt3 ■■ eqrt(3.0; END CONSTANT

r>1 * representation jtem (name •> *vconesheH’; SUPOF(@tri1););
tn 1 * topological jepresentationjtem (SUBOF(@rl1); SUPOF(@cfa1);};
cfa1 ■ connected Jace.sel {SUBOF(@tri):
cfs Jacea •> {<§! top Jace. @bottome Jace); SUPOF(gvconeahell);):
n2 * representation jtem (name •> 'conifahell'. SUPOF(@ui2);};
tri2 * topological jepreaentattonjtem (SU60F(^rl2); SUPOF(@cfa2);};
cfa2 « connected Jace.set (SUBOF(@tn2);
cfs Jacea -> (®tope Jace, ©bottomcjace. curved Jace. par Jace. hyp Jace); SUPOF(@con4fshell);};
vconeaheil ■ closed.shell {SUBOF(@cfe1););
con4fshell * cloaed.ahell {SUBOF(@cfa2);};

END.SCHEMA.DATA:

END.CONTEXT;

Г

32

ГОСТ Р ИСО 10303-513—2009

Е.4.3 Контекст объекте toroldal_segment

Данный контекст описывает грани, необходимые для определения сегмента тора, ограниченного плоскостями. Объектами edge.curve являются объекты line, clrculararcpotyllne.

Центр тора расположен в начале координат, а его центральной осью является ось 2; максимальный и минимальный радиусы тора равны 100 и 20. Ограничивающие плоскости заданы координатами z * 0.x * 0 и х » 50. Все точки полилиний расположены на поверхности тора с допустимым отклонением менее чем ЮЕ{-6).

Все границы определены посредством объектов edge Joop. Основные размеры не должны изменяться.

*)

CONTEXT toroidal_segment;

WITH alc_eiementary_brep:

PARAMETEff

ore    : length_meesure:« 0.0;

rad1    : length_measure:a 100.0;

rad2    : lengm_meesure:B 20.0;

ret    : length_measure :* 80.0:

rco    : length_measure ;• 120.0.

origin    : cartesian.point:* cartesian_point ('ongin'. [ore, ore,

orej);

p1 : caneatan_point:« cartesian point ('p1*. (50.0.62.44998.

0.0)};

pcleft : cartesian point :» cartesian point (‘pcleft'. {0.0.100.0.

0.0));

pbteft : cartesian point :* cartesian point ('pbteft'. [0.0.60.0.

0.0));

ptieft :cartesian point:*cartesian point(‘ptleft*.(0.0.120.0.

0.0J);

pos_x : direction :■ direction (’pos_x*. [t. 0.0]>; pos_y : direction :■ direction (*pos_y‘. (0.1. 0)}; pos_z : direction :■ direction <‘pos_2\ (0.0.1)); neg_x :direction ;■ direction ('neg_x‘,(-l. 0,0)); vec_y : vector;« vector (*vec_y\ pos_y. 1.0):

a1 : 8xis2_ptacement_3d :> axis2_placement_3d ('a V. ongin.

pos_z. pos_x).

a2 ; 8xts2_placement_3d :« axis2_placement_3d ('a2‘. pcleft.

neg_x. pos_y);

a3 : axts2_placement_3d :■ axis2_placement_3d ('a3-. p1.

pos_x.pos_z).

base ; plane ;• plane ('base', at); pieft plane :■ plane (рЫГ.а2); pnght : plane :« plane ('prlght'. a3);

torus . toroidal.surface «toro*dal_surtace ('torus', al. radi.

rad2);

clrcin : circle :« circle (‘circtn*. al. rci): clrcout: circle :* circle (‘circouf. a 1. rco); circleft: circle :■ circle ('clrcleft'. a2. rad2);

p2 : cartesian_polnt:■

cartesian_pomt <*p2\ [S0.0.62.633918.2.392932)); p3 : cartesian_point;»

cartesian_pomt (*p3\ |50.0.64.92632.8.609)); p4 : cartesian_point;»

cartesian_pomi (*p4\ 150.0.67.325057.11.8123625)); pS ; cartesian_point:»

carteslan_pomt Cp5\ (50.0.69.839261.14.1766914)): p6 : cartesian_polnt ;■

C8rtesian_po«nt(lp6‘. {50.0.72.479126.16.03916}); p7 : cartesian_polnt ;■

csrtesian_poml (Tp7‘. {50.0. 75.25605.17.518988]);

33

ГОСТ Р ИСО 10303-513—2009

р8 :certesian_point:>

cartesian_polnt (‘pa*. (50 0.78.182821.16.660529}). р9 :certesian_point:>

cartesian_polnt ('p9'. (50 0.81.27384.19.469096)); plO : cartesian_polnt :■

carteslan_polnt (‘p10'. (50.0.84.5453828.19.920975]); pi 1 :cartesian_polnt:>

cartes ian_polnt('p11 \ (50.0.88.0159173.19.9623578|); pi 2 :cartesian_polnt:>

cartes ian_polnt ('р12'. (50.0.91.706467.19.498351]); pi 3 :cartesian_polnt:>

cartes ian_polnt('p13\ (50.0.95.6411789.18.343994]); pi 4 :cartesian_point:>

ca rtes ian_poln t (‘p 14'. (50.0.99 8476928,16.24428)); pis :cartesian_point:>

cartesian_polnt Cp15'. |50.0.104.3580503.12.3673625]); pi 6 : cartesian_pomt :»

cartesian_polnt ('p16\ (50.0.107.225346.8.046179]); pi 7 :cartesian_pomt:«

ca rtes lan_poin t ('p 17'. |50.0.109.008344.1.692583)); pi 8 :cartesian_pomt:*

cartesian_polnt(‘p 18'. |50.0.109.0871212.0.0]);

poly : polyline;« polyhne('poty‘. (p1, p2. p3.

p4.pS.p6.p7.p8.p9.

p10. p11.p12. p13.p14.p15. р1б. p17.pl8J);

11    : line :* line (T1\p1.vec_y);

12    . line :» line (*I2\ pcleft, vec_y);

v1 ; vertex_point :* vertex_pomt (Vr. p1); v2 : vertex_point :« vertex.point (‘v2't р18): v3 : vertex_point:* vertex_point ('v3'. pbleft); v4 : vertex_point :« venex_point ('v4'. ptleft);

edgebl; edge.curve:» edge.cuive ('edgebl'. vl. v2.11. TRUE); edgetl ; edge_curve ;* edge.curve ('edgetl'. vl. v2. poly. TRUE); edgeb2: edge.curve:» edge.curve ('edgeb2‘. vl. v3. ttrcln. TRUE); edgeb3. edge.curve :• edge.curve <‘edgeb3*. v2. v4. circouL TRUE); edgeb4 . edge.curve :* edge.curve ('edgeb4’. v3. v4.12. TRUE); edget2 ; edge.curve :B edge.curve ('edgei2'. v3. v4. clrcleft. TRUE); oebit : onented.edge :* orienied.edge ('oebU'. edgebl. TRUE); oebif : onented_edge .» orlented.edge ('oeblf. edgebl. FALSE); oeb2t : onented.edge :* orlemed.edge ('oeb2T. edgeb2. TRUE); oeb2f : onented.edge :■ orlented.edge ('оеЬ2Г. edgeb2, FALSE); oeb3t : oriented_edge :* orlemed.edge ('оеЬЗТ. edgeb3. TRUE); oeb3f : onented.edge :■ orlented.edge ('oeb3f. edgeb3. FALSE); oeb4t : onented_edge :* orlemed.edge ('оеЬ41‘. edgeb4. TRUE); oeb4f : onented_edge :■ orlented.edge ('oeb4f. edgeb4. FALSE); oetn ; oriented.edge :* onented_edge ('oellf.edgetl. TRUE); oetU : onented.edge :■ onented_edge ('oeil t. edgetl. FALSE); oet2t ; oriented.edge :* onented_edge ('oet2f,edget2. TRUE); oet2< : onented.edge :■ onented.edge ('oet2f. edget2. FALSE);

loopb : edgejoop :* edgejoop ('loopb'. |oeb4t. oeb3f. oebU.

oeb2t|);

loopt . edgejoop :■ edgejoop (toopf. (oeb2f. oeltt. oeb3t.

oet2f]);

looplefl : edgejoop ;■ edgejoop (loopleft'. [oeb4t. oet2t|); loopright: edge.ioop ;* edgejoop(‘loopnghf.(oebit,oellf));

bbase. face_outer_bound ;■ face_outer_bound ('bbase'. loopb. TRUE); btop : fece_outer_bound :■1ace_outer_bound ('btop‘. loopt. TRUE);

34

ГОСТ Р ИСО 10303-513—2009

bieft : face_outer_bound :■ face_outer_bound (‘bteft'. loopleft,

TRUE);

8right :face outer bound:* face outer bound fbnght*. loopnght.

TRUE);

curved_face: face.aurface :* face.aurface ('curved_face\ [btop],

torus, TRUE);

base.face : face_surface ;*

face.aurface ('baae.face'. [bbaae]. base, FALSE): left_face face.surfece :■

face.aurface ('left_face\ [bieft]. pieft. TRUE); nght_face :face_aurface:*

face.aurface ('nght_face\ [bright], pnght, TRUE); ENO.PARAMETER;

SCHEMA_OATA tor_ahell_ct*t.

rl * repreaentettonjlem (name -> “toraheir ; SUPOF(@lrl);};

tri ■ topological_repreaentatlon_item [SUBOF(@n); SUPOF(@cfs);};

cfa * connected_face_aet (SUBOF(@trl);

cfa.facea -» (@curved_face. (§baae_face. @left_face. @right_face): SUPOF(@torshell):);

toraheil * cloaed.ahell (SUBOF(@cfs););

END SCHEMA DATA.

END CONTEXT;

Г

E.4.4 Контекст объекта cyllnder_union_polyiine

Двнный контекст описывает грвни. необходимые для определения граней объединения двух цилиндров рваных радиусов

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

Все границы определены посредством объектов edgejoop. Основные размеры не должны изменяться.

*)

CONTEXT cylinder_unton_polyllne;

WITH alc_eiementary_brep;

PARAMETEff ore : length_meaaure :« 0.0; rad1: length_meaaure :* 50.0; rad2: length_meaaure :* 20.0:

11    : length_meaaure :* 80.0;

12    : length_meeaure :■ -80.0;

ongm . carteslan_point:« carteaian_point (’origin*,[ore. ore. ore)); ptop : cartesian_polnt :* carteaian_point(‘ptop'. (ore. ore. 11]); pbaae: carteaian_polnt :■ caneaian_pomt ('pbaee'. |orc. ore, 12]); pnght : cartesian_pomt :* cartesian_polnt (‘pnghr. (ore, II. ore]); pte : carteaian_polnt :* cartesian_point ('pte'. (radl. ore. 11]); pbe . cart63tan_polnt :« carteaian_point(‘pbe'. (radl. ore. I2}): pre : carteaian_pomt :* cartesian_point ('pre'. |rad2 . И. ore]);

pos_x : direction :* direction ('poa.x'. (1.0.0]); pos_y : direction :* direction (‘pos_y\ [0.1.0)). pos_2 : direction :* direction ('роз_г‘. (0.0.1]);

35

ГОСТ Р ИСО 10303-513—2009

а1 : axts2_placement_3d :* axis2_placement_3d (*а1*. origin. роз_2.

роз.х);

a2 : axrs2_placement_3d :« axis2_placement_3d ('a2‘. origin. роз_у.

pos.x};

at : exis2_placement_3d :■ axls2_placement_3d ('at', ptop. ?. ?); ab : axls2_p!acement_3d :* axis2.placement.3d ('ab'. phase. ?, ?); ar : axis2_placement_3d ;* axis2_placement_3d ('ar'. prighu

poe_y,pos.x);

base : plane ;« plane ('base'. ab); top . plane :a plane (top*, et); ptnght: plana :■ plana (‘plnght*. ar):

cyli :cyiindrical_surfece :>cy1lndrical_surfece fcylt*. el. radl); cyl2 : cyllndrical.surface:« cyllndrical.surfece ('cyl2'. a2. rad2);

circtop : circle :■ circle ('circtop'. at. rad 1); circbaae : circle :■ circle ('clrcbase'. ab. radl): clrcnght :circle ;* circle (‘clrcrlghf.ar. rad2):

p1    : carteeian_polnt :■

carte8ian_point('p1'. (0.0. 50.0.20.0)); p2 :cartesian_polnt :■

cartesian _poinl('p2\ (3.4729636.49.8792394.19.6961551)); p3 : carteeian_point :■

саПе81вп_ро1п1{'рЗ\ (6.8404029.49.529879.18.793852)); p4    : carteeian_polnt :■

carte3ian_point{*p4\ (10.0,48.9897949.17.3205081)); p5 : carte8ian_point :■

carte3ian_point{'p5\ (12.8557522.48.31904.15.320869)); p6 : carte8ian_point :■

certesian_polnt{'p6'. [15.3208889.47.5948565.12.8557522)): p7 : certesien_point :*

cart6Sian_poinl ('p7'. [17.3205081.46.904158.10.0]}; p6 : cartesien_point :*

cart6Sian_point ('p8'. (18.7938524.46.3334772.6.84040287)); p9 ; cartesian_pomt:»

cartesian.point Cp9'. (19.6961551.45.95717.3.4729635)); p10    ; carteslan.pomt ;■

carlesian_point ('рЮ*. |20.0.4S.8257569.0.0)}; p 11 :carte8lan_point :■

carle8ian_polntrpir. (19.6961551.45.95717.-3.4729635)). p12    : carteslan.pomt ;■

cart68ian_pomt ('pl2‘. (18.7938S24.46.3334772. -6.84040267]). р13    : cartesian_pomt :■

cartesian_poinl ('р1Э*. (17.3205061.46.904158. -10.0)): p14    : carteslan.pomt :a

cartesian_poinl ('p14*. (15.3208869.47.5946565. -12.8557522)); p15 carteslan.pomt :a

cartesian_poinl ('p15*. (12.8557522.48.31904.-15.320869)). p16 carteslan.pomt:»

cartesian_poinl |'p16*. |10.0.48.9897949.-17.3205081)); p17 : cartesian _po»nt :■

cartesian .point {'p17*. (6.8404029.49.529879. -18.793852]). p18 : cartesian _po»nt :■

cartesianjsomi ('p18*. (3.4729636.49.8792394.-19.6961551)}; p19 ; carteslan.pomt :■

cartesian.polnt Cp19‘. (0.0.50.0. -20.0)); p20 : cartesian .point ;■

cartesien_point ('p20\ (-3.4729636.49.8792394. -19.6961551)); p2l : carteslan.pomt;«

cartesTanjjoint<‘р2Г. (-6.8404029.49.529679.-18.793852)): p22 : carteslan.pomt :>

cartesTan_point {'p22*. (-10.0.48.9897949. -17.3205061();

36

ГОСТ Р ИСО 10303-513—2009

р23 : cartesian.polnt :■

cartesian.polnt ('р23'. (-12.8557522.48.31904. -15.320889)); р24 : cartesian.polnt :■

cartesian.polnt (р24\ 1-15.3208889.47.S948565. -12.8557522)). р25 : cartesian.polnt :■

carteslan_pointCp25\ [-17.3205081.46.904158.-10.0)): р26 cartesian.polnt:»

cartesian.polnt (‘р26‘. [-18.7938524.46.3334772. -6.84040287]); p27 cartesian.polnt:»

carteslan_pomt (*p27\ [-19.6961551.45.95717.-3.4729635)); p28 : cartesian.polnt :■

cartesian_point fp28'. [-20.0.45.8257569.0.0)); p29 cartesian.polnt:»

carteslan.pomt (p29\ (-19.6961551.45.95717.3.4729635]): p30 cartesian.polnt:»

carte sian.point (*p30\ [-18.7938524.46.3334772.6.84040287]); р31 : cartesian.polnt :»

canealen_point(*p31'. [-17.3205081.46.904158.10.0]); p32 : cartesian.polnt:»

carteslan_pomt ('p32‘. [-15.3208889.47.5948565.12.8557522]); p33 : cartesian.polnt :*

cartesian.polnt (*p33\ [-12.8557522.48.31904.15.320889)); p34 : cartesian.polnt :»

cartesian.polnt fp34\ [-10.0.48.9897949.17.3205081]); p35 : cartesian.polnt:»

carte sian.point ('p35'. [-6.8404029.49.529879.18.793852]); p36 cartesian.polnt:»

cartesian.polnt fp36\ [-3.4729636.49.8792394.19.6961551|):

poly : polyline;» polyline (‘poly*. [p1. p2. рЗ. p4. p5. p6.

p7.p8.p9.p10.p11. pl2.p13.p14. pIS.р1б.p17. p18. p19.p20. p21. p22.p23.p24. p25.p26.p27. p28. p29. рЗО. р31. p32. p33. p34. p35. p36. p1));

v1 ; vertex.polnt :■ vertex.polnt Cvl\ p1); v2 : vertex_point:» vertex_pomt (*v2', pie); v3 ; vertex.polnt:» vertex_point('v3'. pbe); v4 : vertex.polnt :• vertex.polnt (>/4'. pre):

edgemO : edge.curve ;« edge.curve ('edgemO'. v1. v1. poly. TRUE); edgeM . edge.curve :» edge.curve fedgetl'. v2. v2.circtop. TRUE); edgeb2 : edge.curve :• edge.curve ('edgeb2'. v3. v3. clrcbase. TRUE): edger3 : edge.curve :» edge_curve fedger3‘. v4. v4. circrighL TRUE);

oemOt : onented.edge :* onented_edge foemOr. edgemO. TRUE); oemOf : onented.edge :* onented.edge (‘oemOf, edgemO. FALSE); oetlt :onented.edge:» onented.edge('oetlf. edged. TRUE); oetlf : onented.edge :« orlented.edge ('oetlf. edged. FALSE); oeb2t . orlented.edge :» onented.edge foeb2r. edgeb2. TRUE): oeb2f . orlented.edge :* onented.edge ('oeb2f. edgeb2. FALSE): oer3t : orlented.edge :» onented.edge ('oer3t‘. edger3, TRUE); oer3f : orlented.edge :» onented.edge ('оегЗГ. edger3. FALSE):

loopb . edge .loop :■ edge.loop (toopb*. [oeb2f]): loopt : edge.loop :■ edge.loop floopr.(oetlt)); loopmldt : edge.loop :* edge.loop ('loopmidf. (oemOt)). looprt : edge.loop :■ edge.loop Clooprf. (oer3t)): loopbt . edge.loop :• edge.loop ('loopbr. [oeb2t]): looptl : edge.loop :* edge.loop (looptf. [oetlf]): loopmldt : edge.loop :* edge.loop flooprmdf. [oemOf]). looprt : edge.loop :■ edge.loop {'looprf. [oer3f]):

37

ГОСТ Р ИСО 10303-513—2009

bbase : face_outer_bound :* face_outer_bound Cbbase'. loopb. TRUE); btop ; face_outer_bound :■ face_outer_bound (*btop\ loopt. TRUE); bright : face_outer_bound :* face_outer_bound ('bright', tooprt, TRUE); bmidt : face.bound:«face.bound (‘bmidf. loopmidt. TRUE); bmidf : face_bound :* face_bound ('bmldf, loopmidt. TRUE); bey Hop: face_bound :» face.bound ('bcyKop'.looptf. TRUE); bcylb :taco_bound:»face_bound ('bcy1b‘. loopbt. TRUE). bcylm : face.bound :■ face.bound ('bcylm*. loopmidt. TRUE); bcy2m : face.bound :■ tace.bound ('bcy2m', loopmidt. TRUE); bcy2r : face.bound :* face.bound (’bcy2r*. looprf. TRUE);

cyl_facel : face_surface :* face.surface ('cyi_faca1'.

[beyHop. bcylm, bcyl b). cyM. TRUE); cyl_f8ce2 : face.surface :» face.surface <'cyi_face2'.

(bcy2m, bcy2r]. cyl2. TRUE);

baee_tace; lace_surface :»

face_surface ('base.face'. [bbase], base. FALSE); top.face : face.aurface ;■

face_surlace {'top_face', top_face'. (btop). top. TRUE); rtght_face ;<ace_sur<ace:»

face_surface (‘rlght.face'. [bright], plright. TRUE); END_PARAMETER;

SCHEMA_DATA cyl_un_poly_ctxt;

ncx ■ representatlonjtem {name -> 'cxcsheil': SUPOF(@trlcx););

tncx* topological.rapreseniationjtem (SUBOF(@ncx): SUPOF(@cfecx);}:

ctscx * conneeted_face_set (SUBOF(@tricx);

cfs.taces •> (@cyi_facei. @cyl_face2. @base_<ace. @iop_face.

@nght_tace); SUPOF(@csxahell);}:

cxcsheil* closed_shell(SU60F(@c<scx):};

END_SCHEMA_OATA;

END.CONTEXT;

Г

38

Приложение ДА

(справочное)

ГОСТ Р ИСО 10303-513—2009

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

Таблица ДА.1

Обозначение ссылочного между народ ног о стандарта

Степень

соответствия

Обозначение и мамыеиовпние соответствующего национального стандарта

ИСО/МЭК 8624-1:1995

ют

ГОСТ Р ИСО/МЭК 8824-1—2001 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации

ИСО 10303-1:1994

ют

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

ИСО 10303-11:1994

ют

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

ИСО/ТО 10303-12:1997

ют

ГОСТ Р ИСОЯО 10303-12—2000 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 12. Методы описания. Справочное руководство по языку EXPRESS-I

ИСО 10303-41:1994

ют

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

ИСО 10303-42:1994

«

ИСО 10303-43:1994

ют

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

ИСО 10303-202:1996

«

ИСО 10303-514: 1999

ют

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

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

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

• IDT — идентичные стандарты.

39

ГОСТ Р ИСО 10303-513—2009

УДК 656.072:681.3:006.354    ОКС 25.040.40    П87    ОКСТУ 4002

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

40

Редактор в.Н. Колысоа Технический редактор Н.С. Гришамоев Корректор 8.Г. Гришунина Компьютерная верстка И.А. Налейкиной

Сдано а набор 04.OS.20tO. Подписано а печать 04.10.2010. Формат 60 » 84 бумага офсетная. Гарнитура Ариал. Печать офсетная Уел. печ. п. 5.12. Уч.-иад. л. 4.90. Тираж 95 экэ Зак. 780.

ФГУП «СТАНДАРТИНФОРМ». 123995 Москва. Гранатный пер.. 4 <vww.90ebnfo.ru    <nfo@ postin lorn

Набрано ао ФГУП «СТАНДАРТИНФОРМ* на ПЭВМ.

Отпечатано в филиале ФГУП «СТАНДАРТИНФОРМ» — тип. «Московский печатник». 105062 Москва. Лялин пер.. 6.