ГОСТ Р ИСО 10303-513—2009
bleft :face_outer_boundface_outer_bound (’Weft’, loopleft,
TRUE):
8right : face_outer_bound := face_outer_bound CongM’. loopnght.
TRUE);
curved_face. face_surface .= face_surface (’curvedjace’, [btop],
base_face
left_face
rcght_face
torus, TRUE);
: face_surlace :=
face_surface (’base_face’. [ЬЬазе]. base. FALSE):
face_surface :=
face_surface (’left_face’. (bleft). pleft. TRUE):
:face_surlace .=
face_surface (*nght_face‘, (bright). pr»ght, TRUE);
ENO_PARAMETER:
SCHEMA_OATA tor_shell_ctxt.
ri = representation_item (name -> torshell*; SUPOF(@tri);};
tri = topological_representation_item (SUBOF(@ri); SUPOF(@cfs);};
cfs = connected_face_set (SUBOF(@tri);
cfs_faces -> (@curved_face. @base_face. @left_face. @right_face).
SUPOF(@torshell);}.
torshell = closed_shell {SUBOF(@cfs););
END_SCHEMA_DATA.
END_CONTEXT;
C
E.4.4 Контекст объекта cylinder_union_polyllne
Данный контекст описывает грани, необходимыедля определения граней объединения двух цилиндров раз
ных радиусов.
Данный контекст дает пример неплоского объекта polyline и объекта lace с тремя ограничивающими конту
рами.
Все границы определены посредством объектов edgeJoop. Основные размеры не должны изменяться.
*>
CONTEXT cylmder_unwn_polyline;
WITH aic_elementary_brep;
PARAMETER
ore : length_measure := 0.0.
rad1 : length_measure := 50.0;
rad2 . Iength_measure := 20.0:
11 :length_measure := 80.0;
12 :length_measure :■ -80.0
ongm . cartesian_pomt := cartesian_pomt (’orlgm’,(orc. ore. ore));
ptop :cartesian_polnt := carteslan_pomt (’ptop’. (ore. ore. 11));
phase: cartes«n_polnt := carteslan_point(’phase’, (ore. ore. 12));
prtght :cartesian_point:= cartesian_polnt(’pnghf.(ore.II.ore)),
pte: cartesian_point := carteslan_pomt (’pte’, (rad1.ore, 11));
pbe . carteslanpoint := carteslan_pomt (’pbe’. [rad1. ore. I2)).
pre : cartesian_point :* cartesian_point(‘pre’. |rad2.11. ore));
pos_x : direction := direction (’pos_x\ (1.0, 0));
pos_y : direction := direction (’pos_y\ (0.1.0J).
pos
_2
: direction :* direction (’pos_z\ (0.0.1));
35