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

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

     6.1.14 Определения сущностей схемы API_ABSTRACT_SCHEMA: сущности кривых


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

6.1.14.1 Сущность polyline

Сущность polyline создает ограниченную кривую bounded_curve, состоящую из n-1 линейных сегментов, определенных n точками Р, Р,..., Р.

При этом i-й сегмент кривой параметризуется следующим образом:

, для ,


где - параметрический диапазон целочисленного параметра .

Примечание 1 - Если сущность polyline не существует в CAD, то она должна моделироваться посредством соединения линий. Максимальное количество узлов полилинии, допустимое в данной реализации интерфейса, не меньше величины, установленной в разделе 9.

Примечание 2 - В контексте схемы api_abstract_schema длина каждого линейного сегмента не должна быть меньше EPS или больше МАХ.


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

*)

ENTITY polyline

SUBTYPE OF (bounded curve) ;

points : LIST [2:?] OF cartesian_point;

END_ENTITY;

(*

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

points: узлы, задающие полилинии.

Дополнительный комментарий:

api_IP1: длина каждого линейного сегмента не должна быть меньше EPS или больше МАХ.

6.1.14.2 Сущность api_contour

Сущность api_contour задает несамопересекающуюся ориентированную плоскую замкнутую комбинированную кривую composite_curve, построенную интерфейсом из базовых сущностей, дуг конических кривых и/или полилиний. Контур api_contour разрезает плоскость на два подмножества. Ограниченное подмножество является внутренним. Интерфейс должен гарантировать замкнутость контура. При этом сущности, получающиеся в результате геометрического преобразования контура с помощью интерфейса, остаются замкнутыми.

Сущность api_contour определена прикладной программой как неупорядоченный перечень сущностей кривых. Любые базовые сущности (линии api_line, дуги окружности api_circular_arc), конические дуги и сущности polyline могут быть использованы для определения контура api_contour в интерфейсе прикладного программирования при условии:

1) для любой крайней точки одной сущности существует только одна крайняя точка другой сущности в окрестности нулевого радиуса ZERO_vaiue;

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

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

Если оба условия выполнены, то контур api_contour вычисляется интерфейсом. Данный процесс выполняется в два этапа: 1) моделирование некоторых сущностей; 2) результирующая сущность корректируется, чтобы гарантировать замыкание контура api_contour.

1. Контуры api_contour определяются для построения заполненных областей комментариев annotation_fill_area, плоских поверхностей api_planar_surface и твердых тел solid bodies. Таким образом, некоторые сущности не могут быть использованы для представлений контура (например, когда они не поддерживаются CAD). Только сущности базовых кривых (например, вычленения прямых api_line, дуги окружностей api_circular_arc) допускаются любым интерфейсом для представления контура. Если какие-либо сущности кривых, используемые функциями генерации контура, не допускаются интерфейсом для представления контура, то указанные сущности моделируются особой установленной процедурой.