Dan,
这可能会对您有所帮助。
这是一个将文本从上到下导出到文本文件的方法:
- (defun c:textout (/ ss lst fn fno txt)
- (setq ss (mapcar 'vlax-ename->vla-object
- (vl-remove-if
- 'listp
- (mapcar 'cadr
- (ssnamex
- (ssget '((0 . "TEXT")))
- )
- )
- )
- )
- )
- (if ss
- (progn
- (setq
- lst (mapcar '(lambda (x)
- (cons (vlax-get x 'InsertionPoint)
- (vlax-get x 'TextString)
- )
- )
- ss
- )
- lst (vl-sort lst
- (function
- (lambda (e1 e2)
- (< (cadr (car e2)) (cadr (car e1)))
- )
- )
- )
- fn (strcat (getvar 'dwgprefix)
- (vl-filename-base (getvar 'dwgname))
- "-text.txt"
- )
- fno (open fn "W")
- )
- (foreach txt lst
- (write-line (cdr txt) fno)
- )
- (close fno)
- (princ fn)
- (princ)
- )
- )
- )
|