home *** CD-ROM | disk | FTP | other *** search
- (vmon)
-
- (defun tjerr(s)
- (if (/= s "Function cancelled")
- (princ (strcat "\nError:" s))
- )
- (command "layer" "s" "0" "")
- (setvar "cmdecho" 1)
- (setq *error* oer)
- (princ)
- )
-
- (defun C:TJ(/ oer terh s1 tw tw1 tw2 tw0 tl1 tl2 axdl x p ang)
- (setvar "cmdecho" 0)
- (setq elv (getvar "elevation"))
- (setq oer *error* *error* tjerr)
- (setq s1 (getstring "\n╩Σ╚δ╠¿╜╫╩╜╤∙3/2/1/<0>:"))
- (if (= s1 "") (setq s1 "0"))
- (if (and (>= s1 "0") (<= s1 "3")) (progn
- (cond ((= s1 "0") (setq tl1 (getint "\n╩Σ╚δ╞┬╡└│ñ╢╚ <3600>:"))
- (if (= tl1 nil) (setq tl1 3600))
- (setq tw (getint "\n╩Σ╚δ╞┬╡└┐φ╢╚ <1200>:"))
- (if (= tw nil) (setq tw 1200))
- (setq tw1 (getint "\n╩Σ╚δ╞┬╡└╖┼╞┬╛α└δ <600>:"))
- (if (= tw1 nil) (setq tw1 600)))
- ((= s1 "1") (setq tl1 (getint "\n╩Σ╚δ╠¿╜╫│ñ╢╚ <3600>:"))
- (if (= tl1 nil) (setq tl1 3600))
- (setq tw (getint "\n╩Σ╚δ╠¿╜╫┐φ╢╚ <1200>:"))
- (if (= tw nil) (setq tw 1200))
- (setq tw1 (getint "\n╩Σ╚δ╠ñ▓╜┐φ <200>:"))
- (if (= tw1 nil) (setq tw1 200))
- (setq tw2 (getint "\n╩Σ╚δ╠ñ▓╜╕÷╩² <3>:"))
- (if (= tw2 nil) (setq tw2 3)))
- ((= s1 "2") (setq tl1 (getint "\n╩Σ╚δ╠¿╜╫│ñ╢╚ <3600>:"))
- (if (= tl1 nil) (setq tl1 3600))
- (setq tw (getint "\n╩Σ╚δ╠¿╜╫┐φ╢╚ <1200>:"))
- (if (= tw nil) (setq tw 1200))
- (setq tw1 (getint "\n╩Σ╚δ╠ñ▓╜┐φ╢╚ <200>:"))
- (if (= tw1 nil) (setq tw1 200))
- (setq tw2 (getint "\n╩Σ╚δ╠ñ▓╜╕÷╩² <3>:"))
- (if (= tw2 nil) (setq tw2 3)))
- ((= s1 "3") (setq tl1 (getint "\n╩Σ╚δ╠¿╜╫│ñ╢╚ <3600>:"))
- (if (= tl1 nil) (setq tl1 3600))
- (setq tw (getint "\n╩Σ╚δ╠¿╜╫┐φ╢╚ <1200>:"))
- (if (= tw nil) (setq tw 1200))
- (setq tw1 (getint "\n╩Σ╚δ╠ñ▓╜┐φ <200>:"))
- (if (= tw1 nil) (setq tw1 200))
- (setq tw2 (getint "\n╩Σ╚δ╠ñ▓╜╕÷╩² <3>:"))
- (if (= tw2 nil) (setq tw2 3)))
- )
- (setq terh (getint "\n╩Σ╚δ╠ñ▓╜╕▀╢╚ <150>:"))
- (if (= terh nil) (setq terh 150))
- (graphscr)
- (initget "R")
- (setq p (getpoint "\n▓╬┐╝╡πR/<▓σ╚δ╓╨╡π>:"))
- (if (= p "R") (progn (setq p (getpoint "\n▓╬┐╝╡π:"))
- (setq p (getpoint p "\n▓σ╚δ╓╨╡π:"))))
- (setq ang (getangle p "\n▓σ╚δ╖╜╧≥ <0>:"))
- (if (= ang nil) (setq ang 0))
- (setq p (polar p (+ ang pi) (/ tl1 2.0)))
- (setvar "thickness" terh)
- (command "layer" "m" "tother" "")
- (cond ((= s1 "0") (tj1 tl1 tw tw1 p ang))
- ((= s1 "1") (tj2 tl1 tw tw1 tw2 p ang))
- ((= s1 "2") (tj3 tl1 tw tw1 tw2 p ang))
- ((= s1 "3") (tj4 tl1 tw tw1 tw2 p ang))
- )
- ))
- (command "layer" "s" "0" "")
- (setvar "thickness" 0)
- (setvar "elevation" elv)
- (setvar "cmdecho" 1)
- (setq *error* oer)
- (princ)
- )
-
- (defun tj1(tl11 tw1 tw11 p1 ang1 / p2 p3 p4 p5 p6 sn)
- (setq el (- elv terh))
- (setq p1 (list (car p1) (cadr p1) el))
- (setq p2 (polar p1 (- ang1 1.57079) tw1))
- (setq p3 (polar p2 ang1 tl11))
- (setq p4 (polar p3 (+ ang1 1.57079) tw1))
- (setvar "thickness" 0)
- (command "pline" p1 "w" 0 "" p2 p3 p4 "")
- (setq p5 (polar p1 ang1 tw11) p5 (list (car p5) (cadr p5) elv))
- (setq p6 (polar p4 (+ ang1 pi) tw11) p6 (list (car p6) (cadr p6) elv))
- (command "3dface" "i" p1 "i" p2 p5 "" "")
- (command "3dface" "i" p4 "i" p3 p6 "" "")
- (command "3dface" p5 "i" p2 p3 p6 "")
- )
-
- (defun tj2(tl11 tw1 tw11 tw22 p1 ang1 / plw ang0 ang2 p2 p3 p4 p5 pl l n sn sn1)
- (setq el (- elv (* tw22 terh)) p0 p1)
- (setq ang0 (- ang1 1.57079) ang2 (+ ang1 1.57079))
- (setq p1 (list (car p1) (cadr p1) el))
- (setq p2 (polar p1 ang0 tw1) p3 (polar p2 ang tl11) p4 (polar p3 ang2 tw1))
- (command "pline" p1 "w" "0" "" p2 p3 p4 "")
- (setq sn (entlast) l (1- tw22))
- (command "3dface" "i" p1 "i" p2 "i" p3 p4 "")
- (setq el (- elv (* terh l)))
- (command "move" (entlast) "" p1 (list (car p1) (cadr p1) (+ (last p1) terh)))
- (repeat l
- (setq el (- elv (* terh (setq tw22 (1- tw22)))))
- (setq p2 (polar p1 ang1 50))
- (command "offset" tw11 (list sn p1) p2 "")
- (command "move" (setq sn (ssget "L")) "" p1 (list (car p1) (cadr p1) (+ (last p1) terh)))
- (setq sn (ssname sn 0))
- (setq p1 (cdr (assoc 10 (entget (setq sn1 (entnext sn))))))
- (setq p2 (cdr (assoc 10 (entget (setq sn1 (entnext sn1))))))
- (setq p3 (cdr (assoc 10 (entget (setq sn1 (entnext sn1))))))
- (setq p4 (cdr (assoc 10 (entget (entnext sn1)))))
- (setq p1 (list (car p1) (cadr p1) (+ (last p1) terh)))
- (setq p2 (list (car p2) (cadr p2) (+ (last p2) terh)))
- (setq p3 (list (car p3) (cadr p3) (+ (last p3) terh)))
- (setq p4 (list (car p4) (cadr p4) (+ (last p4) terh)))
- (command "3dface" "i" p1 "i" p2 "i" p3 p4 "")
- )
- )
-
- (defun tj3(tl11 tw1 tw11 tw22 p1 ang1 / plw ang0 ang2 p2 p3 p4 p5 pl l n sn sn1 dist)
- (setq el (- elv (* tw22 terh)))
- (setq ang0 (- ang1 1.57079) ang2 (+ ang1 1.57079))
- (setq p1 (list (car p1) (cadr p1) el))
- (setq p2 (polar p1 ang0 tw1) p3 (polar p2 ang tl11) p4 (polar p3 ang2 tw1))
- (command "pline" p2 "w" "0" "" p3 "")
- (setq sn (entlast) l tw22 n 0)
- (setq p4 (polar p2 ang2 tw11) p5 (polar p3 ang2 tw11))
- (command "3dface" "i" p2 p3 "i" p5 p4 "")
- (command "move" (entlast) "" p2 (list (car p2) (cadr p2) (- elv (* terh (1- tw22)))))
- (repeat l
- (setq el (- elv (* terh (setq tw22 (1- tw22)))))
- (setq p2 (polar p1 ang2 50))
- (if (< n (1- l)) (command "offset" tw11 (list sn p1) p2 "") (command "offset" (- tw1 (* (- l 1) tw11)) (list sn p1) p2 ""))
- (if (< n (1- l)) (command "move" (setq sn (ssget "L")) "" p1 (list (car p1) (cadr p1) (+ (last p1) terh)) )(progn (command "move" (setq sn (ssget "L")) "" p1 (list (car p1) (cadr p1) (+ (last p1) terh))) (command "change" sn "" "p" "t" 0 "")))
- (setq sn (ssname sn 0))
- (if (< n (1- l)) (progn
- (if (= n (- l 2)) (setq dist (- tw1 (* (- l 1) tw11))) (setq dist tw11))
- (setq p1 (cdr (assoc 10 (entget (setq sn1 (entnext sn))))))
- (setq p2 (cdr (assoc 10 (entget (entnext sn1)))))
- (setq p3 (polar p1 ang2 dist) p4 (polar p2 ang2 dist))
- (setq p1 (list (car p1) (cadr p1) (+ (last p1) terh)))
- (setq p2 (list (car p2) (cadr p2) (+ (last p2) terh)))
- (setq p3 (list (car p3) (cadr p3) (+ (last p3) terh)))
- (setq p4 (list (car p4) (cadr p4) (+ (last p4) terh)))
- (command "3dface" "i" p1 p2 "i" p4 p3 ""))) ;if
- (setq n (1+ n))
- )
- )
-
- (defun tj4(tl11 tw1 tw11 tw22 p1 ang1 / plw ang0 ang2 p2 p3 p4 p5 pl l n sn sn1)
- (setq el (- elv (* tw22 terh)))
- (setq ang0 (- ang1 1.57079) ang2 (+ ang1 1.57079))
- (setq p1 (list (car p1) (cadr p1) el))
- (setq p2 (polar p1 ang0 tw1) p3 (polar p2 ang tl11) p4 (polar p3 ang2 tw1))
- (command "pline" p1 "w" "0" "" p2 p3 "")
- (setq sn (entlast) l (1- tw22) n 1)
- (setq p4 (polar p3 ang2 tw1))
- (command "3dface" "i" p1 "i" p2 p3 p4 "")
- (command "move" (entlast) "" p1 (list (car p1) (cadr p1) (- elv (* terh l)) ))
- (repeat l
- (setq el (- elv (* terh (setq tw22 (1- tw22)))))
- (setq p2 (polar p1 ang1 50))
- (command "offset" tw11 (list sn p1) p2 "")
- (command "move" (setq sn (ssget "L")) "" p1 (list (car p1) (cadr p1) (+ (last p1) terh)))
- (setq sn (ssname sn 0))
- (setq p1 (cdr (assoc 10 (entget (setq sn1 (entnext sn))))))
- (setq p2 (cdr (assoc 10 (entget (setq sn1 (entnext sn1))))))
- (setq p3 (cdr (assoc 10 (entget (entnext sn1)))))
- (setq p4 (polar p3 ang2 (- tw1 (* n tw11))))
- (setq p1 (list (car p1) (cadr p1) (+ (last p1) terh)))
- (setq p2 (list (car p2) (cadr p2) (+ (last p2) terh)))
- (setq p3 (list (car p3) (cadr p3) (+ (last p3) terh)))
- (setq p4 (list (car p4) (cadr p4) (+ (last p4) terh)))
- (command "3dface" "i" p1 "i" p2 p3 p4 "")
- (setq n (1+ n))
- )
- )