home *** CD-ROM | disk | FTP | other *** search
/ Share Gallery 1 / share_gal_1.zip / share_gal_1 / GR / GR506.ZIP / ACAD2.EXE / BRG.DOC < prev    next >
Text File  |  1989-01-28  |  3KB  |  72 lines

  1. ; *****************************************************************
  2. ;
  3. ;         BRG.LSP
  4. ;
  5. ;      Author: Paul Nance
  6. ;        Home: (919)-226-3648
  7. ;  Compuserve: [73627,1733]
  8. ;
  9. ;  Function Description
  10. ;  -------------------------------------------------------------
  11. ;     C:BRG  This routine annotates a selected boundry line
  12. ;            from endpoint to endpoint, allows any combination
  13. ;            of bearing and distance placements.
  14. ;
  15. ;         Bearing and Distance Line Number prompt:
  16. ;              A value of 1,2,3, etc.... above line placement
  17. ;              A value of -1,-2,-3, etc.... below line placement
  18. ;
  19. ;          Bearing and Distance % Line Length:
  20. ;              A value of .25  1/4 of line length
  21. ;              A value of .50  1/2 of line length
  22. ;              A value of .75  3/4 of line length
  23. ;
  24. (defun C:BRG ()
  25.  (GRAPHSCR)
  26.  (setvar "AUNITS" 4)
  27.  (setvar "CMDECHO" 0)
  28.  (setvar "OSMODE" 1)
  29.  (setq BLN (getreal "\nBearing Line Number: ")
  30.        DLN (getreal "\nDistance Line Number: ")
  31.        BLL (getreal "\nBearing % Line Length: ")
  32.        DLL (getreal "\nDistance % Line Number: ")
  33.         TH (getreal "\nText Height: ")
  34.        PT1 (getpoint "Enter First Point: ")
  35.        PT2 (getpoint "Enter Second Point: "))
  36.   (setq BP1 (polar PT1 (angle PT1 PT2)(*(distance PT1 PT2)BLL)))
  37.           (if(> BLN 0)
  38.   (setq VP4 (+(*(-(* BLN 1.5)0.5)TH)(* TH 0.25)))
  39.   (setq VP4 (-(*(+(* BLN 1.5)0.5)TH)(* TH 0.25))))
  40.   (setq PT4 (polar BP1 (+(angle PT1 PT2)(/ pi 2.0))VP4))
  41.   (setq DP1 (polar PT1 (angle PT1 PT2)(*(distance PT1 PT2)DLL)))
  42.           (if(> DLN 0)
  43.   (setq VP5 (+(*(-(* DLN 1.5)0.5)TH)(* TH 0.25)))
  44.   (setq VP5 (-(*(+(* DLN 1.5)0.5)TH)(* TH 0.25))))
  45.   (setq PT5 (polar DP1 (+(angle PT1 PT2)(/ pi 2.0))VP5))
  46.     (defun CONVERT (A2)
  47.         (setq NT "" TEST NIL)
  48.         (setq L (strlen A2))
  49.         (setq N 4)
  50.          (while (< = N L)
  51.           (setq DS (substr A2 N 1))
  52.           (if (= DS "d")
  53.               (progn
  54.                 (setq DS "%%d")
  55.                 (setq NT (strcat (substr A2 1 (1- N))
  56.                       DS (substr A2 (1+ N))))
  57.                       )
  58.                       )
  59.           (if (= T TEST)(setq N (1+ L))(setq N (1+ N)))
  60.           )
  61.           (setq A2 NT)
  62.           )
  63.   (setq A1 (*(/(angle PT1 PT2)pi)180.0))
  64.   (setq A2 (angtos (angle PT1 PT2)4 4))
  65.   (setq D (strcat (rtos (distance PT1 PT2)2 2)"'"))
  66.           (if (>(strlen A2)6)(setq A2(CONVERT A2)))
  67.   (command "TEXT" "M" PT4 TH A1 A2)
  68.   (command "TEXT" "M" PT5 TH A1 D)
  69.   (setvar "OSMODE" 0)
  70.   (setq a "DONE")
  71. )
  72.