home *** CD-ROM | disk | FTP | other *** search
- (defun ZGK()
- (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)))
- ))
- (setq d (getdist "\n╟δ╩Σ╚δ┐╫╡─╓▒╛╢:"))
- (SETQ H (GETREAL "\n╟δ╩Σ╚δ╣Γ┐╫╡─╔ε╢╚: "))
- (SETQ N1 (GETINT "\n╟δ╩Σ╚δ╧α═¼╓▒╛╢╣Γ┐╫╡─╕÷╩²: "))
- (setq d (* d s))
- (setq r (/ d 2))
- (SETQ N 1)
- (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" (+ d 0.3))
- (command "circle" fpt "d" d)
- (command "circle" fpt "d" (- d 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" (+ d 0.3))
- (command "circle" fpt "d" d)
- (command "circle" fpt "d" (- d 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) D))
- (COMMAND "LINE" PT1 PT2 "")
- (SETQ PR1 (POLAR FPT GMA R) PR2 (POLAR FPT (+ PI GMA) R))
- (SETQ GMA1 (* (/ GMA PI) 180))
- (COMMAND "INSERT" "DWG/ZITO" PR1 "" "" GMA1)
- (COMMAND "INSERT" "DWG/ZITO" PR2 "" "" (+ GMA1 180))
- (COMMAND "STYLE" "HZ" "" "" "" "" "" "")
- (SETQ BJ (STRCAT "%%U" (ITOA N1) "-" "%%C" (RTOS (/ D S) 2 0) "╔ε" (RTOS H 2 0)))
- (SETQ PT0 (LIST (CAR PT1) (+ (CADR PT1) 1)))
- (COMMAND "TEXT" PT0 7 0 BJ)
- (COND ((/= YN "Y")
- (SETQ PT0 (LIST (CAR PT1) (- (CADR PT1) 8)))
- (COMMAND "TEXT" PT0 7 0 "╛∙▓╝")
- (COMMAND "STYLE" "STANDARD" "" "" "" "" "" "" "")
- (COMMAND "OSNAP" "NEAREST")
- (SETQ PTW (GETPOINT "\n╟δ╩Σ╚δ┐╫╢¿╬╗╧▀╡─╬╗╓├: "))
- (SETQ DW (* RW 2))
- (SETQ DW (RTOS (/ DW S) 2 0))
- (SETQ BZ (STRCAT "%%C" DW))
- (COMMAND "DIM" "DIMTXT" 0.2 "DIA" PTW BZ "EXIT")
- (COMMAND "OSNAP" "NONE")
- ))
- (COMMAND "STYLE" "STANDARD" "" "" "" "" "" "" "")
- (SETQ FPT1 (GETPOINT "\n╟δ╩Σ╚δ╧┬╥╗╕÷═¿┐╫╡─╗∙╡π, ╗≥╗╪│╡╜ß╩°: "))
- )
- (redraw)
- (MENUCMD "S=SCREEN")
- )
- (ZGK)