ГОСТ Р ИСО 10303-520—2007
NOT (check_associative_shape_aspects(sdr))
)) = 0)
))=о;
END_ENTITY;
(*
Формальные утверждения
WR1 — объект rclating shapc aspoct должен определять изделие.
WR2 — объект related_shape_aspect недолжен определять изделие.
WR3 — однимизэлементовобъектаshape_representationдляобъекта
shape_aspect_associativityдолжна бытьбазовая криваядляобъектов leader_curve. projection_curve
или fill_area_boundary.
WR4 — объект shape_representation для объекта shape_aspect_associativity должен содер
жатьдва элемента. Одним из элементовдолженбытьэлементобъекта shape_reprosentation. который
отображается наобъектdraughting_model. Объект draughting_model долженлибо содержать вкачес
тве элемента направленную линию, проекционную линию или закрашенную область, либо проециро
ватьсянаобъект presentation_viow. элементом которогоявляютсянаправленнаялиния, проекционная
линия или закрашенная область.
4.3 Определения функций схемы aic_associative_draughting_elements
4.3.1 Функция check_associative_shape_aspects
Функция check_associative_shape_aspects проверяет наличие в объекте used_representation
объекта shape_definition_representation двухэлементов, одним изкоторыхявляется элемент объекта
shapo_representation. которыйотображается на объектdraughting_model. Объектdraughting_model
долженлибо содержатьв качествеэлементанаправленнуюлинию, проекционнуюлинию или закрашен
нуюобласть, либо проецироваться на объектpresentation_view. элементом которогоявляютсянаправ
ленная линия, проекционная линия или закрашенная область. Функция возвращает значение TRUE
(истина), если элементы объекта usod_representation соответствуют этому требованию. Функция воз
вращает значение FALSE (ложь), если элементы не соответствуютэтому требованию.
EXPRESS-споиификация
FUNCTION check_associative_shape_aspects
(sdr:shape_definition_representation): BOOLEAN:
LOCAL
sr1.sr2:SETOF representat»on;
dm. pv: SET OF representation;
END_LOCAL,
- Проверка.содержитли представление толькодва элемента
IF (SIZEOF (sdr.used_representation.items) < > 2) THEN
RETURN (FALSE);
ENDJF;
- Поискпредставлений, в которых используется каждый элемент
sr1 := using_representations (sdr.used_representation.items [1]);
sr2 := using_representations (sdr.used_representation.items [2]);
- Поиск представлений, в которыхэлемент 1отображается
REPEATi ;= 1ТО HIINDEX(sr1);
dm := representations_mapped_into(sr1[i]);
REPEATj := 1TO HIINDEX(dm):
IF(’AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.DRAUGHTING_MODEL’ IN TYPEOF(dmQ]))
THEN
IF (dm[j] INsr2) THEN RETURN (TRUE):
ENDJF;
- Поиск видов, на которыеотображена модельчертежа
pv := representations_mappedJnto(dm[j));
7