home *** CD-ROM | disk | FTP | other *** search
- (defun ftolerr(s)
- (if (/= s "Function cancelled")
- (princ (strcat "\nError:" s))
- )
- (command "undo" "end")
- (command "layer" "s" "0" "")
- (setvar "cmdecho" 1)
- (setq *error* oer)
- (princ)
- )
-
- (defun c:ftol(/ oer ss sn en ssl n ename elay clay ccol ecol p10 p11 p12 p13)
- (setvar "cmdecho" 0)
- (setvar "elevation" 0)
- (setvar "thickness" 0)
- (setq oer *error* *error* ftolerr)
- (command "ucs" "w")
- (setq ss (ssget))
- (if ss (progn
- (setq ssl (sslength ss) n 0)
- (repeat ssl
- (setq sn (ssname ss n) en (entget sn))
- (setq ename (cdr (assoc 0 en)) elay (cdr (assoc 8 en)))
- (setq ccol (getvar "cecolor") clay (getvar "clayer"))
- (if (and (= "3DFACE" ename) (not (or (= elay "TWINDOW") (= elay "TDOOR")))) (progn
- (setq ecol (cdr (assoc 62 en)))
- (if (not (= ecol ccol))
- (if (not (= ecol nil)) (command "color" ecol) (command "color" "bylayer"))
- )
- (if (not (= elay clay)) (command "layer" "s" elay ""))
- (setq p10 (cdr (assoc 10 en)) p11 (cdr (assoc 11 en)))
- (setq p12 (cdr (assoc 12 en)) p13 (cdr (assoc 13 en)))
- (command "ucs" "e" sn)
- (entdel sn)
- (command "line" (trans p10 0 1) (trans p11 0 1) (trans p12 0 1) (trans p13 0 1) (trans p10 0 1) "")
- ))
- (setq n (1+ n))
- )
- ))
- (command "layer" "s" "0" "")
- (command "ucs" "w")
- (setq *error* oer)
- (setvar "cmdecho" 1)
- (princ)
- )