from Paul Turvill of T Square Graphics

Collects points and puts them in a file

Finally I see someone indicating what closing bracket goes with what opening bracket.

(defun C:P2FILE (/ ss n outf xyz)
    (prompt "\nSelect points: ")
    (setq ss (ssget '((0 . "POINT")))
              n (1- (sslength ss))
              outf (open "points.txt" "w")
    );; setq
    (while (<= 0 n)
        (setq pt (entget (ssname ss n))
                  xyz (cdr (assoc 10 pt))
                  n (1- n)
        );; setq
        (write-line (strcat (rtos (car xyz)) ","
                            (rtos (cadr xyz)) ","
                            (rtos (caddr xyz))) outf)
    );;while
    (close outf)
    (princ)
)