home *** CD-ROM | disk | FTP | other *** search
- ;*******************************************************************
- ;* The function to dimension any character, taper, chamfer, etc. *
- ;*******************************************************************
- (defun PZ ()
- (SETVAR "CMDECHO" 0)
- (MENUCMD "S=PZ1")
- (setq f (getint "\n╤í╘±▒Ω╫ó└α╨═: 0:╫╓╖√; 1:╡╣╜╟; 2:╫╢╢╚; 3:╨▒╢╚; 4:╛∙▓╝. <0>: "))
- (if (null f) (setq f 0))
- (point1)
- (MENUCMD "S=IN1")
- (if (= f 1)
- (setq pt2 (osnap pt1 "end") a1 (angle pt1 pt2) pt1 pt2
- d (getdist "\n╥²│÷╧▀│ñ╢╚: ") pt2 (polar pt1 a1 d)
- )
- (setq pt2 (getpoint "\n╬─╫╓╡π: "))
- )
- (scale1)
- (setq str (getstring T "\n╬─╫╓: "))
- (if (= f 1) (setq str (strcat str "x45%%d") n (- (strlen str) 2)) (setq n (strlen str)))
- (if (or (= f 2) (= f 3))
- (setq d1 (+ (* n 2.9 sca) (* 7 sca)))
- (setq d1 (* n 2.9 sca))
- )
- (if (> (car pt1) (car pt2))
- (setq a2 pi)
- (setq a2 0)
- )
- (setq pt3 (polar pt2 a2 d1))
- (if (> (car pt1) (car pt2)) (setq pt4 pt3) (setq pt4 pt2))
- (if (or (= f 2) (= f 3))
- (setq pt5 (list (+ (car pt4) (* 6.5 sca)) (+ (cadr pt4) (* 1.2 sca)))
- pt6 (list (+ (car pt5) (* (strlen str) 1.4 sca)) (cadr pt5)))
- (setq pt6 (list (+ (car pt4) (/ d1 2)) (+ (cadr pt4) (* 1.2 sca))))
- )
- (if (= f 2) (setq st1 "zd"))
- (if (= f 3) (setq st1 "xd"))
- (if (= f 4) (setq pt5 pt6 st1 "jb"))
- (command "layer" "s" 6 "" "line" pt1 pt2 pt3 "")
- (command "text" "c" pt6 (* 3 sca) 0 str)
- (if (or (= f 2) (= f 3) (= f 4)) (progn
- (if (or (null st1) (null pt5)) (err))
- (command "insert" (strcat "gbz\\" st1) pt5 sca sca 0)
- )
- )
- (redraw)
- (MENUCMD "S=SCREEN")
- )
- (PZ)