rem **** LINE at ANGLE at ANY POINT at ANY LENGTH **** rem **** WENCE JAN 8/94 **** getview @view :linel defsize = 1 getflt "Enter the line lenght =>", defsize, size if (@key == -3) goto exit if (@key == -2) goto exit if (@key == -1) goto linel :arc window @xmin,@ymin,@xmax,@ymax menopt = 3 getpos "Indicate poistion ", menopt if (@key < -1) goto linel if (@key == -1) goto exit basex = @xworld basey = @yworld basez = @zworld :menu getmenu "SELECT ANGLE"," 0°"," 45°"," 90°","135°","180°","225°","270°","315°","KEY-IN", if (@key ==-3) goto exit if (@key ==-2) goto linel if (@key ==-1) goto menu if (@key ==1) goto deg0 if (@key ==2) goto deg45 if (@key ==3) goto deg90 if (@key ==4) goto deg135 if (@key ==5) goto deg180 if (@key ==6) goto deg225 if (@key ==7) goto deg270 if (@key ==8) goto deg315 if (@key ==9) goto degun :deg0 if (@key ==-3) goto menu if (@key ==-2) goto menu if (@key ==-1) goto deg0 line basex, basey, basez, basex+size, basey, basez goto arc :deg90 if (@key ==-3) goto menu if (@key ==-2) goto menu if (@key ==-1) goto deg90 line basex, basey, basez, basex, basey+size, basez goto arc :deg180 if (@key ==-3) goto menu if (@key ==-2) goto menu if (@key ==-1) goto deg180 line basex, basey, basez, basex-size, basey, basez goto arc :deg270 if (@key ==-3) goto menu if (@key ==-2) goto menu if (@key ==-1) goto deg270 line basex, basey, basez, basex, basey-size, basez goto arc :degun def = 0.0 getflt "ENTER ANGLE VALUE => ", def, ang1 a=cos(ang1)*1 b=sin(ang1)*1 d=sin(ang1)*size e=cos(ang1)*size goto degun1 :degun1 if (@key ==-3) goto menu if (@key ==-2) goto menu if (@key ==-1) goto degun line basex, basey, basez, basex+e, basey+d, basez goto arc :deg45 if (@key ==-3) goto menu if (@key ==-2) goto menu if (@key ==-1) goto deg45 d=sin(45)*size e=cos(45)*size line basex, basey, basez, basex+e, basey+d, basez goto arc :deg135 if (@key ==-3) goto menu if (@key ==-2) goto menu if (@key ==-1) goto deg135 d=sin(135)*size e=cos(135)*size line basex, basey, basez, basex-d, basey-e, basez goto arc :deg225 if (@key ==-3) goto menu if (@key ==-2) goto menu if (@key ==-1) goto deg225 d=sin(225)*size e=cos(225)*size line basex, basey, basez, basex+e, basey+d, basez goto arc :deg315 if (@key ==-3) goto menu if (@key ==-2) goto menu if (@key ==-1) goto deg315 d=sin(315)*size e=cos(315)*size line basex, basey, basez, basex+e, basey+d, basez goto arc :exit redraw exit