home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p190 / 3.ddi / LSP / PZ.LSP < prev    next >
Encoding:
Text File  |  1990-07-19  |  1.7 KB  |  49 lines

  1. ;*******************************************************************
  2. ;*  The function to dimension any character, taper, chamfer, etc.  *
  3. ;*******************************************************************
  4. (defun PZ ()
  5. (SETVAR "CMDECHO" 0)
  6.   (MENUCMD "S=PZ1")
  7.    (setq f (getint "\n╤í╘±▒Ω╫ó└α╨═: 0:╫╓╖√; 1:╡╣╜╟; 2:╫╢╢╚; 3:╨▒╢╚; 4:╛∙▓╝. <0>: "))
  8.    (if (null f) (setq f 0))
  9.    (point1)
  10.   (MENUCMD "S=IN1")
  11.    (if (= f 1)
  12.        (setq pt2 (osnap pt1 "end") a1 (angle pt1 pt2) pt1 pt2
  13.              d (getdist "\n╥²│÷╧▀│ñ╢╚: ") pt2 (polar pt1 a1 d)
  14.        )
  15.        (setq pt2 (getpoint "\n╬─╫╓╡π: "))
  16.    )
  17.    (scale1)
  18.    (setq str (getstring T "\n╬─╫╓: "))
  19.    (if (= f 1) (setq str (strcat str "x45%%d") n (- (strlen str) 2)) (setq n (strlen str)))
  20.    (if (or (= f 2) (= f 3))
  21.        (setq d1 (+ (* n 2.9 sca) (* 7 sca)))
  22.        (setq d1 (* n 2.9 sca))
  23.    )
  24.    (if (> (car pt1) (car pt2))
  25.        (setq a2 pi)
  26.        (setq a2 0)
  27.    )
  28.    (setq pt3 (polar pt2 a2 d1))
  29.    (if (> (car pt1) (car pt2)) (setq pt4 pt3) (setq pt4 pt2))
  30.    (if (or (= f 2) (= f 3))
  31.        (setq pt5 (list (+ (car pt4) (* 6.5 sca)) (+ (cadr pt4) (* 1.2 sca)))
  32.              pt6 (list (+ (car pt5) (* (strlen str) 1.4 sca)) (cadr pt5)))
  33.        (setq pt6 (list (+ (car pt4) (/ d1 2)) (+ (cadr pt4) (* 1.2 sca))))
  34.    )
  35.    (if (= f 2) (setq st1 "zd"))
  36.    (if (= f 3) (setq st1 "xd"))
  37.    (if (= f 4) (setq pt5 pt6 st1 "jb"))
  38.    (command "layer" "s" 6 "" "line" pt1 pt2 pt3 "")
  39.    (command "text" "c" pt6 (* 3 sca) 0 str)
  40.    (if (or (= f 2) (= f 3) (= f 4)) (progn
  41.        (if (or (null st1) (null pt5)) (err))
  42.        (command "insert" (strcat "gbz\\" st1) pt5 sca sca 0)
  43.        )
  44.    )
  45.    (redraw)
  46.   (MENUCMD "S=SCREEN")
  47. )
  48. (PZ)
  49.