home *** CD-ROM | disk | FTP | other *** search
- (vmon)
-
- (defun nuerr(s)
- (if (/= s "Function cancelled")
- (princ (strcat "\nError:" s))
- )
- (command "layer" "s" "0" "")
- (setvar "osmode" 0)
- (setvar "cmdecho" 1)
- (setq *error* oer)
- (princ)
- )
-
- (defun C:ENUER(/ l th h x a2 len p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 oer)
- (setvar "cmdecho" 0)
- (setq oer *error* *error* nuerr)
- (setq l 0 th 0 h 0 x "")
- (setq l (getdist "\n╠⌠╤╪│ñ╢╚:"))
- (if (> l 0) (progn
- (setq th (getdist "\n╠⌠╤╪║±╢╚:"))
- (setq h (getdist "\n┼«╢∙╟╜╕▀╢╚:"))
- (initget 1 "Yes No")
- (setq x (getkword "\n╙╨╞┬╤╪╖± (Yes or No) "))
- (if (= x "Yes") (progn
- (if (= h 0) (progn
- (setq a2 (getreal "\n╞┬╤╪╜╟╢╚:"))
- (setq len (getdist "\n╞┬╤╪│ñ╢╚:"))
- ))
- ))
- )(setq h (getdist "\n┼«╢∙╟╜╕▀╢╚:")))
- (setvar "osmode" 1)
- (setq p1 (getpoint "\n╞≡╩╝╡π:"))
- (setq p2 (getpoint p1 "\n╢╘│╞╡π:"))
- (setvar "osmode" 0)
- (command "layer" "m" "eother" "")
- (if (= l 0) (progn
- (setq p3 (polar p1 1.57079 h))
- (setq p4 (polar p2 1.57079 h))
- (command "pline" p1 "w" 0 0 p3 p4 p2 "")
- )
- (progn
- (if (= x "Yes") (progn
- (setq p3 (polar p1 pi l) p4 (polar p3 1.57079 th))
- (if (> h 0) (setq p5 (polar p1 1.57079 h)) (setq p5 (polar p4 (/ (* a2 pi) 180.0) len)))
- (setq p6 (polar p2 0 l) p7 (polar p6 1.57079 th))
- (if (> h 0) (setq p8 (polar p2 1.57079 h)) (setq p8 (polar p7 (/ (* (+ 90 (- 90 a2)) pi) 180.0) len)))
- (if (= th 0) (command "pline" p1 "w" 0 0 p3 p5 p8 p6 p2 "") (progn (command "pline" p1 "w" 0 0 p3 p4 p5 p8 p7 p6 p2 "") (command "pline" p4 p7 "")))
- )
- (progn
- (if (= h 0) (progn
- (setq p3 (polar p1 pi l) p4 (polar p3 1.57079 th))
- (setq p5 (polar p2 0 l) p6 (polar p5 1.57079 th))
- (setq p7 (polar p1 1.57079 th) p8 (polar p7 0.524 th))
- (setq p9 (polar p2 1.57079 th) p10 (polar p9 2.62 th))
- (command "pline" p1 "w" 0 0 p3 p4 p6 p5 p2 "")
- (command "pline" p7 p8 p10 p9 "")
- ) (progn
- (setq p3 (polar p1 pi l) p4 (polar p3 1.57079 th))
- (setq p5 (polar p2 0 l) p6 (polar p5 1.57079 th))
- (setq p7 (polar p1 1.57079 th) p8 (polar p2 1.57079 th))
- (setq p9 (polar p1 1.57079 h) p10 (polar p2 1.57079 h))
- (command "pline" p1 "w" 0 0 p3 p4 p6 p5 p2 "")
- (command "pline" p7 p9 p10 p8 "")
- ))
- ))
- ))
- (command "layer" "s" "0" "")
- (setvar "cmdecho" 1)
- (setq *error* oer)
- (princ)
- )
-
- (defun dtr(a)
- (* pi (/ a 180.0))
- )
-
- (defun C:NUER(/ oer th l h x a2 len p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 dh uh s1 lw ss se px lk sn)
- (setvar "cmdecho" 0)
- (setq oer *error* *error* nuerr)
- (setq th 150 l 0 dh 0 uh 0 h 0 len 0 a2 0 x "")
- (setq s1 (getstring "\n╤í╘±┼«╢∙╟╜╩╜╤∙4/3/2/<1>:"))
- (if (= s1 "") (setq s1 "1"))
- (if (and (>= s1 "1") (<= s1 "4")) (progn
- (cond ((= s1 "1") (setq h (getdist "\n┼«╢∙╟╜╕▀:")))
- ((= s1 "2") (setq a2 (getreal "\n╞┬╤╪╜╟╢╚:"))
- (setq len (getdist "\n╞┬╤╪│ñ╢╚:"))
- (setq x "Yes"))
- ((= s1 "4") (setq h (getdist "\n┼«╢∙╟╜╕▀:") x "Yes"))
- )
- (setq l (getdist "\n╠⌠╤╪│ñ:"))
- (if (or (and (= s1 "1") (> l 0)) (> s1 "1")) (progn
- (setq th (getdist "\n╠⌠╤╪░σ║±╢╚:"))
- (setq uh (getdist "\n╔╧╖┤╤╪│ñ╢╚:"))
- (setq dh (getdist "\n╧┬╖┤╤╪│ñ╢╚:"))
- ))
- (setq a0 -90 a1 90)
- (setvar "osmode" 1)
- (setq p1 (getpoint "\n╞≡╩╝╡π:"))
- (setvar "osmode" 0)
- (command "layer" "m" "sother" "")
- (setq ss (ssget p1))
- (setq lw (* 0.5 (getvar "userr1")))
- (if ss (progn
- (setq sn (ssname ss 0) en (entget sn) ename (cdr (assoc 0 en)))
- (if (= ename "POLYLINE") (setq lw (cdr (assoc 40 en))))
- ))
- (setq p2 (polar p1 (dtr -90) (/ th 2)))
- (setq p3 (polar p2 (dtr 180) l))
- (setq p4 (polar p3 (dtr a0) dh))
- (setq p5 (polar p3 (dtr a1) uh))
- (setq p6 (polar p1 (dtr 90) h))
- (setq p7 (polar p6 (dtr 0) 240))
- (setq p8 (polar p7 (dtr -90) (+ h (/ th 2.0))))
- (setq p9 (polar p2 (dtr 0) (+ 240 (/ lw 2.0))))
- (setq ss nil ss (ssadd))
- (if (eq "Yes" x) (if (> h 0) (setq p10 p6) (setq p10 (polar p5 (dtr a2) len))))
- (if (= x "Yes") (command "pline" p2 "w" th th p3 p5 "w" lw lw p10 "") (command "pline" p2 "w" th th p3 p5 ""))
- (setq se (entlast))
- (ssadd se ss)
- (command "pline" p3 "w" th th p4 "")
- (setq se (entlast))
- (ssadd se ss)
- (if (> l 0) (progn
- (command "pline" p2 "w" th th p9 "")
- (setq se (entlast))
- (ssadd se ss)))
- (if (> h 0) (progn
- (command "pline" p1 "w" lw lw p6 "w" (* 1.2 lw) (* 1.2 lw) p7 "w" lw lw p8 "")
- (setq se (entlast))
- (ssadd se ss)))
- (setvar "osmode" 1)
- (setq px (getpoint "\n ╢╘│╞╡─┴φ╥╗╡π:"))
- (setvar "osmode" 0)
- (if (/= px nil) (progn
- (setq lk (distance p1 px))
- (setq p11 (polar p1 (dtr 0) (/ lk 2)))
- (if (> h 0) (progn
- (setq p12 (polar p11 (dtr 90) h))
- (command "line" p7 p12 "")
- (setq se (entlast))
- (ssadd se ss)
- (setq p13 (polar p8 (dtr 90) 120))
- (setq p14 (polar p11 (dtr 90) 120))
- (command "line" p13 p14 "")
- (setq se (entlast))
- (ssadd se ss)
- (command "mirror" ss "" p11 p12 "")))
- (if (= h 0) (progn
- (if (eq "Yes" x) (progn
- (setq p13 (polar p8 (dtr 90) 120 ))
- (setq p14 (polar p11 (dtr 90) 180))
- (setq p12 (polar p11 (dtr 90) (- (+ (* uh (sin (dtr a1))) (* len (sin (dtr a2)))) (/ th 2))))
- (command "line" p1 p13 "")
- (setq se (entlast))
- (ssadd se ss)
- (command "line" p13 p14 "")
- (setq se (entlast))
- (ssadd se ss)
- (command "line" p10 p12 "")
- (setq se (entlast))
- (ssadd se ss)
- (command "mirror" ss "" p11 p12 "")))
- (if (/= x "Yes") (progn
- (setq p13 (polar p8 (dtr 90) 120))
- (setq p14 (polar p11 (dtr 90) 180))
- (command "line" p1 p13 "")
- (setq se (entlast))
- (ssadd se ss)
- (command "line" p13 p14 "")
- (setq se (entlast))
- (ssadd se ss)
- (if (> uh 180) (progn
- (setq p12 (polar p11 (dtr 90) (- (* uh (sin (dtr a1))) (/ th 2))))
- (command "line" p5 p12 "")
- (setq se (entlast))
- (ssadd se ss)))
- (command "mirror" ss "" p11 p14 "")))))
- )))) ;endif
- (command "layer" "s" "0" "")
- (setvar "cmdecho" 1)
- (setq *error* oer)
- (princ)
- )