ГОСТ Р ИСО 10303-513—2009
negjz := direction ([0.0.0.0. -1.0]):
oldaxes := axis2_placemenl_3d (’oldaxes’. ongin. pos_z. pos_x);
transform := cartesian_transformation_operator_3d (Transform’,
pos_x. neg_z. neworigin, 0.8. pos_y);
ebsr := elementary_brep_shape_representation (’ebsr’,
[cysp_solid. otdaxes). grd ) ;
mappingl := representation_map (oldaxes. ebsr).
(* Объект cysptrans является 80-процентной копией исходного объекта.
повернутой вокругоси X и смещенной вдоль этой оси *)
cstrans := mapped_item (’cstrans’, mappingl. transform ).
(* Определяется представление, являющееся сборкой исходной В-гер
модели и ее преобразованной копии (масштабированной, смещенной и
повернутой).*)
ebsrass :* elementary_brep_shape_representatlon
(’ebsrass’. lcysp_solld. cstrans], grc2).
END_REALIZATION;
END_TEST_CASE;
C
E.3.7.4 Критерии решения постпроцессора
1
EB44 — послеобработки, слпошная В-rep модель, определенная посредством объекта mappedJtem . долж
на быть корректно масштабирована и размещена.
ЕВ45 — после обработки объектabsrass должен состоять издвухсплошных В-rep моделей цилиндрической
формы с полусферическим основанием, которые касаются друг друга в плоскости х = 25. Одна из них является
копией масштаба 4/5 другой модели, полученной после поступательного перемещения и поворота.
Е.4 Контексты, определенные для контрольных примеров элементарных В-rep моделей
Приведенные ниже контексты на языке EXPRESS-I использованы в контрольных примерах раздела Е.З.
Е.4.1 Контекст объекта cyllnder_sphere_shell
Данный контекст описывает грани, необходимыедля определения простогообъекта closed_shell цилиндри
ческой формы с полусферическим основанием, имеющим центр, расположенный в точке (orc.orc.orc). радиус rad и
осевую высоту к наклонной грани >.
Все границы определены посредством объектов edge_1оор и conic.
*)
CONTEXT cylinder_spbere_snell;
WITH aic_elementary_brep;
PARAMETER
ore:length_measure :=0.0;
h: length_measure :* 100.0;
rad. Iength_measure := 25.0.
majrad: length_measure := rad’rt2;
origin ;cartesian_polnt ;= cartesian_point (’origin’, [ore. ore. ore]).
ctop : cartesian_polnt := cartesian_pomt (’ctop’. (ore, ore.
orc*h]);
pos_x : direction := direction (’pos_x\ (1.0.0]);
pos_y : direction := direction (’pos_y’. [0.1.0]);
pos_z ; direction := direction (’pos_z’. (0.0.1]);
dslope :direction := direction fdslope’. [1.0. -
1]); dperp :direction.® direction
(’dperp’.[1.0.1]);
a1: axts2_placement_3d ;= axis2_placement_3d (’a1’, origin.
pos_z,pos_x);
a2: axis2_placement_3d :* axis2_placement_3d (’a2’. ctop.
dperp. dslope).
28