ГОСТ Р ИСО 10303-510—2006
IN TYPEOF (it))) |NOT CAICJ3EOMETRICALLY BOUNDED_WIREFRAME.’ ♦
’GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION’
IN TYPEOF (mi\mappedJtem.mapping_source.mapped_representation)))
) =
0
;
END_ENTITY;
Г
Формальныеутверждения:
WR1 — объекты items в объекте geometrically_bounded_wireframe_shape_representation дол
жны быть объектами типа geometric_curve_set, axis2_placement_3d или mappedjtem.
WR2— по крайней мере одинизобъектов items в объектеgeometrically_boundod_wireframe_shape_-
ropresentation должен быть либо объектом gcometric_curve_set,либо объектом mappedjtem.
WR3 — каждый объект offset_curve вобъекте geometric_curve_set изобъекта geometrically_-
bounded_wireframe_shape_representation в качестве базовой линии должен иметь объект типов
polyline,b_spline_curve,ellipseилиcircle.Каждыйобъектcurve_replicaвобъекте
geometric_curve_set из объекта geometricallyJjounded_wireframe_shape_representation в качестве
порождающей линии должен иметь объект типов polyline, b_spline_curve, ellipse или circle. Каждый
объект composite_curve в объекте geometric_curve_set из объекта geometrically_bounded_wiref-
rame_shape_representation должен иметь сегменты, которые могут быть объектами типов polyline,
b_spline_curve, ellipse или circle. Каждый объект trimmed_curve в объекте geometric_curve_set из
объекта geomotrically_bounded_wireframo_shape_ representation должен иметь базовую линию,
котораяявляетсяобъектом типалибо polyline, либо b_spline_curve, либо ellipse, либо circle, либо line,
либо parabola, либо hyporbola.
WR4 — все объекты points, которые содержатся в объектах elements из объекта
geometric_curve_set для объекта geometrically_boundod_wireframe_shape_representation, должны
бытьобъектами типов cartesian_point.point_on_curve илиpoint_replica. Объектpoint_replica должен
имитировать либо другой объект point_roplica. либо объект cartosian_point. Объект point_on_curve
должен лежать надопустимойлинии дляобъектаgeometrically_bounded_wireframo_shape_representation.
WR5 — объект position для объекта conic в объектах elements из объекта geometric_curve_set
для объекта geometricallyJjounded_wireframe_shape_representation должен быть только объектом
типа axis2_placement_3d.
WR6 — каждыйобъект polyline вобъектахelements изобъекта geometric_curve_setдля объекта
geometrically_bounded_wireframe_shapo_representation должен содержать более двух различных
точек (объектов points).
WR7 — если в объекте geometrically_boundod_wireframe_shape_ropresentation имеется объ
ект mappedjtem. то источником объекта mappedjtem должен быть объект geometrically_bounded_-
wireframe_shape_representation.
4.4 Определения функций схемы aic_geometrically_bounded_ wireframe
4.4.1 Функцияvalid_geometrically_bounded_wf_curveonpeflenfleT. являетсяли заданнаяаргумен
том линиядопустимойдля использованияв представлении формы, определенной геометрическиограни
ченным каркасом. Это касается корректного использования ограниченных линий в качестве опорных
линийдля объектов offset_curve, curve_replica и composite_curve. Если используется неограниченная
кривая, например парабола или гипербола, то она должна быть обрезана. По своей структуре функция
является рекурсивной для того, чтобыосуществлятьпроверкуна необходимую глубину вложенности.
EXPRESS спецификация
*)
FUNCTION valid_geometrically_bounded_wf_curvo
(erv: curve): BOOLEAN;
-- проверка допустимыхосновныхтипов линий
IF SIZEOF (fAIC_GEOMETRICALLY_BOUNDED_WIREFRAME.POLYLINE’,
’AIC_GEOMETRICALLY_BOUNDED_WIREFRAME.B_SPLINE_CURVE’.
’AIC_GEOMETRICALLY_BOUNDED_WIREFRAME.ELLIPSE’.
’AIC_GEOMETRICALLY_BOUNDEDJ/VIREFRAME.CIRCLE’] * TYPEOF (erv))= 1
THEN RETURN (TRUE);
ELSE
- еслилиния является отрезком, т.е. объектом trimmed_curve
5