试试这个新的程序。。
- (defun c:Test (/ f ss o i n sn pt e p)
- ;; Tharwat 11.08.2013 ;;
- (if (and (setq f (getfiled "File name" "" "txt" 1))
- (setq ss (ssget '((0 . "INSERT") (66 . 1))))
- (setq o (open f "w"))
- )
- (progn
- (repeat (setq i (sslength ss))
- (setq n (entnext (setq sn (ssname ss (setq i (1- i)))))
- pt (cdr (assoc 10 (entget sn)))
- )
- (while (not (eq (cdr (assoc 0 (setq e (entget n)))) "SEQEND"))
- (if (and (eq (cdr (assoc 0 e)) "ATTRIB")
- (eq (strcase (cdr (assoc 2 e))) "POINT")
- )
- (setq p (cdr (assoc 1 e)))
- )
- (setq n (entnext n))
- )
- (if p
- (write-line
- (strcat p
- ","
- (rtos (car pt) 2)
- ","
- (rtos (cadr pt) 2)
- ","
- (rtos (caddr pt) 2)
- )
- o
- )
- )
- )
- (close o)
- )
- )
- (princ)
- )
|