如果这确实是你的意图-这应该适合你的需要:
- (defun c:ptwriter (/ file ss file eLst i)
- (vl-load-com)
- (if (and (setq file (getfiled "Create a Text File" "C:\" "txt" 9))
- (setq ss (ssget "X" (list (cons 0 "POINT")
- (if (getvar "CTAB")(cons 410 (getvar "CTAB"))
- (cons 67 (- 1 (getvar "TILEMODE"))))))))
- (progn
- (setq file (open file "w")
- eLst (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))) i 1)
- (foreach e eLst
- (write-line (strcat (rtos i) ","
- (rtos (cadr (assoc 10 (entget e)))) ","
- (rtos (caddr (assoc 10 (entget e)))) ","
- (rtos (cadddr (assoc 10 (entget e))))) file)
- (setq i (1+ i))))
- (princ "\n<!> No File Selected or No Points found <!>"))
- (princ "\n<< Points Written to File >>")
- (close file)
- (princ))
-
|