home *** CD-ROM | disk | FTP | other *** search
- ;**************************************
- ;* The fuction for drwing worm wheel*
- ;*************************************
- (defun WWHEEL ()
- (SETVAR "CMDECHO" 0)
- (SETVAR "BLIPMODE" 0)
- (SETQ DGCH "")
- (MENUCMD "S=WB1")
- (SETQ M (GETREAL "\n╟δ╩Σ╚δ╬╧┬╓╡──ú╩²: "))
- (MENUCMD "S=IN1")
- (SETQ Q (GETREAL "\n╟δ╩Σ╚δ╬╧╕╦╡─╠╪╨╘╧╡╩²: "))
- (SETQ Z1 (GETREAL "\n╟δ╩Σ╚δ╬╧╕╦╡─═╖╩²: "))
- (SETQ Z2 (GETREAL "\n╟δ╩Σ╚δ╬╧┬╓╡─│▌╩²: "))
- (MENUCMD "S=IN2")
- (SETQ YY (GETSTRING "\n╟δ╩Σ╚δ┬▌╨²╖╜╧≥(R): "))
- (COND ((= YY "")(SETQ YY "R")))
- (MENUCMD "S=IN1")
- (SETQ ALF (GETREAL "\n╟δ╩Σ╚δ╬╧┬╓╡─╤╣┴ª╜╟(20): "))
- (COND ((= ALF NIL)(SETQ ALF 20)))
- (SETQ DF1 (* M Q))
- (SETQ DF2 (* M Z2))
- (SETQ DE2 (* M (+ Z2 2)))
- (SETQ DI2 (* M (- Z2 2.4)))
- (SETQ R1 (- (/ DF1 2) M))
- (SETQ R2 (+ (/ DF1 2) (* 1.2 M)))
- (SETQ LMIN (* 2 (SQRT (- (* (/ DF1 2) (/ DF1 2)) (* R1 R1)))))
- ;(SETQ LMIN (* 2 (* (/ DF1 2) (SIN (/ (* 22.5 PI) 180)))))
- (GRTEXT -1 (STRCAT (RTOS LMIN 2 2) " <╬╧┬╓╡─│▌┐φ<= " (RTOS DF1 2 2)))
- (SETQ L1 (GETREAL "\n╟δ╩Σ╚δ╬╧┬╓╡─│▌┐φ: "))
- (GRTEXT -1 (STRCAT "╖°░σ╡─┐φ╢╚< " (RTOS L1 2 2)))
- (SETQ L2 (GETREAL "\n╟δ╩Σ╚δ╖°░σ╡─┐φ╢╚: "))
- (SETQ K (GETREAL "\n╟δ╩Σ╚δ│▌╕∙╡─║±╢╚: "))
- (SETQ D1 (* 2 (- (/ (+ DF1 DF2) 2) (+ R2 K))))
- (GRTEXT -1 (STRCAT "┬╓╘╡╡─╓▒╛╢< " (RTOS D1 2 2)))
- (SETQ D1 (GETREAL "\n╟δ╩Σ╚δ┬╓╘╡╓▒╛╢: "))
- (GRTEXT)
- (SETQ L (GETREAL "\n╟δ╩Σ╚δ┬╓╘╡╡─┐φ╢╚: "))
- (INITGET "Y N")
- (SETQ DGL1 (GETREAL "\n╟δ╩Σ╚δ┬╓╘╡╡╣╜╟│ñ╢╚(0): "))
- (COND ((= DGL1 NIL)(SETQ DGL1 0 ANGL 0)))
- (COND ((/= DGL1 0)(SETQ ANGL (GETREAL "\n╟δ╩Σ╚δ┬╓╘╡╡╣╜╟: "))))
- (SETQ DGL1 (* DGL1 S))
- (SETQ DF1 (* DF1 S) DF2 (* DF2 S) DE2 (* DE2 S))
- (SETQ DI2 (* DI2 S) R1 (* R1 S) R2 (* R2 S))
- (SETQ L1 (* L1 S) D1 (* D1 S) L (* L S) L2 (* L2 S) K (* K S))
- (SETQ P1 (LIST XB (+ YB (/ D1 2))))
- (SETQ P2 (LIST (+ XB (/ (- L L1) 2)) (CADR P1)))
- (SETQ PO (LIST (+ XB (/ L 2)) (+ YB (/ (+ DF1 DF2) 2))))
- (SETQ P3 (LIST (- (CAR PO) (/ L2 2)) (CADR P2)))
- (SETQ RK (+ R2 K))
- (SETQ X4 (/ L2 2))
- (SETQ Y4 (SQRT (- (* RK RK) (* X4 X4))))
- (SETQ P4 (LIST (CAR P3) (- (CADR PO) Y4)))
- (SETQ X5 (/ L1 2))
- (SETQ Y5 (SQRT (- (* RK RK) (* X5 X5))))
- (SETQ P5 (LIST (CAR P2) (- (CADR PO) Y5)))
- (SETQ Y6 (SQRT (- (* R2 R2) (* X5 X5))))
- (SETQ P6 (LIST (CAR P2) (- (CADR PO) Y6)))
- (SETQ R3 (/ DF1 2))
- (SETQ Y7 (SQRT (- (* R3 R3) (* X5 X5))))
- (SETQ P7 (LIST (CAR P2) (- (CADR PO) Y7)))
- (SETQ X8 (SQRT (- (* R1 R1) (* Y7 Y7))))
- (SETQ P8 (LIST (- (CAR PO) X8) (- (CADR PO) Y7)))
- (SETQ P9 (LIST (CAR PO) (- (CADR PO) R1)))
- (SETQ P10 (LIST (CAR PO) (- (CADR PO) (/ DF1 2))))
- (SETQ P11 (LIST (CAR PO) (- (CADR PO) R2)))
- (SETQ B (LIST XB YB))
- (COMMAND "LINE" B P1 P2 P6 P7 P8 "")
- (COMMAND "ARC" P8 "C" PO P9 )
- (COMMAND "ARC" P6 "C" PO P11 )
- (COMMAND "LAYER" "N" "F2" "S" "F2" "L" "HIDDEN" "" "C" "G" "" "")
- (COMMAND "LINE" P2 P3 P4 "")
- (COMMAND "ARC" P5 "C" PO P4 )
- (COMMAND "LAYER" "N" "F7" "S" "F7" "L" "DASHDOT" "" "C" "Y" "" "")
- (COMMAND "ARC" P7 "C" PO P10 )
- (COMMAND "MIRROR" "W" B PO "" PO P11 "N")
- (SETQ PO1 (LIST (+ (CAR B) L) (CADR PO)))
- (SETQ PO2 (LIST (CAR PO) (CADR B)))
- (COMMAND "MIRROR" "W" B PO1 "" B PO2 "N")
- (COMMAND "LAYER" "S" 0 "L" "" "" "")
- (FN)
- (SETQ DL1 D1 DR1 D1 SCHL Z1 XCHL L1 ANGR Q L1 L)
- (SETQ DGR1 L2 LK K)
- (SETQ DL1 (/ DL1 S) DR1 (/ DR1 S) L1 (/ L1 S))
- (SETQ XCHL (/ XCHL S) DGL1 (/ DGL1 S))
- (SETQ DGR1 (/ DGR1 S) LK (/ LK S))
- (attdef2)
- (ATTDEF1 "LK1" LK FPT)
- (ATTDEF1 "GPSZ1" "WW" FPT)
- (ATTDEF1 "M1" M FPT)
- (ATTDEF1 "ALF1" ALF FPT)
- (ATTDEF1 "Z11" Z2 FPT)
- (ATTDEF1 "DIR1" YY FPT)
- (SETQ LB (LIST (CAR B) (- 0 (CADR PO))))
- (SETQ RT (LIST (+ (CAR B) L) (CADR PO)))
- (command "block" no fpt "w" LB RT "")
- (command "insert" no fpt "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "")
- (XB1)
- ;(redraw)
- ;(MENUCMD "S=IN2")
- ;(SETQ YN (GETSTRING "\n╩╟╖±╝╠╨°╗¡═Γ▒φ├µ: "))
- ;(IF (OR (= YN "Y") (= YN "y"))
- ; (PROGN(MENUCMD "I=YY")
- ; (MENUCMD "I=*")
- ; )
- (MENUCMD "S=SCREEN")
- ;)
- )
- (WWHEEL)