ГОСТ Р ИСО 10303-59-2012 Системы автоматизации производства их интеграция. Представление данных об изделии и обмен этими данными. Часть 59. Интегрированный обобщенный ресурс. Качество данных о форме изделия стр. 21

Примечание - На рисунке 22   - расстояние между двумя точками кривой, а   - длина дуги, соединяющей две точки.
287 × 234 пикс.     Открыть в новом окне
Рисунок 22 - Самопересекающаяся кривая
EXPRESS-спецификация:
*)
ENTITY self_intersecting_curve
SUBTYPE OF(self_intersecting_geometry);
SELF\shape_data_quality_criterion.assessment_specification :
shape_data_quality_assessment_by_logical_test;
arc_length_separation_factor: REAL;
interference_tolerance: length_measure;
WHERE
WR1 : validate_measured_data_type(SELF,
'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.BOOLEAN_VALUE');
WR2 : validate_inspected_elements_type(SELF,
['GEOMETRY_SCHEMA.CURVE']);
WR3 : validate_locations_of_extreme_value_type(SELF,
['GEOMETRY_SCHEMA.POINT_ON_CURVE',
'GEOMETRY_SCHEMA.POINT_ON_CURVE']);
WR4 : validate_accuracy_types(SELF,
['MEASURE_SCHEMA.LENGTH_MEASURE']);
END_ENTITY;
(*
Определения атрибутов
SELF\shape_data_quality_criterion.assessment_specification - объектshape_data_quality_assessment_by_logical_test, который задает проверку наличия пересечения, что соответствует значению 'TRUE', или его отсутствия;
arc_length_separation_factor - фактор, который используется для умножения на значение атрибута interference_tolerance для того, чтобы определить, является ли длина дуги кривой между точками достаточной;
interference_tolerance - допуск, используемый при проверке совпадения точек.
Формальные положения
WR1: Атрибут representative_measured_value объектаshape_data_quality_inspection_criterion_report, атрибут measured_value объектаshape_data_quality_inspection_instance_report_item и атрибуты measured_value всех объектов extreme_instance, на которые ссылается объектinstance_report_item_with_extreme_instances, во всех экземплярах, связанных с настоящим объектом, должны иметь значение типа boolean_value (булево значение).
WR2: Все объекты, играющие роль атрибута inspected_elements во всех экземплярах объекта shape_data_quality_inspection_instance_report_item, связанных с настоящим объектом, должны быть объектами типа curve.
WR3: Во всех объектах instance_report_item_with_extreme_instances, связанных с настоящим объектом, во всех объектах типа extreme_instance, на которые ссылается объектinstance_report_item_with_extreme_instances, объекты, на которые ссылается атрибутlocations_of_extreme_value, должны быть двумя объектами типа point_on_curve. Это показывает, что в этих двух точках кривая самопересекается в пределах допуска.
WR4: Если для данного измерения задана точность, то значение атрибута range должно быть значением типа length_measure (мера длины).
7.4.49 Объект self_intersecting_surface
Объект self_intersecting_surface представляет утверждение, что в пределах области определения поверхности существует самопересечение. Согласно требованию к измерению, соответствующему настоящему объекту, необходимо выполнить измерение, обнаруживающее точки на кривой, значение расстояния между которыми не превышает значения атрибутаinterference_tolerance, а геодезическое линейное расстояние между ними больше, чем значение, получаемое в результате умножения значения атрибута interference_tolerance на значение атрибута arc_length_distance_factor. В случае замкнутой поверхности пары точек, расстояние которых от границы поверхности, измеренное вдоль дуги изопараметрической кривой, не превышает значения атрибута interference_tolerance, исключаются из проверки. При выполнении проверки замкнутой поверхностью считается поверхность, у которой в направлении хотя бы одного из параметров расстояние между граничными кривыми при начальном и конечном значениях этого параметра не превышает значения атрибутаinterference_tolerance.
Примечание - На рисунке 23   - расстояние между двумя точками кривой, а   - геодезическое линейное расстояние между ними.
463 × 183 пикс.     Открыть в новом окне
Рисунок 23 - Самопересекающаяся поверхность
EXPRESS-спецификация:
*)
ENTITY self_intersecting_surface
SUBTYPE OF(self_intersecting_geometry);
SELF\shape_data_quality_criterion.assessment_specification:
shape_data_quality_assessment_by_logical_test;
geodesic_separation_factor : REAL;
interference_tolerance : length_measure;
WHERE
WR1 : validate_measured_data_type(SELF,
'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.BOOLEAN_VALUE');
WR2 : validate_inspected_elements_type(SELF,
['GEOMETRY_SCHEMA.SURFACE']);
WR3 : validate_locations_of_extreme_value_type(SELF,
['GEOMETRY_SCHEMA.POINT_ON_SURFACE',
'GEOMETRY_SCHEMA.POINT_ON_SURFACE']);
WR4 : validate_accuracy_types(SELF,
['MEASURE_SCHEMA.LENGTH_MEASURE']);
END_ENTITY;
(*
Определения атрибутов
SELF\shape_data_quality_criterion.assessment_specification - объектshape_data_quality_assessment_by_logical_test, который задает проверку наличия пересечения, что соответствует значению 'TRUE', или его отсутствия;
geodesic_separation_factor - фактор, который используется для умножения на значение атрибута interference_tolerance для того, чтобы определить, является ли длина дуги между точками достаточной;
interference_tolerance - допуск, используемый при проверке совпадения точек.
Формальные положения
WR1: Атрибут representative_measured_value объектаshape_data_quality_inspection_criterion_report, атрибут measured_value объектаshape_data_quality_inspection_instance_report_item и атрибуты measured_value всех объектов extreme_instance, на которые ссылается объектinstance_report_item_with_extreme_instances, во всех экземплярах, связанных с настоящим объектом, должны иметь значение типа boolean_value (булево значение).
WR2: Все объекты, играющие роль атрибута inspected_elements во всех экземплярах объекта shape_data_quality_inspection_instance_report_item, связанных с настоящим объектом, должны быть объектами типа surface.
WR3: Во всех объектах instance_report_item_with_extreme_instances, связанных с настоящим объектом, во всех объектах типа extreme_instance, на которые ссылается объектinstance_report_item_with_extreme_instances, объекты, на которые ссылается атрибутlocations_of_extreme_value, должны быть двумя объектами типа point_on_curve. Это показывает, что в этих двух точках поверхность самопересекается в пределах допуска.
WR4: Если для данного измерения задана точность, то значение атрибута value_componentдолжно быть значением типа length_measure (мера длины).
7.4.50 Объект nearly_degenerate_geometry
Объект nearly_degenerate_geometry является таким подтипом объекта inapt_geometry, который является супертипом для критериев, используемых для обнаружения геометрических данных, близких к вырождению.
EXPRESS-спецификация:
*)
ENTITY nearly_degenerate_geometry
ABSTRACT SUPERTYPE OF (ONEOF(
small_area_surface,
short_length_curve,
entirely_narrow_surface))
SUBTYPE OF(inapt_geometry);
END_ENTITY;
(*
7.4.51 Объект short_length_curve
Объект short_length_curve представляет утверждение, что длина дуги кривой меньше предельного значения. Согласно требованию к измерению, соответствующему настоящему объекту, необходимо выполнить измерение, включающее вычисление значения длины дуги кривой. Полученное значение длины при оценке должно сравниваться с заданным предельным значением.
EXPRESS-спецификация:
*)
ENTITY short_length_curve
SUBTYPE OF(nearly_degenerate_geometry);
SELF\shape_data_quality_criterion.assessment_specification :
shape_data_quality_assessment_by_numerical_test;
WHERE
WR1 : ('SHAPE_DATA_QUALITY_CRITERIA_SCHEMA.'+
'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT'
IN TYPEOF(SELF\shape_data_quality_criterion.
assessment_specification.threshold))
AND ('MEASURE_SCHEMA.LENGTH_MEASURE'
IN value_limit_type(SELF\shape_data_quality_criterion.
assessment_specification.threshold));
WR2 : validate_measured_data_type(SELF,
'MEASURE_SCHEMA.LENGTH_MEASURE');
WR3 : validate_inspected_elements_type(SELF,
['GEOMETRY_SCHEMA.CURVE']);
WR4: validate_locations_of_extreme_value_type(SELF,
[]);
WR5 : validate_accuracy_types(SELF,
['MEASURE_SCHEMA.LENGTH_MEASURE']);
END_ENTITY;
(*
Определение атрибута
SELF\shape_data_quality_criterion.assessment_specification - объектshape_data_quality_assessment_by_numerical_test, который задает проверку длины дуги кривой и сравнение с заданным предельным значением.
Формальные положения
WR1: Атрибут threshold объекта, играющего роль атрибута assessment_specificationнастоящего объекта, должен в качестве значения иметь объект типаshape_data_quality_upper_value_limit, атрибут value_component которого должен быть экземпляром данных типа length_measure (мера длины).
WR2: Атрибут representative_measured_value объектаshape_data_quality_inspection_criterion_report и атрибут measured_value объектаshape_data_quality_inspection_instance_report_item во всех экземплярах, связанных с настоящим объектом, должны иметь значение типа length_measure (мера длины).
WR3: Все объекты, играющие роль атрибута inspected_elements во всех экземплярах объекта shape_data_quality_inspection_instance_report_item, связанных с настоящим объектом, должны быть объектами типа curve.
WR4: Объект shape_data_quality_inspection_instance_report_item, связанный с настоящим объектом, не должен быть объектом типаinstance_report_item_with_extreme_instances.
WR5: Если для данного измерения задана точность, то значение атрибута value_componentдолжно быть значением типа leng_thmeasure (мера длины).
7.4.52 Объект small_area_surface
Объект small_area_surface представляет утверждение, что площадь поверхности слишком мала. Согласно требованию к измерению, соответствующему настоящему объекту, необходимо выполнить измерение, при котором должна быть вычислена площадь поверхности. Полученное значение площади при оценке должно сравниваться с заданным предельным значением. Поверхности с бесконечной площадью при вычислении площади игнорируются.
EXPRESS-спецификация:
*)
ENTITY small_area_surface
SUBTYPE OF(nearly_degenerate_geometry);
SELF\shape_data_quality_criterion.assessment_specification:
shape_data_quality_assessment_by_numerical_test;
WHERE
WR1 : ('SHAPE_DATA_QUALITY_CRITERIA_SCHEMA.' +
'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT'
IN TYPEOF(SELF\shape_data_quality_criterion.
assessment_specification.threshold))
AND ('MEASURE_SCHEMA.AREA_MEASURE'
IN value_limit_type(SELF\shape_data_quality_criterion.
assessment_specification.threshold));
WR2 : validate_measured_data_type(SELF,
'MEASURE_SCHEMA.AREA_MEASURE');
WR3 : validate_inspected_elements_type(SELF,
['GEOMETRY_SCHEMA.SURFACE']);
WR4 : validate_locations_of_extreme_value_type(SELF,
[]);
WR5 : validate_accuracy_types(SELF,
['MEASURE_SCHEMA.AREA_MEASURE']);
END_ENTITY;
(*