ГОСТ Р ИСО 13584-101—2010
Пример — Допускается применять следующ ие диапазоны view_control_varlable_ranges уровня гео
метрии и сторон:
Диапазон уровня геометрии
view_conUol_varlable_range
Диапазон сторон
vicvr_conlrol_variable_rangc
[1:1]
[0:6]
[1:1]
[1.6]
11:31
[0:6]
[2:2]
[0.0]
Не допускается применять следующ ие диапазоны vlev/_control_varlable_ranges уровня геометрии
и ст орон:
viowcontiolvariablorango
Диапазон сторон
view_conlrol_variable_range
[1:2]
[1.6]
[2:2]
[1:6]
Спецификация на языке EXPRESS:
*)
RULE ISO13584_101_side_and_geometry_level_compatibility_rule FOR
(abstract_functional_model_class):
LOCAL
geometry_level_set: SET OF view_control_variable_range;
side_set: SET OF view_control_variable_rango;
is_2D, is_2D_or_3D, is_3D: BOOLEAN;
no_side. with_side. side_or_no_side. res: BOOLEAN;
compatible side_and_geometry_levef: BOOLEAN ;= TRUE;
END_LOCAL;
REPEAT i := 1TOSIZEOF(abstract_functional_model_dass);
geometry_level_set ;=QUERY(vcvr <*
abstract_functional_model_class[i].v_c_v_range|
(vcvr.paramoter_type.name_scope.code =’basic_geometry’)
AND (vcvr.parameter_type.name_scope.defmed_by.code =’0112/1///13584_101_1’)
AND (vcvr.parameter_type.code =’geometryJevel’)).
side_set ;= QUERY(vcvr<*
abstract_functional_model_class(i].v_c_v_range|
(vcvr.parameter_type.name_scope.code = ’basic_geometry’)
AND (vcvr.parameter_type.name_scope.defmed_by.code =’0112/1///13584_101_1’)
AND (vcvr.parameter_type.code = ’side’));
is_2D := (SIZEOF(QUERY(vcvr <* geometry_level_set |
((vcvr.rangejobound = 1)AND (vcvr.range_hibound = 1)))) = 1);
is_2D_or_3D ;= (SIZEOF(QUERY(vcvr <* geometry_level_set |
((vcvr.rangejobound = 1)AND (vcvr.range_hibound > 1)))) = 1);
is_3D := (SIZEOF(QUERY(vcvr <* geometry_level_set |
(vcvr.rangeJobound > 1)AND (vcvr.range_hibound > 1))) = 1);
no_side := (SIZEOF(QUERY(vcvr<* side_set |
((vcvr.rangejobound =0)AND (vcvr.range_hibound = 0)))) = 1);
side_or_no_side := (SIZEOF(QUERY(vcvr <* side_set |
((vcvr.rangejobound = 0)AND (vcvr.range_hibound >= 0)))) = 1):
15