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

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

     6.1.15 Определения сущностей схемы API_ABSTRACT_SCHEMA: заполненные области


Настоящий подраздел объявляет групповые ресурсы сущностей заполненной области, определенные стандартом ИСО 10303-46 и являющиеся частью схемы api_abstract_schema. Заполненные области моделируются посредством сущности заполненных областей комментариев annotation_fill_area. В контексте схемы api_abstract_schema данная сущность допустима только для 2D-видов, то есть если интерфейс открыт с уровнем геометрической мощности geometrical_power_level, равным 1. Сущность annotation_fill_area представляет собой плоскую многосвязную фигуру, внешние и внутренние границы которой являются контурами api_contour интерфейса прикладного программирования. Максимальное число внутренних границ, допустимое заданной реализацией интерфейса, должно быть не меньше величины, определенной в разделе 9 настоящего стандарта. Все контуры должны лежать в одной плоскости и не должны пересекаться. Все контуры внутренних границ заполненной области должны лежать внутри внешнего контура границ и не должны пересекаться. В контексте схемы api_abstract_schema и annotation_fill_area не содержат комментариев. Они играют две вспомогательные роли:

1) область может быть заштрихована. При этом штриховка определяется сущностью annotation_fill_area_occurrence, задающей стиль штриховки fill_area_style_hatching элемента представления annotation_fill_area;

2) область может быть просто закрашена. Область имеет фоновый цвет, который затеняет прочие сущности. При этом глобальные значения записей таблицы статуса интерфейса равны: "оn" - для записи hidden_line, "true" -для записи hidden_line_involved.

6.1.15.1 Сущность annotation_fill_area

Сущность annotation_fill_area задает множество замкнутых кривых со штриховкой, затенением, закрашиванием или клеточным заполнением. Данная сущность задается границами, представленными непересекающимися и несамопересекающимися замкнутыми кривыми curve. Указанные границы задают плоские области, заполненные в соответствии со стилем annotation_fill_area. Правила заполнения области:

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

Примечание 1 - См. рисунок 9 а);


- кривая (кривая 2 на рисунке) окружает незаполненную область, если она окружена другой кривой (кривая 1 на рисунке), заполненной изнутри.

Примечание 2 - См. рисунок 9 б);


- если кривая 3 (кривая 3 на рисунке 9 а) размещается внутри кривой 2, то данная кривая окружает заполненную область.

Примечание 3 - См. рисунок 9 в);


- для каждой дополнительной кривой используется аналогичная процедура.


Filled - заполненная область; curve - кривая; unfilled - незаполненная область

Рисунок 9 - Заполнение области сущностью annotation_fiIl_aгеа


Спецификация на языке EXPRESS:

*)

ENTITY annotation_fill_area

SUBTYPE OF (geometric_representation_item);

boundaries : SET [1:?] OF curve;

WHERE

api_WR1: SIZEOF (QUERY ( temp <* SELF.boundaries |

'API_ABSTRACT_SCHEMA.API_CONTOUR' IN TYPEOF (SELF) )

) = SIZEOF (SELF.boundaries) ;

END_ENTITY;

(*

Определение атрибута:

boundaries: множество кривых curve, определяющих границы заполненной области.