home *** CD-ROM | disk | FTP | other *** search
- ;Datum Dimensioning Utility That Use dimtxt * dimscale for TEXT height
- ;Dimexo * dimscale for line offset
- ;It moves the ucs orign to The datum 0,0 point
-
- (defun dtr (a)
- (* pi (/ a 180.0))
- )
- ;
- (defun rtd (a)
- (/ (* a 180.0) pi)
- )
- ;---------------------------------------------
- ;set units decimal place to the right
- ;----------------------------------------------
- (defun c:unitdec (/ prec)
- (graphscr)
- (setq prec (getreal "Enter the number of decimal places "))(terpri)
- (setvar "luprec" prec)
- )
- ;---------------------------------------------
- ;set units to which ever number your choose
- ;----------------------------------------------
- (defun C:unitchg (/ units)
- (graphscr)
- (menucmd "s=ddunits")
- (setq units (getreal "Enter The Units From The Screen Menu: "))(terpri)
- (setvar "lunits" units)
- (menucmd "s=datum")
- )
- ;---------------------------------------------
- ;sets datum zero (0,0) for datum dimensioning
- ;---------------------------------------------
- ;
- (defun c:DATUM0 ()
- (graphscr)
- (setq datum (getpoint "Pick the Datum point ")) (terpri)
- (setvar "ucsicon" 3)
- (command "ucs" "or" datum)
- )
- ;---------------------------------------------
- ;creates an X direction datum dimensioning
- ;---------------------------------------------
- ;
- (defun C:DATUMX ( / dl2y dl2x dimx dimxy dimt dimang dl1 dl2 xt yt y txtp )
- (graphscr)
- (setvar "snapmode" 0)
- (setvar "orthomode" 1)
- (setq dimxy (getpoint "Pick the X dimension point ")) (terpri)
- (setvar "snapmode" 1)
- (setq dl2 (getpoint dimxy "Pick the second point of the dimension line")) (terpri)
- (setq dimx (car dimxy))
- (setq dl2y (cadr dimxy))
- (setq dl2x (car dimxy))
- (setq dimt (* (getvar "dimtxt") (getvar "dimscale")))
- (setq dimang (angle dl2 dimxy ))
- (setq dimang (rtd dimang))
- (setq xt (car dl2))
- (setq yt (cadr dl2))
- (if (= dimang 270) (setq dl2y (+ dl2y (* (getvar "dimexo")(getvar
- "dimscale")))) (setq dl2y (- dl2y (* (getvar "dimexo")(getvar "dimscale"))))
- )
- (if (= dimang 270) (setq y (+ yt (* (getvar "dimexo")(getvar "dimscale"))))
- (setq y (- yt (* (getvar "dimexo")(getvar "dimscale"))))
- )
- (setq txtp (list xt y))
- (setq dimxy (list dl2x dl2y))
- (setq dimx (rtos dimx))
- (command "layer" "m" "dim" "")
- (command "line" dimxy dl2 "")
- (if (= dimang 90) (command "text" "r" txtp dimt dimang dimx)
- (command "text" txtp dimt "90" dimx)
- )
- (setvar "orthomode" 0)
- (setvar "snapmode" 0)
- )
- ;---------------------------------------------
- ;creates an Y direction datum dimensioning
- ;---------------------------------------------
- (defun C:DATUMY ( / dimy dimxy dimt dimang dl1 dl2 xt yt x txtp )
- (graphscr)
- (setvar "orthomode" 1)
- (setvar "snapmode" 0)
- (setq dimxy (getpoint "Pick the Y dimension point ")) (terpri)
- (setvar "snapmode" 1)
- (setq dl2 (getpoint dimxy "Pick the second point of the dimension line")) (terpri)
- (setq dimy (cadr dimxy))
- (setq dl2x (car dimxy))
- (setq dl2y (cadr dimxy))
- (setq dimt (* (getvar "dimtxt") (getvar "dimscale")))
- (setq dimang (angle dimxy dl2 ))
- (setq dimang (rtd dimang))
- (setq xt (car dl2))
- (setq yt (cadr dl2))
- (if (= dimang 0) (setq dl2x (+ dl2x (* (getvar "dimexo")(getvar
- "dimscale")))) (setq dl2x (- dl2x (* (getvar "dimexo")(getvar "dimscale"))))
- )
- (if (= dimang 0) (setq x (+ xt (* (getvar "dimexo")(getvar "dimscale"))))
- (setq x (- xt (* (getvar "dimexo")(getvar "dimscale"))))
- )
- (setq dimxy (list dl2x dl2y))
- (setq txtp (list x yt))
- (setq dimy (rtos dimy))
- (command "layer" "m" "dim" "")
- (command "line" dimxy dl2 "")
- (if (= dimang 0) (command "text" txtp dimt dimang dimy)
- (command "text" "R" txtp dimt "0" dimy)
- )
- (setvar "snapmode" 0)
- (setvar "orthomode" 0)
- )