ГОСТ Р ИСО 13584-101—2010
!
!***Program B ody*"
!
!initialise some constant used entities
grpfix = CREATE_GRP ()
CALLCLOSE_GRP()
a2p_ref = a2p_ref_sys (TDB)
dir_x = dir_a2p_x (a2p_ref. TDB )
dir_y » dir_a2p_y (a2p_ref. TDB )
pnt_orig»n = PNT_CARTESIAN_ABSOLUTE(O.ODO. 0.0D0.O.ODO. TDB )
FALSE=0
TRUE = 1
CALL INQ_GEOMETRICAL_POWER(POWER.ERR)
three_d = (POWER .G T.t)
Ifthree_d then
dir
_2
= dir_a2p_z (a2p_ref. TDB )
end if
!
! *“ START OF THE RECORDING SESSION ***
!
!horizontal line of a given у value
pnt1 = PNT_CARTESIAN_ABSOLUTE(O.ODO. O.ODO. 0.0D0. TDB)
Hn1C1 * llb_lin_max(LIN_PNT_LENGTH_DIR(pnt1.1.0D0.dlr_x, TDB ))
CALL ADD_ENT_GRP(grpfix. 1Ш1С1)
!
!vertical line of a given x value
pnt1 =PNT_CARTESIAN_ABSOLUTE(O.ODO. O.ODO. 0.0D0. TDB)
1Ш2С1 = Hb_lin_max(LIN_PNT_LENGTH_DlR(pnt1.1.0D0. dlr_y. TDB))
CALL ADD_ENT_GRP(grpfix. lln2C1)
!
!intersection of 2 lines
pntnml * PNT_INTERSECTION_2_ENT(lin2Cl, lin1C1,TDB)
!
!circle by its centre and its radius
clr3Cl = CIRCLE_RAD_A2P ((d_out) f (2.00000). &
Iib_a2p_pnt(pntnm1 ).false, TDB)
CALL ADD_ENT_GRP(grpf»x. cir3Cl)
!
!centre of a circle
pntnm2 = PNT_CENTRE_ARC(cir3C1. TDB)
!circle by its centre and Its radius
clr4C1 в CIRCLE_RAD_A2P ((d_int)/(2.000DO). &
Iib_a2p_pnt(pntnm2 (.false. TDB)
CALL ADD_ENT_GRP{grpfix. cir4C1)
!
!arc by a circle
arc5C1 * cir3C1
CALL ADD_ENT_GRP(grpfix. arc5C1)
!
!arc by a circle
агс6С1 * c<r4C1
CALL ADD_ENT_GRP(grpfix. arc6C1)
!
!**• FIX ENTITIES into CAD SYSTEM * "
!
Istent(1 ) = grpfix
CALL FIX_ENT(1.latent)
RETURN
END
29