home *** CD-ROM | disk | FTP | other *** search
- ;****** PM\Apm.LSP ****** 10-13-89
- (defun C:APM ( )
- (setvar "osmode" 0)
- (if (or (= mmm "m") (= mmm "M")) (setq ss "\n !mmm=m,")
- (setq ss "!mmm=mm,"))
- (setq aa (getreal "enter A=?m2 <1500>:"))
- (if (null aa) (setq aa 1500.0))
- (setq mode 1)
- (while mode
- (setq mode (getint "\n 1.ZFX/2.CFX/3.DBX/4.circle/5.SX
- <or RETRUN for none>:"))
- (if (= mode 1) (zfx))
- (if (= mode 2) (cfx))
- (if (= mode 3) (dbx))
- (if (= mode 4) (cir))
- (if (= mode 5) (sx))
- )
- )
- ;-----------
- (defun zfx ( )
- (setq bc (sqrt aa))
- (setq nbc (getreal (strcat "new BC=?m" " <" (rtos bc 2 2) ">:")))
- (if nbc (setq bc nbc))
- (setq aas (rtos (* bc bc) 2 2))
- (prompt (strcat "area=" aas "M2,"))
- (if (= ss "!mmm=mm,") (setq bc (* 1000.0 bc)))
- (setq p1 (getpoint "enter point p1:"))
- (command "pline" p1 (setq p2 (polar p1 0.0 bc))
- (polar p2 (* 0.5 pi) bc) (polar p1 (* 0.5 pi) bc) "c")
- (command "text" (polar p1 (* -0.5 pi) (* 750 tb))
- (* 350 tb) 0.0 (strcat "├µ ╗²=" aas "M2"))
- )
- ;-----------
- (defun cfx ( )
- (setq xbc (getreal "enter xBC=?m:"))
- (setq ybc (/ aa xbc))
- (setq nybc (getreal (strcat "new yBC=?m <" (rtos ybc 2 2) ">:")))
- (if nybc (setq ybc nybc))
- (setq aas (rtos (* xbc ybc) 2 2))
- (prompt (strcat "area=" aas "M2,"))
- (if (= ss "!mmm=mm,")
- (setq xbc (* 1000.0 xbc) ybc (* 1000.0 ybc)))
- (setq p1 (getpoint "enter point p1:"))
- (command "pline" p1 (setq p2 (polar p1 0.0 xbc))
- (polar p2 (* 0.5 pi) ybc) (polar p1 (* 0.5 pi) ybc) "c")
- (command "text" (polar p1 (* -0.5 pi) (* 750 tb))
- (* 350 tb) 0.0 (strcat "├µ ╗²=" aas "M2"))
- )
- ;-----------
- (defun dbx ( )
- (setq n (getint "enter n <6>:"))
- (if (null n) (setq n 6))
- (setq a0 (/ pi n))
- (setq r (sqrt (/ aa (* n (sin a0) (cos a0)))))
- (setq nr (getreal (strcat "new r=?m <" (rtos r 2 2) ">:")))
- (if nr (setq r nr))
- (setq aas (rtos (* r r (sin a0) (cos a0) n) 2 2))
- (prompt (strcat "area=" aas "M2,"))
- (if (= ss "!mmm=mm,") (setq r (* 1000.0 r)))
- (setq p0 (getpoint "enter point p0:"))
- (command "polygon" n p0 "i" r)
- (command "text" (polar p0 (* -0.5 pi) (* 750 tb))
- (* 350 tb) 0.0 (strcat "├µ ╗²=" aas "M2"))
- )
- ;-----------
- (defun cir ( )
- (setq r (sqrt (/ aa pi)))
- (setq nr (getreal (strcat "new R=?m <" (rtos r 2 2) ">:")))
- (if nr (setq r nr))
- (setq aas (rtos (* pi r r) 2 2))
- (prompt (strcat "area=" aas "M2,"))
- (if (= ss "!mmm=mm,") (setq r (* 1000.0 r)))
- (setq p0 (getpoint "enter point p0:"))
- (command "circle" p0 r)
- (command "text" (polar p0 (* -0.5 pi) (* 750 tb))
- (* 350 tb) 0.0 (strcat "├µ ╗²=" aas "M2"))
- )
- ;-----------
- (defun sx ( )
- (setq a0 (getreal "enter a0 <90>:"))
- (if (null a0) (setq a0 90.0))
- (setq a0 (* pi (/ a0 180.0)))
- (setq r (sqrt (/ (* aa 2.0) a0)))
- ; (setq r (sqrt (/ aa a0)))
- (setq nr (getreal (strcat "new r=?m <" (rtos r 2 2) ">:")))
- (if nr (setq r nr))
- (setq aas (rtos (* r r 0.5 a0) 2 2))
- (prompt (strcat "area=" aas "M2,"))
- (if (= ss "!mmm=mm,") (setq r (* 1000.0 r)))
- (setq a0 (* 180.0 (/ a0 pi)))
- (setq p0 (getpoint "enter point p0:"))
- (command "pline" p0 (polar p0 0.0 r) "a" "a" a0 "c" p0 "l" "cl")
- (command "text" (polar p0 (* -0.5 pi) (* 750 tb))
- (* 350 tb) 0.0 (strcat "├µ ╗²=" aas "M2"))
- )