home *** CD-ROM | disk | FTP | other *** search
- (defun input (sl m)
- ;(SETVAR "CMDECHO" 0)
- (MENUCMD "S=IN1")
- (initget (+ 1 2 4))
- (setq l (getreal "\n╩Σ ╚δ │ñ ╢╚=: "))
- (if (= sl 1)(setq l (rtos l)))
- (if (= l "t")(setq l "T"))
- (if (and (= sl 1) (/= l "T"))(setq l (atof l)))
- (if (= l "T")(setq l (- m xb) l (/ l s)))
- (if (= l "t")(setq l (- m xb) l (/ l s)))
- (setq schl 0 xchl 0)
- (MENUCMD "S=IN2")
- (setq yn (getstring "\n╙╨ ╣½ ▓ε ╖±(N)? "))
- (MENUCMD "S=IN1")
- (if (= 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)
- (setq dgl (getreal "\n╫≤ ╡╣ ╜╟ │ñ ╢╚=:(0) "))
- (if (null dgl)(setq dgl 0))
- (if (> dgl 0)(setq angl (getreal "\n╫≤ ╡╣ ╜╟=: ")))
- (if (= dgl 0)(progn
- (setq dgl (getreal "\n╫≤ ╡╣ ╘▓ ┴┐=:(0) "))
- (if (null dgl)(setq dgl 0))
- (if (/= dgl 0)(setq dgl (- 0 dgl)))
- ))
- (setq dgr (getreal "\n╙╥ ╡╣ ╜╟ │ñ ╢╚=:(0) "))
- (if (null dgr)(setq dgr 0))
- (if (> dgr 0)(setq angr (getreal "\n╙╥ ╡╣ ╜╟=: ")))
- (if (= dgr 0)(progn
- (setq dgr (getreal "\n╙╥ ╡╣ ╘▓ ┴┐=:(0) "))
- (if (null dgr)(setq dgr 0))
- (if (/= dgr 0)(setq dgr (- 0 dgr)))
- ))
- (setq yn "")
- (MENUCMD "S=SCREEN")
- )
- ;******************************************
- ;* The function for drwing spline . *
- ;******************************************
- (DEFUN SPLINE ()
- (SETVAR "CMDECHO" 0)
- (SETVAR "BLIPMODE" 0)
- (MENUCMD "P1=SP10")
- (MENUCMD "P1=*")
- (PRINC "\n╠ß╩╛: ╕├╧ε╩Σ╚δ▒╪╨δ╡π╚í╧α╙ª╡─▓╦╡Ñ")
- (setq dr (getSTRING "\n╟δ╩Σ╚δ╗¿╝ⁿ╡─╣½│╞│▀┤τ: "))
- (MENUCMD "P1=POP1")
- (SETQ NZL1 (SUBSTR DR 1 1))
- (SETQ NZL1 (ATOI NZL1))
- (SETQ DR (SUBSTR DR 3))
- (SETQ DR (ATOF DR))
- (input 0 0)
- (setq dl1 dr dr1 dr l1 l)
- (setq dgl1 dgl dgr1 dgr dgl (* dgl s) dgr (* dgr s))
- (if (< dgl 0)(setq dgl 0))
- (if (< dgr 0)(setq dgr 0))
- (setq dr (* (/ dr 2) s) l (* l s) dl dr)
- (MENUCMD "S=SP2")
- (initget (+ 1 2 4) "1 2 3")
- (setq yn (getint "\n╤í ╘± ┼Σ ║╧ ╛½ ╢╚(1:╛½├▄╝╢ 2:╥╗░π╝╢ 3:╜╧┤╓╝╢): "))
- (MENUCMD "S=SP3")
- (initget (+ 1 2 4) "1 2 3")
- (setq sc (getint "\n╤í ╘± ┼Σ ║╧ └α ╨═(1:╣╠╢¿┼Σ║╧ 2:╗¼╢»┼Σ║╧ 3:╜╧╦╔┼Σ║╧): "))
- (if (= yn 1)(setq chx (nth sc '(nil "JG" "JH1" "JH2"))))
- (if (= yn 2)(setq chx (nth sc '(nil "G" "H1" "H2"))))
- (if (= yn 3)(setq chx (nth sc '(nil "ZG" "ZH1" "ZH2"))))
- (MENUCMD "S=SP4")
- (setq m1 (getstring "\n═Γ ╛╢ ╢¿ ╨─(O) ╗≥ ─┌ ╛╢ ╢¿ ╨─(I)? "))
- (if (= m1 "o")(setq m1 "O"))
- (if (= m1 "i")(setq m1 "I"))
- (MENUCMD "S=IN1")
- (initget (+ 1 2 4))
- (setq lk (getreal "\n╩Σ ╚δ ╝ⁿ ▓█ │ñ ╢╚=: ") yn "L")
- (MENUCMD "S=IN2")
- (if (/= lk l1)(setq yn (getstring "\n╝ⁿ ▓█ ╗∙ ├µ ╘┌ ╫≤(L) ╗≥ ╙╥(R)? ")))
- (if (or (= yn "L") (= yn "l"))(setq ll1 0 lk1 lk))
- (if (or (= yn "R") (= yn "r"))(setq ll1 l1 lk1 (- 0 lk)))
- (dbsa1 xb 0)
- (if (<= dr1 50)(setq kd (- dr1 4)))
- (if (and (> dr1 50) (<= dr1 108))(setq kd (- dr1 6)))
- (if (> dr1 108)(setq kd (- dr1 15)))
- (setq kd (* (/ kd 2) s) ll (* lk s))
- (if (or (= yn "L") (= yn "l"))(setq xc xb))
- (if (or (= yn "R") (= yn "r"))(setq xc (- (+ xb l) ll)))
- (setq dl kd dr kd l ll dgl 0 dgr 0)
- (setq xe xb)
- (dbsa1 xc 0)
- (if (/= l1 lk1)(progn
- (if (or (= yn "L") (= yn "l"))(setq xc (+ xb ll) dl kd dr (* (/ dr1 2) s)))
- (if (or (= yn "R") (= yn "r"))(setq xc (- (+ xe (* l1 s)) ll 0.25)))
- (if (or (= yn "R") (= yn "r"))(setq dr kd dl (* (/ dr1 2) s)))
- (setq l 0.25 xb xc)
- (dbsa1 xb 0)
- ))
- (setq xb xe l (* l1 S))
- (FN)
- (NK1)
- (attdef2)
- (attdef1 "lk1" lk1 fpt)
- (attdef1 "ll1" ll1 fpt)
- (attdef1 "nk1" nk fpt)
- (attdef1 "nzl1" nzl1 fpt)
- (attdef1 "gpsz1" "S" fpt)
- (attdef1 "ktype1" "S" fpt)
- (attdef1 "chx1" chx fpt)
- (attdef1 "bgch1" m1 fpt)
- (if (= nol no)
- (command "block" no "Y" fpt "w" (list xb (- yb (* dr1 s))) (list (+ xb l) (+ yb (* dr1 s))) "")
- (command "block" no fpt "w" (list xb (- yb (* dr1 s))) (list (+ xb l) (+ yb (* dr1 s))) "")
- )
- (command "insert" no fpt "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "")
- (XB1)
- (MENUCMD "S=SCREEN")
- (MENUCMD "P1=POP1")
- (MENUCMD "S=IN2")
- (SETQ YN (GETSTRING "\n╩╟╖±╝╠╨°╗¡═Γ▒φ├µ: "))
- (IF (OR (= YN "Y") (= YN "y") (= YN ""))
- (PROGN(MENUCMD "I=YY")
- (MENUCMD "I=*")
- )
- (MENUCMD "S=SCREEN")
- )
- )
- (SPLINE)