home *** CD-ROM | disk | FTP | other *** search
- ;**********************************
- ;* The program for drawing gear.*
- ;**********************************
- (DEFUN GEAR ()
- (SETVAR "CMDECHO" 0)
- (SETVAR "BLIPMODE" 0)
- (MENUCMD "S=GE1")
- (initget (+ 1 2 4))
- (setq m1 (getreal "\n╟δ╩Σ╚δ│▌┬╓╡──ú╩²: "))
- (MENUCMD "S=IN1")
- (initget (+ 1 2 4))
- (setq z (getreal "\n╟δ╩Σ╚δ│▌╩²: "))
- (setq alf (getreal "\n╟δ╩Σ╚δ╤╣┴ª╜╟(20): "))
- (if (null alf)(setq alf 20))
- (initget (+ 1 2 4))
- (setq l (getreal "\n╟δ╩Σ╚δ│▌┬╓╡─┐φ╢╚: "))
- (MENUCMD "S=IN2")
- (setq yn (getstring "\n╙╨ ╣½ ▓ε ╖±(N)? "))
- (MENUCMD "S=IN1")
- (if (null yn)(setq yn "n" schl 0 xchl 0))
- (if (or (= yn "y") (= yn "Y"))(progn
- (setq schl (getreal "\n╔╧ ╞½ ▓ε=: "))
- (setq xchl (getreal "\n╧┬ ╞½ ▓ε=: "))
- )
- )
- (setq angl 0 angr 0 dgl 0 dgr 0)
- (setq angl (getreal "\n╟δ╩Σ╚δ╫≤╡╣╜╟(12): "))
- (if (null angl)(progn
- (setq angl 12)
- (setq dgl (* 0.45 m1))
- ))
- (if (and (/= angl 0) (/= angl 12))(progn
- (setq dgl (getreal "\n╫≤ ╡╣ ╜╟ │ñ ╢╚(0): "))
- (if (null dgl)(setq dgl 0))
- ))
- (setq angr (getreal "\n╟δ╩Σ╚δ╙╥╡╣╜╟(12): "))
- (if (null angr)(progn
- (setq angr 12)
- (setq dgr (* 0.45 m1))
- ))
- (if (and (/= angr 0) (/= angr 12))(progn
- (setq dgr (getreal "\n╟δ╩Σ╚δ╙╥╡╣╜╟╡─│ñ╢╚(0): "))
- (if (null dgr)(setq dgr 0))
- ))
- (MENUCMD "S=IN2")
- (setq sc (getstring "\n┬▌ ╨² │▌ ┬╓ ╖±(N)? "))
- (MENUCMD "S=IN1")
- (if (null sc)(setq sc "n"))
- (if (or (/= sc "y") (/= sc "Y"))(setq bat 0))
- (if (or (= sc "y") (= sc "Y"))(setq bat (getreal "\n╩Σ ╚δ ┬▌ ╨² ╜╟=: ")))
- (MENUCMD "S=IN2")
- (if (/= bat 0)(setq yn (getstring "\n╫≤ ╨²(L) ╗≥ ╙╥ ╨²(R)? ")))
- (if (null yn)(setq yn "R"))
- (if (= yn " ")(setq yn "R"))
- (setq dr (* (+ z 2) m1) dr1 dr dl1 dr l1 l kd (* m1 z))
- (setq dgl1 dgl dgr1 dgr dgl (* dgl s) dgr (* dgr s))
- (setq dr (* (/ dr 2) s) dl dr l (* l s) kd (* (/ kd 2) s))
- (dbsa1 xb 0)
- (setq tof (list xb (+ yb kd)) toe (list (+ xb l) (+ yb kd)))
- (setq bof (list xb (- yb kd)) boe (list (+ xb l) (- yb kd)))
- (command "layer" "n" "f7" "s" "f7" "l" "dashdot" "" "")
- (command "line" tof toe "")
- (command "line" bof boe "")
- (command "layer" "s" 0 "l" "" "" "")
- (setq t (/ (sin (* (/ 3.14 180) bat)) (cos (* (/ 3.14 180) bat))))
- (setq atr (* t (/ l 2)))
- (setq tof (list 0 0) bof tof boe tof bof tof toe tof)
- (if (= yn "L")(setq atr (- 0 atr)))
- (if (/= bat 0)(setq tof (list (+ xb dgl) (+ yb atr))))
- (if (/= bat 0)(setq toe (list (- (+ xb l) dgr) (- yb atr))))
- (if (/= bat 0)(setq bof (list (+ xb dgl) (+ yb atr 0.1))))
- (if (/= bat 0)(setq boe (list (- (+ xb l) dgr) (+ (- yb atr) 0.1))))
- (command "line" tof toe "")
- (command "line" bof boe "")
- (FN)
- (NZ1)
- (attdef2)
- (attdef1 "nzl1" nzl fpt)
- (attdef1 "gpsz1" "Z" fpt)
- (attdef1 "m1" m1 fpt)
- (attdef1 "bf1" bat fpt)
- (attdef1 "alf1" alf fpt)
- (attdef1 "z11" z fpt)
- (attdef1 "dir1" yn fpt)
- (if (= nol no)
- (command "block" no "Y" fpt "w" (list xb (- yb dr)) (list (+ xb l) (+ yb dr)) "")
- (command "block" no fpt "w" (list xb (- yb dr)) (list (+ xb l) (+ yb dr)) "")
- )
- (command "insert" no fpt "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "")
- (XB1)
- (MENUCMD "S=SCREEN")
- (MENUCMD "S=IN2")
- (SETQ YN (GETSTRING "\n╩╟╖±╝╠╨°╗¡═Γ▒φ├µ: "))
- (IF (OR (= YN "Y") (= YN "y") (= YN ""))
- (PROGN(MENUCMD "I=YY")
- (MENUCMD "I=*")
- )
- (MENUCMD "S=SCREEN")
- )
- )
- (GEAR)