home *** CD-ROM | disk | FTP | other *** search
- (defun ZHP()
- (SETVAR "CMDECHO" 0)
- (setvar "blipmode" 0)
- (setq fpt1 (getpoint "\n╟δ╩Σ╚δ╗∙╡π: "))
- (WHILE(/= FPT1 NIL)
- (MENUCMD "S=ZK1")
- (INITGET "Y N")
- (SETQ YN (GETKWORD "\n╟δ╩Σ╚δ▒Ω╫ó╫°▒Ω╧╡: "))
- (COND ((= YN "")(SETQ YN "Y")))
- (MENUCMD "S=IN1")
- (IF (= YN "Y")
- (PROGN
- (SETQ XPT (GETREAL "\n╟δ╩Σ╚δ▓σ╚δ╡π╛α╗∙╡π╡─╦«╞╜╛α└δ(0): "))
- (COND ((= XPT NIL)(SETQ XPT 0)))
- (SETQ YPT (GETREAL "\n╟δ╩Σ╚δ▓σ╚δ╡π╛α╗∙╡π╡─┤╣╓▒╛α└δ(0): "))
- (COND ((= YPT NIL)(SETQ YPT 0)))
- (SETQ XPT (* XPT S) YPT (* YPT S))
- (SETQ FPT (LIST (+ (CAR FPT1) XPT) (+ (CADR FPT1) YPT)))
- )
- (PROGN
- (SETQ RW (GETREAL "\n╟δ╩Σ╚δ▓σ╚δ╡π╛α╗∙╡π╡─╛α└δ(0): "))
- (COND ((= RW NIL)(SETQ RW 0)))
- (SETQ RW (* RW S))
- (SETQ FPT (LIST (CAR FPT1) (+ (CADR FPT1) RW)))
- ))
- (MENUCMD "P1=HP1")
- (MENUCMD "P1=*")
- (SETQ D1 (GETREAL "\n╟δ╩Σ╚δ╗«╞╜┬▌┐╫╡─╣½│╞╓▒╛╢: "))
- (SETQ D2 (GETREAL))
- (SETQ N1 (GETINT "\n╟δ╩Σ╚δ╧α═¼╓▒╛╢│┴┐╫╡─╕÷╩²: "))
- (SETQ N 1)
- (SETQ D1 (* D1 S) D2 (* D2 S))
- (SETQ R (/ D2 2))
- (COND ((= YN "N")
- (setq xc (car fpt) yc (cadr fpt))
- (setq pa (list (- xc r 4) yc))
- (setq pb (list (+ xc r 4) yc))
- (setq pc (list xc (+ yc r 4)))
- (setq pd (list xc (- yc r 4)))
- (SETQ LB (LIST (CAR PA) (CADR PD)))
- (SETQ RT (LIST (CAR PB) (CADR PC)))
- (command "layer" "s" "1" "")
- (command "line" pa pb "")
- (command "line" pc pd "")
- (COND ((/= YN "Y")(COMMAND "CIRCLE" FPT1 RW)))
- (command "layer" "s" "0" "")
- (COMMAND "CIRCLE" FPT "D" (+ D1 0.3))
- (COMMAND "CIRCLE" FPT "D" D1)
- (COMMAND "CIRCLE" FPT "D" (- D1 0.3))
- (COMMAND "CIRCLE" FPT "D" (+ D2 0.3))
- (COMMAND "CIRCLE" FPT "D" D2)
- (COMMAND "CIRCLE" FPT "D" (- D2 0.3))
- ))
- (WHILE (AND (<= N N1) (= YN "Y"))
- (setq xc (car fpt) yc (cadr fpt))
- (setq pa (list (- xc r 4) yc))
- (setq pb (list (+ xc r 4) yc))
- (setq pc (list xc (+ yc r 4)))
- (setq pd (list xc (- yc r 4)))
- (SETQ LB (LIST (CAR PA) (CADR PD)))
- (SETQ RT (LIST (CAR PB) (CADR PC)))
- (command "layer" "s" "1" "")
- (command "line" pa pb "")
- (command "line" pc pd "")
- (COND ((/= YN "Y")(COMMAND "CIRCLE" FPT1 RW)))
- (command "layer" "s" "0" "")
- (COMMAND "CIRCLE" FPT "D" (+ D1 0.3))
- (COMMAND "CIRCLE" FPT "D" D1)
- (COMMAND "CIRCLE" FPT "D" (- D1 0.3))
- (COMMAND "CIRCLE" FPT "D" (+ D2 0.3))
- (COMMAND "CIRCLE" FPT "D" D2)
- (COMMAND "CIRCLE" FPT "D" (- D2 0.3))
- (COND ((AND (= YPT 0) (/= N 1))
- (SETQ PTBJ (GETPOINT "\n╟δ╩Σ╚δ╦«╞╜│▀┤τ╧▀╡─╬╗╓├: "))
- (SETQ LX (RTOS (ABS (/ XPT S)) 2 0))
- (COMMAND "DIM" "DIMTXT" 0.2 "HOR" PTS FPT2 PTBJ LX "EXIT")
- ))
- (COND ((AND (= XPT 0) (/= N 1))
- (SETQ PTBJ (GETPOINT "\n╟δ╩Σ╚δ┤╣╓▒│▀┤τ╧▀╡─╬╗╓├: "))
- (SETQ LY (RTOS (ABS (/ YPT S)) 2 0))
- (COMMAND "DIM" "DIMTXT" 0.2 "VER" PTS FPT2 PTBJ LY "EXIT")
- ))
- (COND ((/= N N1)
- (SETQ XPT (GETREAL "\n╟δ╩Σ╚δ╧┬╥╗╕÷▓σ╚δ╡π╡─╦«╞╜╛α└δ(0): "))
- (COND ((= XPT NIL)(SETQ XPT 0)))
- (SETQ YPT (GETREAL "\n╟δ╩Σ╚δ╧┬╥╗╕÷▓σ╚δ╡π╡─┤╣╓▒╛α└δ(0): "))
- (COND ((= YPT NIL)(SETQ YPT 0)))
- (SETQ XPT (* XPT S) YPT (* YPT S))
- (SETQ FPT2 (LIST (+ (CAR FPT) XPT) (+ (CADR FPT) YPT)))
- (SETQ PTS FPT)
- (SETQ FPT FPT2)
- ))
- (SETQ N (+ N 1))
- )
- (COND ((/= YN "Y")(COMMAND "ARRAY" "W" LB RT "" "P" FPT1 N1 360 "")))
- (SETQ PT1 (GETPOINT "\n╟δ╩Σ╚δ▒Ω╫ó╧▀╡─╞≡╡π: "))
- (SETQ GMA (ATAN (- (CADR PT1) (CADR FPT)) (- (CAR PT1) (CAR FPT))))
- (SETQ PT2 (POLAR FPT (+ PI GMA) D1))
- (COMMAND "LINE" PT1 PT2 "")
- (SETQ PR1 (POLAR FPT GMA (/ D1 2)))
- (SETQ PR2 (POLAR FPT (+ PI GMA) (/ D1 2)))
- (SETQ GMA1 (* (/ GMA PI) 180))
- (COMMAND "INSERT" "DWG/ZITO" PR1 "" "" GMA1)
- (COMMAND "INSERT" "DWG/ZITO" PR2 "" "" (+ GMA1 180))
- (COMMAND "STYLE" "HZ" "" "" "" "" "" "")
- (SETQ BJ (STRCAT "╗«╞╜" "%%C" (RTOS (/ D2 S) 2 0)))
- (SETQ PT0 (LIST (CAR PT1) (- (CADR PT1) 8)))
- (COMMAND "TEXT" PT0 7 0 BJ)
- (IF (= YN "Y")
- (SETQ BJ (STRCAT "%%U" (ITOA N1) "-" "%%C" (RTOS (/ D1 S) 2 0) " "))
- (SETQ BJ (STRCAT "%%U" (ITOA N1) "-" "%%C" (RTOS (/ D1 S) 2 0) "╛∙▓╝"))
- )
- (SETQ PT0 (LIST (CAR PT1) (+ (CADR PT1) 1)))
- (COMMAND "TEXT" PT0 7 0 BJ)
- (COMMAND "STYLE" "STA" "" "" "" "" "" "" "")
- (COND ((/= YN "Y")
- (COMMAND "OSNAP" "NEAREST")
- (SETQ PTW (GETPOINT "\n╟δ╩Σ╚δ┐╫╢¿╬╗╧▀╡─╬╗╓├: "))
- (SETQ DW (RTOS (* (/ RW S) 2) 2 0))
- (SETQ BZ (STRCAT "%%C" DW))
- (COMMAND "DIM" "DIMTXT" 0.2 "DIA" PTW BZ "EXIT")
- (COMMAND "OSNAP" "NONE")
- ))
- (SETQ FPT1 (GETPOINT "\n╟δ╩Σ╚δ╧┬╥╗╕÷│┴┐╫╡─╗∙╡π, ╗≥╗╪│╡╜ß╩°: "))
- )
- (redraw)
- (MENUCMD "S=SCREEN")
- )
- (ZHP)