home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p190 / 4.ddi / LSP2 / HM37.LSP < prev    next >
Encoding:
Text File  |  1990-03-10  |  4.1 KB  |  120 lines

  1. (defun ZXK()
  2. (SETVAR "CMDECHO" 0)
  3. (setvar "blipmode" 0)
  4. (MENUCMD "S=ZXK1")
  5. (SETQ LX (GETSTRING "\n╟δ╩Σ╚δ╧·┐╫└α╨═: "))
  6. (setq fpt1 (getpoint "\n╟δ╩Σ╚δ╗∙╡π: "))
  7. (WHILE(/= FPT1 NIL)
  8.  (MENUCMD "S=ZK1")
  9.  (INITGET "Y N")
  10.  (SETQ YN (GETKWORD "\n╟δ╩Σ╚δ▒Ω╫ó╫°▒Ω╧╡: "))
  11.  (COND ((= YN "")(SETQ YN "Y")))
  12.  (MENUCMD "S=IN1")
  13.  (IF (= YN "Y")
  14.   (PROGN
  15.   (SETQ XPT (GETREAL "\n╟δ╩Σ╚δ▓σ╚δ╡π╛α╗∙╡π╡─╦«╞╜╛α└δ(0): "))
  16.   (COND ((= XPT NIL)(SETQ XPT 0)))
  17.   (SETQ YPT (GETREAL "\n╟δ╩Σ╚δ▓σ╚δ╡π╛α╗∙╡π╡─┤╣╓▒╛α└δ(0): "))
  18.   (COND ((= YPT NIL)(SETQ YPT 0)))
  19.   (SETQ XPT (* XPT S) YPT (* YPT S))
  20.   (SETQ FPT (LIST (+ (CAR FPT1) XPT) (+ (CADR FPT1) YPT)))
  21.   )
  22.   (PROGN
  23.   (SETQ RW (GETREAL "\n╟δ╩Σ╚δ▓σ╚δ╡π╛α╗∙╡π╡─╛α└δ(0): "))
  24.   (COND ((= RW NIL)(SETQ RW 0)))
  25.   (SETQ RW (* RW S))
  26.   (SETQ FPT (LIST (CAR FPT1) (+ (CADR FPT1) RW)))
  27.  ))
  28.  (SETQ D (GETREAL "\n╟δ╩Σ╚δ╘▓╫╢╧·╗≥╘▓╓∙╧·╡─╣½│╞╓▒╛╢: "))
  29.  (SETQ N1 (GETINT "\n╟δ╩Σ╚δ╧α═¼╓▒╛╢╧·┐╫╡─╕÷╩²: "))
  30.  (SETQ N 1)
  31.  (setq d (* d s))
  32.  (setq r (/ d 2)) 
  33.  (COND ((= YN "N")
  34.  (setq xc (car fpt) yc (cadr fpt))
  35.  (setq pa (list (- xc r 4) yc))
  36.  (setq pb (list (+ xc r 4) yc))
  37.  (setq pc (list xc (+ yc r 4)))
  38.  (setq pd (list xc (- yc r 4)))
  39.  (SETQ LB (LIST (CAR PA) (CADR PD)))
  40.  (SETQ RT (LIST (CAR PB) (CADR PC)))
  41.  (command "layer" "s" "1" "")
  42.  (command "line" pa pb "")
  43.  (command "line" pc pd "")
  44.  (COND ((/= YN "Y")(COMMAND "CIRCLE" FPT1 RW)))
  45.  (command "layer" "s" "0" "")
  46.  (command "circle" fpt "d" (+ d 0.3))
  47.  (command "circle" fpt "d" d)
  48.  (command "circle" fpt "d" (- d 0.3))
  49.  ))
  50.  (WHILE (AND (<= N N1) (= YN "Y"))
  51.  (setq xc (car fpt) yc (cadr fpt))
  52.  (setq pa (list (- xc r 4) yc))
  53.  (setq pb (list (+ xc r 4) yc))
  54.  (setq pc (list xc (+ yc r 4)))
  55.  (setq pd (list xc (- yc r 4)))
  56.  (SETQ LB (LIST (CAR PA) (CADR PD)))
  57.  (SETQ RT (LIST (CAR PB) (CADR PC)))
  58.  (command "layer" "s" "1" "")
  59.  (command "line" pa pb "")
  60.  (command "line" pc pd "")
  61.  (COND ((/= YN "Y")(COMMAND "CIRCLE" FPT1 RW)))
  62.  (command "layer" "s" "0" "")
  63.  (command "circle" fpt "d" (+ d 0.3))
  64.  (command "circle" fpt "d" d)
  65.  (command "circle" fpt "d" (- d 0.3))
  66.   (COND ((AND (= YPT 0) (/= N 1))
  67.     (SETQ PTBJ (GETPOINT "\n╟δ╩Σ╚δ╦«╞╜│▀┤τ╧▀╡─╬╗╓├: "))
  68.     (SETQ LX (RTOS (ABS (/ XPT S)) 2 0))
  69.     (COMMAND "DIM" "DIMTXT" 0.2 "HOR" PTS FPT2 PTBJ LX "EXIT")
  70.   ))
  71.   (COND ((AND (= XPT 0) (/= N 1))
  72.     (SETQ PTBJ (GETPOINT "\n╟δ╩Σ╚δ┤╣╓▒│▀┤τ╧▀╡─╬╗╓├: "))
  73.     (SETQ LY (RTOS (ABS (/ YPT S)) 2 0))
  74.     (COMMAND "DIM" "DIMTXT" 0.2 "VER" PTS FPT2 PTBJ LY "EXIT")
  75.   ))
  76.   (COND ((/= N N1)
  77.    (SETQ XPT (GETREAL "\n╟δ╩Σ╚δ╧┬╥╗╕÷▓σ╚δ╡π╡─╦«╞╜╛α└δ(0): "))
  78.    (COND ((= XPT NIL)(SETQ XPT 0)))
  79.    (SETQ YPT (GETREAL "\n╟δ╩Σ╚δ╧┬╥╗╕÷▓σ╚δ╡π╡─┤╣╓▒╛α└δ(0): "))
  80.    (COND ((= YPT NIL)(SETQ YPT 0)))
  81.    (SETQ XPT (* XPT S) YPT (* YPT S))
  82.    (SETQ FPT2 (LIST (+ (CAR FPT) XPT) (+ (CADR FPT) YPT)))
  83.    (SETQ PTS FPT)
  84.    (SETQ FPT FPT2)
  85.   ))
  86.   (SETQ N (+ N 1))
  87.  )
  88.  (COND ((/= YN "Y")(COMMAND "ARRAY" "W" LB RT "" "P" FPT1 N1 360 "")))
  89.  (SETQ PT1 (GETPOINT "\n╟δ╩Σ╚δ▒Ω╫ó╧▀╡─╞≡╡π: "))
  90.  (SETQ GMA (ATAN (- (CADR PT1) (CADR FPT)) (- (CAR PT1) (CAR FPT))))
  91.  (SETQ PT2 (POLAR FPT (+ PI GMA) D))
  92.  (COMMAND "LINE" PT1 PT2 "")
  93.  (SETQ PR1 (POLAR FPT GMA R) PR2 (POLAR FPT (+ PI GMA) R))
  94.  (SETQ GMA1 (* (/ GMA PI) 180))
  95.  (COMMAND "INSERT" "DWG/ZITO" PR1 "" "" GMA1)
  96.  (COMMAND "INSERT" "DWG/ZITO" PR2 "" "" (+ GMA1 180))
  97.  (COMMAND "STYLE" "HZ" "" "" "" "" "" "")
  98.   (SETQ BJ (STRCAT "  ┼Σ╫≈"))
  99.   (SETQ PT0 (LIST (CAR PT1) (- (CADR PT1) 8)))
  100.   (COMMAND "TEXT" PT0 7 0 BJ)
  101.   (SETQ BJ (STRCAT "%%U" (ITOA N1) "-" "%%C" (RTOS (/ D S) 2 0) "╫╢╧·┐╫"))
  102.   (COND ((= LX "ZHU")(SETQ BJ (STRCAT "%%U" (ITOA N1) "-" "%%C" (RTOS (/ D S) 2 0) "╓∙╧·┐╫"))))
  103.   (SETQ PT0 (LIST (CAR PT1) (+ (CADR PT1) 1)))
  104.   (COMMAND "TEXT" PT0 7 0 BJ)
  105.  (COMMAND "STYLE" "STANDARD" "" "" "" "" "" "" "")
  106.  (COND ((/= YN "Y")
  107.   (COMMAND "OSNAP" "NEAREST")
  108.   (SETQ PTW (GETPOINT "\n╟δ╩Σ╚δ┐╫╢¿╬╗╧▀╡─╬╗╓├: "))
  109.   (SETQ DW (RTOS (* (/ RW S) 2) 2 0))
  110.   (SETQ BZ (STRCAT "%%C" DW))
  111.   (COMMAND "DIM" "DIMTXT" 0.2 "DIA" PTW BZ "EXIT")
  112.   (COMMAND "OSNAP" "NONE")
  113.  ))
  114.  (SETQ  FPT1 (GETPOINT "\n╟δ╩Σ╚δ╧┬╥╗╕÷═¿┐╫╡─╗∙╡π, ╗≥╗╪│╡╜ß╩°: "))
  115. )
  116.  (redraw)
  117.  (MENUCMD "S=SCREEN")
  118. )
  119. (ZXK)
  120.