Для независимой реализации в схемах прикладных протоколов, в которых используется данная ПИК, предназначены следующие объекты:
- annotation_curve_occurrence;
- annotation_fill_area_occurrence;
- annotation_occurrence_associativity;
- annotation_symbol_occurrence;
- dimension_text_associativity;
- draughting_callout;
- draughting_model;
- leader_curve;
- projection_curve;
- shape_aspect_associativity;
- shape_definition_representation;
- shape_dimension_representation.
4.2.1 Объект annotation_occurrence_associativity
Объект annotation_occurrence_associativity является подтипом объекта annotation_occurrence_relationship. Он связывает элемент пояснения с направленной или проекционной линией, которая визуально привязывает информацию на чертеже к элементу или закрашенной области, граница которой определяется элементом.
EXPRESS-спецификация
*)
ENTITY annotation_occurrence_associativity
SUBTYPE OF (annotation_occurrence_relationship);
WHERE
WR1: SIZEOF (TYPEOF (SELF.related_annotation_occurrence)*
['AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.ANNOTATION_FILL_AREA_OCCURRENCE',
'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.PROJECTION_CURVE',
'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.LEADER_CURVE']) = 1;
END_ENTITY;
(*
Формальное утверждение
WR1 - объект related_annotation_occurrence должен быть объектом типа leader_curve, projection_curve или annotation_fill_area_occurrence.
4.2.2 Объект dimension_text_associativity
Объект dimension_text_associativity является подтипом объекта text_literal. Он отображает объект shape_dimension_representation на объект draughting_callout, который представляет размеры.
Примечание - Размеры объекта shape_dimension_representation не обязательно должны быть идентичны строке символов, представленной текстовым литералом.
EXPRESS-спецификация
*)
ENTITY dimension_text_associativity
SUBTYPE OF (text_literal, mapped_item);
WHERE
WR1:('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.SHAPE_DIMENSION_REPRESENTATION'
IN TYPEOF (SELF\mapped_item.
mapping_source.mapped_representation));
WR2:('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.DRAUGHTING_CALLOUT'
IN TYPEOF (SELF\mapped_item.mapping_target));
WR3:SIZEOF (QUERY (ato <* QUERY (si <*
USEDIN(SELF,'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.STYLED_ITEM.ITEM')
('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF(si)))|
NOT (SIZEOF( QUERY (dc <*
USEDIN (ato, 'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.' +
'DRAUGHTING_CALLOUT.CONTENTS')|
('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.DRAUGHTING_CALLOUT'
IN TYPEOF (dc)))
*[SELF\mapped_item.mapping_target]) = 1)
)) = 0;
END_ENTITY;
(*
Формальные утверждения
WR1 - объект mapped_representation должен быть объектом типа shape_dimension_representation.
WR2 - объект mapping_target должен быть объектом типа draughting_callout.
WR3 - объект dimension_text_associativity должен использоваться в объекте annotation_text_occurrence, который содержится в целевом объекте draughting_callout.
4.2.3 Объект draughting_model
Объект draughting_model представляет форму изделия для изготовления чертежей. Объект draughting_model может содержать объекты mapped_item, которые являются отображениями объекта shape_representations или других объектов draughting_model. Объект mapped_item, являющийся отображением объекта shape_representation, задает явное представление формы изделия, которое должно быть представлено на чертеже. Объект mapped_item, являющийся отображением другого объекта draughting_model, задает использование подмодели. Объект draughting_model может содержать объекты styled_item. Эти объекты styled_item задают стиль для объекта mapped_item, являющегося отображением объекта shape_representation и обеспечивающего использование объекта curve_style в представлении объекта shape_representation на чертеже. Объект draughting_model может содержать объекты annotation_occurrence. Эти объекты annotation_occurrence задают пояснение, которое размещается в той же системе координат, что и объект shape_representation, и проецируется на вид при представлении на чертеже объекта draughting_model.
EXPRESS-спецификация
*)
ENTITY draughting_model
SUBTYPE OF (representation);
UNIQUE
UR1: SELF\representation.name;
WHERE
WR1: SIZEOF (QUERY (it <* SELF.items |
NOT (SIZEOF (['AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.MAPPED_ITEM',
'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.STYLED_ITEM',
'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.AXIS2_PLACEMENT',
'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.CAMERA_MODEL']*
TYPEOF (it)) = 1
))) = 0;
WR2: SIZEOF (QUERY (mi <* QUERY (it <* SELF.items|
('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.MAPPED_ITEM' IN TYPEOF(it)))|
(NOT(
SIZEOF (['AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.SHAPE_REPRESENTATION'
'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.DRAUGHTING_MODEL']*
TYPEOF (mi\mapped_item.mapping_source.
mapped_representation)) = 1
))) = 0;
WR3: SIZEOF (QUERY (smi <* QUERY (si <* QUERY (it <* SELF.items|
('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.STYLED_ITEM'IN TYPEOF(it)))|
('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.MAPPED_ITEM'IN
TYPEOF(si\styled_item.item)))|
(NOT (('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.SHAPE_REPRESENTATION' IN
TYPEOF(smi\styled_item.item\mapped_item.
mapping_source.mapped_representation))
AND
(SIZEOF (QUERY (sty <* smi\styled_item.styles|
(NOT (SIZEOF (QUERY (psa <* sty.styles|
(NOT ('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.CURVE_STYLE'
IN TYPEOF(psa))))) = 1
)))) = 1)))
)) = 0;
END_ENTITY;
(*
Формальные утверждения
UR1 - наименование объекта draughting_model должно быть уникальным.
WR1 - элементами объекта draughting_model должны быть mapped_item, styled_item, axis2_placement или camera_model.
WR2 - если в объекте draughting_model содержится объект mapped_item, то источником объекта mapped_item должен быть объект shape_representation или другой объект draughting_model.
WR3 - если объект mapped_item имеет обозначение, то источником объекта mapped_item должен быть объект shape_representation, а обозначение объекта mapped_item должно быть объектом curve_style.
4.2.4 Объект shape_aspect_associativity
Объект shape_aspect_associativity является подтипом объекта shape_aspect_relationship, связывающим элемент объекта shape_representation с направленной или проекционной линией, которая визуально привязывает информацию на чертеже к элементу или к границе закрашенной области, которая определяется элементом.
EXPRESS-спецификация
*)
ENTITY shape_aspect_associativity
SUBTYPE OF (shape_aspect_relationship);
WHERE
WR1: SELF.relating_shape_aspect.product_definitional;
WR2: NOT (SELF.related_shape_aspect.product_definitional);
WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, 'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.' +
'PROPERTY_DEFINITION.DEFINITION')|
NOT (SIZEOF (QUERY (sdr <* QUERY (pdr <* USEDIN (pd,
'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.'+
'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')|
('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.SHAPE_DEFINITION_REPRESENTATION'
IN TYPEOF (pdr)))|
NOT (SIZEOF (QUERY (it <* sdr.used_representation.items|
NOT ('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.CURVE' IN TYPEOF(it))
AND
(SIZEOF (QUERY (aco <* USEDIN (it,
'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.STYLED_ITEM.ITEM')|
SIZEOF (TYPEOF (aco)*
['AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.LEADER_CURVE',
'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.PROJECTION_CURVE']) = 1))+
SIZEOF (USEDIN (it, 'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.'+
'ANNOTATION_FILL_AREA.BOUNDARIES'))> = 1)
)) = 1)
)) = 0)
)) = 0;
WR4: SIZEOF (QUERY (pd <* USEDIN (SELF, 'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.'+
'PROPERTY_DEFINITION.DEFINITION')|
NOT (SIZEOF (QUERY (sdr <* QUERY (pdr <* USEDIN (pd,
'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.'+
'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')|
('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.SHAPE_DEFINITION_REPRESENTATION'
IN TYPEOF (pdr)))|
NOT (check_associative_shape_aspects(sdr))
)) = 0)
)) = 0;
END_ENTITY;
(*
Формальные утверждения
WR1 - объект relating_shape_aspect должен определять изделие.
WR2 - объект related_shape_aspect не должен определять изделие.
WR3 - одним из элементов объекта shape_representation для объекта shape_aspect_associativity должна быть базовая кривая для объектов leader_curve, projection_curve или fill_area_boundary.
WR4 - объект shape_representation для объекта shape_aspect_associativity должен содержать два элемента. Одним из элементов должен быть элемент объекта shape_representation, который отображается на объект draughting_model. Объект draughting_model должен либо содержать в качестве элемента направленную линию, проекционную линию или закрашенную область, либо проецироваться на объект presentation_view, элементом которого являются направленная линия, проекционная линия или закрашенная область.
4.3.1 Функция check_associative_shape_aspects
Функция check_associative_shape_aspects проверяет наличие в объекте used_representation объекта shape_definition_representation двух элементов, одним из которых является элемент объекта shape_representation, который отображается на объект draughting_model. Объект draughting_model должен либо содержать в качестве элемента направленную линию, проекционную линию или закрашенную область, либо проецироваться на объект presentation_view, элементом которого являются направленная линия, проекционная линия или закрашенная область. Функция возвращает значение TRUE (истина), если элементы объекта used_representation соответствуют этому требованию. Функция возвращает значение FALSE (ложь), если элементы не соответствуют этому требованию.
EXPRESS-спецификация
*)
FUNCTION check_associative_shape_aspects
(sdr:shape_definition_representation): BOOLEAN;
LOCAL
sr1, sr2:SET OF representation;
dm, pv:SET OF representation;
END_LOCAL;
-- Проверка, содержит ли представление только два элемента
IF (SIZEOF (sdr.used_representation.items) < > 2) THEN
RETURN (FALSE);
END_IF;
-- Поиск представлений, в которых используется каждый элемент
sr1 := using_representations (sdr.used_representation.items [1]);
sr2 := using_representations (sdr.used_representation.items [2]);
-- Поиск представлений, в которых элемент 1 отображается
REPEAT i := 1 TO HIINDEX(sr1);
dm := representations_mapped_into(sr1[i]);
REPEAT j := 1 TO HIINDEX(dm);
IF ('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.DRAUGHTING_MODEL'IN TYPEOF(dm[j]))
THEN
IF (dm[j] IN sr1) THEN RETURN (TRUE);
END_IF;
-- Поиск видов, на которые отображена модель чертежа
pv := representations_mapped_into(dm[j]);
REPEAT k := 1 TO HIINDEX(pv);
IF ('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.PRESENTATION_VIEW'IN TYPEOF(pv[k])
THEN
IF (pv[k] IN sr2) THEN RETURN (TRUE);
END_IF;
END_IF;
END_REPEAT;
END_IF;
END_REPEAT;
END_REPEAT;
-- Поиск представлений, в которых элемент 2 отображается
REPEAT i := 1 TO HIINDEX(sr2);
dm := representations_mapped_into(sr2[i]);
REPEAT j := 1 TO HIINDEX(dm);
IF ('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.DRAUGHTING_MODEL' IN TYPEOF(dm[j]))
THEN
IF (dm[j] IN sr1)THEN RETURN (TRUE);
END_IF;
-- Поиск видов, на которые отображена модель чертежа
pv := representations_mapped_into(dm[j]);
REPEAT k := 1 TO HIINDEX(pv);
IF ('AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.PRESENTATION_VIEW' IN TYPEOF(pv[k])
THEN
IF (pv[k] IN sr1) THEN RETURN (TRUE);
END_IF;
END_IF;
END_REPEAT;
END_IF;
END_REPEAT;
END_REPEAT;
RETURN (FALSE);
END_FUNCTION;
(*
Определение аргумента
sdr - объект shape_definition_representation, который должен быть проверен.
4.3.2 Функция representations_mapped_into
Функция representations_mapped_into возвращает множество объектов representation, которые определены как объекты mapped_item посредством аргумента representation.
EXPRESS-спецификация
*)
FUNCTION representations_mapped_into
(rep : representation): SET of representation;
LOCAL
results:SET OF representation := [];
rm :SET OF representation_map;
mi :SET OF mapped_item := [];
END_LOCAL;
-- Поиск объектов representation_map, которые задают representation
rm := bag_to_set(USEDIN(rep, 'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.'+
'REPRESENTATION_MAP.MAPPED_REPRESENTATION'));
-- Поиск объектов mapped_item, в которых используется
-- каждый объект representation_map
REPEAT i := 1 TO HIINDEX(rm);
mi := mi + rm[i].map_usage;
END_REPEAT;
-- Поиск объектов representation, в которых используется
-- каждый объект mapped_item
REPEAT j := 1 TO HIINDEX(mi);
results := results + USEDIN(mi[j],'AIC_ASSOCIATIVE_DRAUGHTING_ELEMENTS.'+
'REPRESENTATION.ITEMS');
END_REPEAT;
RETURN (results);
END_FUNCTION;
(*
Определение аргумента
rep - объект representation, который должен быть проверен.
EXPRESS-спецификация
*)
END_SCHEMA;
(*
(обязательное)
СОКРАЩЕННЫЕ НАИМЕНОВАНИЯ ОБЪЕКТОВ
Сокращенные наименования объектов, установленных в настоящем стандарте, приведены в таблице A.1. Требования к использованию сокращенных наименований объектов содержатся в методах реализации, описанных в соответствующих стандартах комплекса ИСО 10303.
Таблица A.1
Сокращенные наименования объектов
(обязательное)
РЕГИСТРАЦИЯ ИНФОРМАЦИОННОГО ОБЪЕКТА
B.1 Обозначение документа
Для обеспечения однозначного обозначения информационного объекта в открытой системе настоящему стандарту присвоен следующий идентификатор объекта:
{iso standard 10303 part(520) version(1)}
Смысл данного обозначения установлен в ИСО/МЭК 8824-1 и описан в ИСО 10303-1.
B.2 Идентификация схемы
Для обеспечения однозначного обозначения в открытой системе схеме aic_associative_draughting_elements_schema (см. раздел 4) присвоен следующий идентификатор объекта:
{iso standard 10303 part(520) version(1) object(1) aic-associative-draughting-elements-schema(1)}
Смысл данного обозначения установлен в ИСО/МЭК 8824-1 и описан в ИСО 10303-1.
(справочное)
EXPRESS-G ДИАГРАММЫ
EXPRESS-G диаграммы, представленные на рисунках C.1 - C.4, получены из сокращенного листинга, приведенного в разделе 4, с использованием спецификаций интерфейса стандарта ИСО 10303-11. В диаграммах использована графическая нотация EXPRESS-G языка EXPRESS. Описание EXPRESS-G установлено в ИСО 10303-11, приложение D.
Примечание - Выбранные типы character_spacing_select, curve_or_annotation_curve_occurrence, curve_or_render, invisible_item, layered_item, style_context_select и text_or_character импортируются в расширенный листинг ПИК в соответствии с правилами неявных интерфейсов по ИСО 10303-11. В настоящем стандарте другие объекты не ссылаются на эти выбранные типы.
![]() в формате EXPRESS-G (диаграмма 1 из 6)
![]() Рисунок C.2 - Расширенный листинг ПИК
в формате EXPRESS-G (диаграмма 2 из 6)
![]() Рисунок C.3 - Расширенный листинг ПИК
в формате EXPRESS-G (диаграмма 3 из 6)
![]() в формате EXPRESS-G (диаграмма 4 из 6)
![]() Рисунок C.5 - Расширенный листинг ПИК
в формате EXPRESS-G (диаграмма 5 из 6)
![]() Рисунок C.6 - Расширенный листинг ПИК
в формате EXPRESS-G (диаграмма 6 из 6)
(справочное)
МАШИННО-ИНТЕРПРЕТИРУЕМЫЕ ЛИСТИНГИ
В настоящем приложении приведены ссылки на сайты, на которых находятся листинги наименований объектов на языке EXPRESS и соответствующих сокращенных наименований, установленных в настоящем стандарте. На этих же сайтах находятся листинги всех EXPRESS-схем, установленных в настоящем стандарте без комментариев и другого поясняющего текста. Эти листинги доступны в машинно-интерпретируемой форме и могут быть получены по следующим адресам URL:
Сокращенные наименования: /template/go.php?url=https://www.mel.nist.gov/div826/subject/apde/snr/
EXPRESS: /template/go.php?url=https://www.mel.nist.gov/step/parts/part520/is
При невозможности доступа к этим сайтам, необходимо обратиться в центральный секретариат ИСО или непосредственно в секретариат ИСО ТК184/ПК4 по адресу электронной почты: sc4sec@cme.nist.gov.
Примечание - Информация, представленная в машинно-интерпретированном виде на указанных выше URL, является справочной. Обязательным является текст настоящего стандарта.
(справочное)
РОССИЙСКОЙ ФЕДЕРАЦИИ ССЫЛОЧНЫМ МЕЖДУНАРОДНЫМ СТАНДАРТАМ
Таблица E.1
Вернуться в "Каталог нормативных документов"
Источник информации: https://internet-law.ru/documents/prod/gost-r_gosudarstvennyj-standart/45/gost_20010.html
На правах рекламы:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||