home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0000 - 0009 / ibm0000-0009 / ibm0003.tar / ibm0003 / ACAD10-1.ZIP / DATDIM10.LSP < prev    next >
Encoding:
Text File  |  1989-01-30  |  3.7 KB  |  110 lines

  1. ;Datum Dimensioning Utility That Use dimtxt * dimscale for TEXT height
  2. ;Dimexo * dimscale for line offset
  3. ;It moves the ucs orign to The datum 0,0 point
  4.  
  5. (defun dtr (a)
  6.  (* pi (/ a 180.0))
  7.  )
  8. ;
  9. (defun rtd (a)
  10.  (/ (* a 180.0) pi)
  11. )
  12. ;---------------------------------------------
  13. ;set units decimal place to the right
  14. ;----------------------------------------------
  15. (defun c:unitdec (/ prec)
  16.  (graphscr)
  17.  (setq prec (getreal "Enter the number of decimal places  "))(terpri)
  18.  (setvar "luprec" prec)
  19. )
  20. ;---------------------------------------------
  21. ;set units to which ever number your choose
  22. ;----------------------------------------------
  23. (defun C:unitchg (/ units)
  24.  (graphscr)
  25.  (menucmd "s=ddunits")
  26.  (setq units (getreal "Enter The Units From The Screen Menu:  "))(terpri)
  27.  (setvar "lunits" units)
  28.  (menucmd "s=datum")
  29. )
  30. ;---------------------------------------------
  31. ;sets datum zero (0,0) for datum dimensioning
  32. ;---------------------------------------------
  33. ;
  34. (defun c:DATUM0 ()
  35.  (graphscr)
  36.  (setq datum (getpoint "Pick the Datum point  ")) (terpri)
  37.  (setvar "ucsicon" 3)
  38.  (command "ucs" "or" datum)
  39. )
  40. ;---------------------------------------------
  41. ;creates an X direction datum dimensioning
  42. ;---------------------------------------------
  43. ;
  44. (defun C:DATUMX ( / dl2y dl2x dimx dimxy dimt dimang dl1 dl2 xt yt y txtp )
  45.  (graphscr)
  46.  (setvar "snapmode" 0)
  47.  (setvar "orthomode" 1)
  48.  (setq dimxy (getpoint "Pick the X dimension point  ")) (terpri)
  49.  (setvar "snapmode" 1)
  50.  (setq dl2 (getpoint dimxy  "Pick the second point of the dimension line")) (terpri)
  51.  (setq dimx (car dimxy)) 
  52.  (setq dl2y (cadr dimxy))
  53.  (setq dl2x (car dimxy))
  54.  (setq dimt (* (getvar "dimtxt") (getvar "dimscale")))
  55.  (setq dimang (angle dl2 dimxy ))
  56.  (setq dimang (rtd dimang))
  57.  (setq xt (car dl2))
  58.  (setq yt (cadr dl2))
  59.  (if (= dimang 270) (setq dl2y (+ dl2y (* (getvar "dimexo")(getvar
  60.   "dimscale")))) (setq dl2y (- dl2y (* (getvar "dimexo")(getvar "dimscale"))))
  61.  )
  62.  (if (= dimang 270) (setq y (+ yt (* (getvar "dimexo")(getvar "dimscale"))))
  63.   (setq y (- yt (* (getvar "dimexo")(getvar "dimscale"))))
  64.  )
  65.  (setq txtp (list xt y))
  66.  (setq dimxy (list dl2x dl2y))
  67.  (setq dimx (rtos dimx))
  68.  (command "layer" "m" "dim" "")
  69.  (command "line" dimxy dl2 "")
  70.  (if (= dimang 90) (command "text" "r" txtp dimt dimang dimx)
  71.   (command "text"  txtp dimt "90"  dimx)
  72.  )
  73.  (setvar "orthomode" 0)
  74.  (setvar "snapmode" 0)
  75. )
  76. ;---------------------------------------------
  77. ;creates an Y direction datum dimensioning
  78. ;---------------------------------------------
  79. (defun C:DATUMY ( / dimy dimxy dimt dimang dl1 dl2 xt yt x txtp )
  80.  (graphscr)
  81.  (setvar "orthomode" 1)
  82.  (setvar "snapmode" 0)
  83.  (setq dimxy (getpoint "Pick the Y dimension point  ")) (terpri)
  84.  (setvar "snapmode" 1)
  85.  (setq dl2 (getpoint dimxy  "Pick the second point of the dimension line")) (terpri)
  86.  (setq dimy (cadr dimxy)) 
  87.  (setq dl2x (car dimxy))
  88.  (setq dl2y (cadr dimxy))
  89.  (setq dimt (* (getvar "dimtxt") (getvar "dimscale")))
  90.  (setq dimang (angle dimxy dl2 ))
  91.  (setq dimang (rtd dimang))
  92.  (setq xt (car dl2))
  93.  (setq yt (cadr dl2))
  94.  (if (= dimang 0) (setq dl2x (+ dl2x (* (getvar "dimexo")(getvar
  95.   "dimscale")))) (setq dl2x (- dl2x (* (getvar "dimexo")(getvar "dimscale"))))
  96.  )
  97.  (if (= dimang 0) (setq x (+ xt (* (getvar "dimexo")(getvar "dimscale"))))
  98.   (setq x (- xt (* (getvar "dimexo")(getvar "dimscale"))))
  99.  )
  100.  (setq dimxy (list dl2x dl2y))
  101.  (setq txtp (list x yt))
  102.  (setq dimy (rtos dimy))
  103.  (command "layer" "m" "dim" "") 
  104.  (command "line" dimxy dl2 "")
  105.  (if (= dimang 0) (command "text"  txtp dimt dimang dimy)
  106.   (command "text" "R" txtp dimt "0"  dimy)
  107.  )
  108.  (setvar "snapmode" 0)
  109.  (setvar "orthomode" 0)
  110. )