home *** CD-ROM | disk | FTP | other *** search
-
- (defun C:LTD(/ sn sn2 en oer elay dse1 dse2 kword sp ep mp mp1 mp2 mp3 mp4 plw ang1 ang0 ang2 oldpick)
- (setvar "ORTHOMODE" 0)
- (setq sn nil)
- (while (= sn nil)
- (setq sn (entsel "\n╤í╘±╢╧┴╤╧▀:") sn (car sn))
- (if sn (progn
- (setq en (entget sn) ename (cdr (assoc 0 en)) elay (cdr (assoc 8 en)))
- (if (and (= ename "LINE") (= elay "PSTAIR")) (progn
- (setq sp (cdr (assoc 10 en)) ep (cdr (assoc 11 en)) mp (polar sp (angle sp ep) (/ (distance sp ep) 2.0)))
- (princ "\n╚╖╢¿╢╧┴╤╧▀╖╜╧≥:")
- (command "rotate" sn "" mp pause)
- (setq en (entget sn))
- (command "u")
- (setq sp (cdr (assoc 10 en)) ep (cdr (assoc 11 en)) mp (polar sp (angle sp ep) (/ (distance sp ep) 2.0)))
- (setq plw (getvar "userr1") ang1 (angle sp ep) ang0 (- ang1 1.57079) ang2 (+ ang1 1.57079))
- (setq mp1 (polar mp ang1 plw) mp2 (polar mp (+ ang1 pi) plw))
- (setq mp3 (polar (polar mp1 (+ ang1 pi) (/ plw 2.0)) ang2 plw))
- (setq mp4 (polar (polar mp2 ang1 (/ plw 2.0)) ang0 plw))
- (setq sp (polar sp (angle ep sp) (/ (distance sp mp) 2.0)))
- (setq ep (polar ep ang1 (/ (distance mp ep) 2.0)))
- (command "layer" "m" "pstair2" "")
- (command "pline" sp "w" 0 "" mp2 mp4 mp3 mp1 ep "")
- (setq dse1 (entlast))
- (command "copy" dse1 "" mp (polar mp ang2 (* 0.5 plw)))
- (setq dse2 (entlast))
- )
- (setq sn nil))
- ))
- );while
- (command "zoom" "w" sp ep)
- (setq oldpick (getvar "PICKBOX"))
- (setvar "PICKBOX" 2)
- (setq sn t)
- (while sn
- (setq sn (entsel "\n╤í╘±╥¬╝⌠╟╨╡─┬Ñ╠▌╧α╣╪╧▀:") sn2 (car sn))
- (if sn2 (progn
- (setq en (entget sn2) elay (cdr (assoc 8 en)))
- (if (= elay "PSTAIR")
- (command "trim" dse2 dse1 "" sn ""))
- )
- (progn
- (setq kword "No")
- (initget "Yes No")
- (setq kword (getkword "\n╩╟╖±╝╠╨°╤í╘±? Yes/No <N>:"))
- (if (= kword "Yes") (setq sn 1) (setq sn nil))
- ))
- );while
- (command "zoom" "p")
- (setvar "PICKBOX" oldpick)
- )