这是我的方法。
- (defun c:Test (/ sel f o l)
- ;; Tharwat 11.01.2014 ;;
- (princ "\n Select Single texts :")
- (if (and (setq sel (ssget '((0 . "TEXT"))))
- (setq f (getfiled "Save as to csv format "
- (getvar 'DWGPREFIX)
- "CSV"
- 1))
- (setq o (open f "w"))
- )
- (progn
- ((lambda (x / sn e)
- (while (setq sn (ssname sel (setq x (1+ x))))
- (setq l
- (cons (list (cdr (assoc 10 (setq e (entget sn))))
- (cdr (assoc 1 e)))
- l))
- )
- )
- -1)
- (setq l
- (vl-sort l
- '(lambda (q p) (< (cadr (car q)) (cadr (car p))))))
- (write-line "Code,EASTING,NORTHING,ELEVATION" o)
- (mapcar '(lambda (v)
- (write-line
- (strcat (cadr v)
- ","
- (rtos (caar v) 2)
- ","
- (rtos (cadar v) 2)
- ","
- (rtos (caddar v) 2))
- o))
- l)
- (close o)
- )
- )
- (princ)
- )
|