ГОСТ Р ИСО 10303-513—2009
Е.4.3 Контекст объекта toroldal_segment
Данный контекст описывает грани, необходимые для определения сегмента тора, ограниченного плоскостя
ми. Объектами edge_curve являются объекты line, circular arcpolyllne.
Центр тора расположен в начале координат, а его центральной осью является ось
2
; максимальный и мини
мальный радиусы тора равны 100 и 20. Ограничивающие плоскости заданы координатами 2 ■ 0. х ■ 0 их » 50. Все
точки полилиний расположены на поверхности тора с допустимым отклонением менее чем 10Е(-6).
Все границы определены посредством объектов edgeJoop. Основные размеры не должны изменяться.
*)
CONTEXT toro»dal_segment;
WITH aic_elementary_brep;
PARAMETER
ore: length_measure := 0.0;
rad1 : length_measure.= 100.0;
rad2 : length_measure := 20.0;
ret;length_measure := 80.0;
rco: length_measure:■ 120.0.
origin ; cartesian_point :* cartestan_point (’origin’, (ore. ore.
ore]).
p1: cartesian_pomt := cartesian point fp 1 \(50.0,62.44998.
0.0));
pcleft : cartesian_point := cartesian_pomt (’pcleft’. (0.0.100.0.
0.0)).
pbleft ;cartesian point :* cartesian_point (’pbleff. (0.0, 80.0.
0.0)).
ptleft :cartesian_pomt := cartesian_pomt (’ptleff. (0.0.120.0.
0.0)).
pos_x :direction ;= direction (’pos_x’. (1 .0.0|);
poa_y :direebon ;= direction (’pos_y’. (0.1. 0));
pos_z ; direction .= direction (’pos_
2
’. (0.0.1J);
neg_x ; direction := direction (’neg_x\ (-1.0.0]);
vec_y . vector ;= vector <’vec_y\ pos_y, t.O );
a1: axis2_placement_3d ;* axis2_placement_3d (’a1\ origin,
pos_z.pos_x).
a2;axis2_placement_3d ;= axis2_placement_3d (’a2’. pcleft,
neg_x.pos_y);
a3;axis2_placement_3d :®axis2_placement_3d (’a3’. p1.
pos_x.pos_z).
base : plane ;= plane (’base’, at);
pleftplane := plane (’pleft*. a2).
pnght : plane := plane (’pright’. a3);
torus . toroidal_surface .= toroidal_surface (’torus’. a1. rad1.
rad2);
circln ; circle :» circle (’circm’, a1. rci);
circout: circle := circle (’circout’, a1. rco);
circled: circle := circle {’clrcleff. a2. rad2);
p2: cartesian_pomt :=
cartesian_pomt (’p2’. (50.0.62.633918.2.392932J);
p3:cartesian_pomt ;=
cartesian_pomt (’p3’. (50.0.64.92632.8.609));
p4:cartes»an_point ;=
cartesian_pomt Cp4\ (50.0.67.325057.11.8123625)),
p5:cartesian_pomt ;■
cartesian_pomt Cp5’. (50.0,69.839261.14.1766914));
p6;cartesian_point;=
cartesian_point(-p6’. (50.0.72.479126.16.03916));
p7:cartesian_polnt ;*
cartesian_pomt Cp7’. (50.0. 75.25605.17.518988]);
33