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

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