Статус документа
Статус документа

ГОСТ Р ИСО 13584-31-2010 Системы промышленной автоматизации и интеграция. Библиотека деталей. Часть 31. Ресурсы реализации. Интерфейс геометрического программирования

     6.1 Элемент геометрического представления


Функции интерфейса создают элементы представления либо в TDB, либо в базе данных CAD.

Существует три вида элементов представления:

- элементы геометрического представления: геометрические сущности или сущности комментариев, используемые для описания формы, созданной с помощью интерфейса;

- стили: сущности, используемые для описания характеристик визуализации элементов геометрического представления;

- структурированные сущности: используются для структурирования элементов геометрического представления либо в TDB, либо в базе данных CAD.

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

Graphical element - графический элемент; mathematical - математические представления; point - точка; curves - кривые; fill_area - заполненная область; surface - поверхность; geometric solid - геометрическое тело; cartesian_point - декартова точка; annotation_fill_area - заполненная область комментариев; api_planar_surface - плоская поверхность интерфейса прикладного программирования; fill_area_style_hatching - штриховка заполненной области; basic - базовый; conic_arc - коническая дуга; general - основной; solid model - твердотельная модель; half_space_solid - тело в полупространстве; api_line - линия интерфейса прикладного программирования; api_elliptical_arc - дуга эллипса интерфейса прикладного программирования; polyline - полилиния; CSG - конструктивная блочная геометрия; sweep - тело, построенное очерчиванием контура; api_circular_arc - дуга окружности интерфейса прикладного программирования; api_hyperbolic_arc - дуга гиперболы интерфейса прикладного программирования; api_contour - контур интерфейса прикладного программирования; primitive - примитив; boolean - булев; extruded_area_solid - тело, полученное вытягиванием; api_parabolic_arc - дуга параболы интерфейса прикладного программирования; sphere - сфера; boolean_result - булев результат; revolved_area_solid - тело, полученное вращением; right_circular_cone - прямой круговой конус; hidden line involvement in 2D - включение невидимых линий в 2D-вид; direction - направление; right_circular_cylinder - прямой круговой цилиндр; axis1_placement - размещение оси 1; torus - тор; axis2_placement (LCS: local coordinate system) - размещение оси 2 (локальная координатная система); block - блок; right_angular_wedge - прямой клин

Рисунок 2 - Элементы геометрического представления, определяемые в интерфейсе


Настоящая структура используется как для описания стилей различных сущностей, так и для описания диапазонов значений некоторых функций интерфейса.

Реализация элементов геометрического представления внутри TDB или внутри CAD не является стандартной. Тем не менее модель указанной реализации установлена в настоящем стандарте для описания геометрического поведения каждой сущности в процессе манипуляции с ней. Настоящая модель определена с помощью абстрактной модели данных на языке EXPRESS. Данная абстрактная модель схемы api_abstract_schema использует подмножество групповых ресурсов, определенных в ИСО 10303 (части 41, 42, 43 и 46), содержащих описание данных модели продукта. Указанные ресурсы называются групповыми ресурсами ИСО 10303. Настоящая абстрактная модель данных не обязательна для применения в TDB или CAD.

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

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

Типы и сущности схемы api_abstract_schema, определенные в групповом ресурсе, удовлетворяющем требованиям ИСО 10303, сохраняют свои имена, установленные указанным стандартом, даже если в их определении содержатся некоторые дополнительные ограничения допустимых подтипов. Указанные ограничения проверяются интерфейсом. Если они удовлетворяются, то созданные сущности должны соответствовать определению, данному ИСО 10303. Дополнительные правила типа "Где?" (WHERE RULES) (выражающие специфические ограничения схемы api_abstract_schema) идентифицируются именем с приставкой "api_".

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

Таким образом, некоторые сущности получаются путем обобщения сущностей, определенных в групповых ресурсах ИСО 10303, путем добавления новых атрибутов. Указанные сущности используются главным образом для определения структур и их визуализации. Если целевая CAD представляет собой архив (соответствующий протоколу приложений, удовлетворяющему требованиям ИСО 10303), то интерфейс должен гарантировать отображение этих сущностей на ресурс, доступный внутри указанного протокола приложений. Для отображения дается текстовое описание в определении сущности, работающей в интерфейсе прикладного программирования.

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

В интегрированных ресурсах комплекса стандартов ИСО 10303 некоторые групповые ресурсы явно ссылаются на другие групповые ресурсы, которые не активизируются и не используются для ссылок схемой api_abstract_schema. Их экземпляр не может появиться в совокупности, удовлетворяющей требованиям схемы api_abstract_schema. На эти ресурсы производятся ссылки из соответствующей схемы (представленной на языке EXPRESS) интегрированного ресурса ИСО 10303. Это необходимо для сохранения структуры данных групповых ресурсов [особенно существующих правил типа "Где?" (WHERE RULES)] при условии сохранения корректности используемой схемы. На указанные сущности ссылаются в соответствии с правилами типа "Где?" (WHERE RULES), дублированными из групповых ресурсов ИСО 10303, но не из сущностей, принадлежащих схеме api_abstract_schema. Таким образом, данная ссылка является только формальной.

Сущности, созданные интерфейсом, не могут быть вырожденными. Понятие вырождения не должно зависеть от какой-либо реализации интерфейса. В настоящем стандарте ограничения определены для каждой сущности, создаваемой интерфейсом. Сущность, не удовлетворяющую этим ограничениям, называют вырожденной. Если функция пытается создать вырожденную сущность, то возникает ошибка. Такая сущность не должна быть создана, формирование сообщения об ошибке обязательно.

Вырождение сущности определяется путем ссылки на абсолютное минимально допустимое значение EPS, выраженное через (текущую) единицу длины view_length_unit и масштабный фактор view_scale_factor.

.      

Если некоторая реализация интерфейса не может создавать сущности с характерным размером EPS для заданной единицы длины view_length_unit с помощью прикладного программирования, то при осуществлении функции set_OVC_length_unit, запущеннной LMS, должна возникать ошибка.

Константа ZERO_value определяет действительное значение, идентифицирующее нуль с помощью интерфейса на любой стадии его реализации. Если расстояние между двумя точками меньше величины ZERO_value, то эти две точки считаются совпадающими в данном интерфейсе.

Например, если расстояние между двумя точками composite_curve_segment, принадлежащими одной комбинированной кривой composite_curve, меньше ZERO_value, то интерфейс должен обеспечивать непрерывность данной комбинированной кривой composite_curve вне зависимости от требуемой точности целевой CAD. Величина ZERO_value выражается через (текущую) единицу длины view_length_unit и масштабный фактор view_scale_factor.

.

Примечание - Определение этих двух значений указывает на нецелесообразность точных действительных вычислений, результаты которых могут быть неоднозначными. Полученное решение, часто используемое на практике, состоит в определении диапазона [ZERO_value, EPS] запрещенных действительных значений.