:START GETMENU "ALIGNMENT OPTION","HORIZ","VERT","NONE","EXISTHOR","EXISTVER" ALIGN = @KEY IF (@key < 0) EXIT GETMENU "BALLOON TYPE","SPLIT","NOTSPLIT" BTYPE = @key BALNO = 1 IF (ALIGN >= 4) { SET mask,3 GETENT "SELECT EXISTING BALLOON TO ALIGN WITH",I,I2 XCENT = @FLTDAT[0] YCENT = @FLTDAT[1] ZCENT = @FLTDAT[3] SET mask } IF (ALIGN <= 2 && BALNO == 1) { GETPOS "SELECT BALLOON LOCATION",1 XCENT = @xworld YCENT = @yworld ZCENT = @zworld } :DRAW IF (ALIGN == 1 && BALNO != 1) { GETPOS "SELECT BALLOON LOCATION",1 XCENT = @xworld ZCENT = @zworld } IF (ALIGN == 2 && BALNO != 1) { GETPOS "SELECT BALLOON LOCATION",1 YCENT = @yworld ZCENT = @zworld } IF (ALIGN == 3) { GETPOS "SELECT BALLOON LOCATION",1 XCENT = @xworld YCENT = @yworld ZCENT = @zworld } IF (ALIGN == 4) { GETPOS "SELECT BALOON LOCATION",1 XCENT = @xworld ZCENT = @zworld } IF (ALIGN == 5) { GETPOS "SELECT BALLOON LOCATION",1 YCENT = @yworld ZCENT = @zworld } IF (@key == -2) GOTO START IF (@key < 0) GOTO END :A1 GETCUR "SELECT ENTITY TO BALLOON",1,0 IF (@key == -2) GOTO START X3 = @xworld Y3 = @yworld Z3 = @zworld GETENTXY X3,Y3,TYPE IF (TYPE == 1) { ARRX = @FLTDAT[0] ARRY = @FLTDAT[1] ARRZ = @FLTDAT[2] } IF (TYPE == 2) { X1 = @FLTDAT[0] Y1 = @FLTDAT[1] Z1 = @FLTDAT[2] X2 = @FLTDAT[3] Y2 = @FLTDAT[4] Z2 = @FLTDAT[5] A1 = sqrt((X2-X1)^2+(Y1-Y2)^2) A2 = sqrt((X3-X1)^2+(Y1-Y3)^2) A3 = sqrt((X2-X3)^2+(Y2-Y3)^2) B1 = atan2 ((Y1-Y2),(X2-X1)) B2 = atan2 ((X3-X1),(Y1-Y3)) B3 = 90-B1-B2 A4 = cos(B3)*A2 ARRY = Y1-(sin(B1)*A4) ARRX = X1+(cos(B1)*A4) ARRZ = Z3 } IF (TYPE == 3) { ASX = @FLTDAT[0] ASY = @FLTDAT[1] ASZ = @FLTDAT[2] ASR = @FLTDAT[3] B5 = ATAN2 ((ASX-XCENT),(ASY-YCENT)) ARRX = ASX-(SIN(B5)*ASR) ARRY = ASY-(COS(B5)*ASR) } IF (TYPE >= 4) { PAUSE "SORRY LINES, ARCS, OR POINTS ONLY PLEASE", GOTO A1 } /* TIME TO CALCULATE MORE STUFF*/ B4 = ATAN2 ((ARRX-XCENT),(ARRY-YCENT)) XAREND = XCENT+(SIN(B4)*2.5*@noteht) YAREND = YCENT+(COS(B4)*2.5*@noteht) GETSTR "ENTER THE DETAIL NO ","DET",$DET CALL strlen,$DET,DETLEN IF (BTYPE == 1) { GETSTR "ENTER THE SHEET NO ","SHT",$SHT CALL strlen,$SHT,SHTLEN } /*I THINK EVERYTHING IS SET FOR THE FIRST BALLOON*/ /*LETS JUST TRY*/ SET collect,1 CIRCLE XCENT,YCENT,ZCENT,2.5*@noteht,,,,1,,,1,1 LEADER XAREND,YAREND,ARRX,ARRY,@noteht,1,0,,,1,,,1 IF (BTYPE == 1) { LINE XCENT-2.5*@noteht,YCENT,ZCENT,XCENT+2.5*@noteht,YCENT,ZCENT,,,1,,1,1 NOTE XCENT-(DETLEN/2*@noteht*@txtasp),YCENT+.5*@noteht,$DET,0,@noteht,@txtasp,0,,0,0,0,0,1 NOTE XCENT-(SHTLEN/2*@noteht*@txtasp),YCENT-1.5*@noteht,$SHT,0,@noteht,@txtasp,0,,0,0,0,0,1 } IF (BTYPE == 2) NOTE XCENT-(DETLEN/2*@noteht*@txtasp),YCENT-.5*@NOTEHT,$DET,0,@noteht,@txtasp,0,,0,0,0,0,1 SET COLLECT,0 SET mask BALNO = BALNO+1 GOTO DRAW :END CLEAR EXIT