你大概是想合并字符串吧
 - (defun c:twt()
- (while (setq ss (ssget '((0 . "text")))) (setq txtcon "")
- (setq N (sslength ss))
- (repeat (setq N (sslength ss))
- (setq txtname (ssname ss (setq N( 1- N))))
- (setq txtdxf (entget txtname ))
- (setq txtlst (cons txtdxf txtlst ))
- (entdel txtname)
- );得到dxf列表
- (setq txtlst (vl-sort txtlst '(lambda(a b)(> (cadr (cdr (assoc 10 a))) (cadr (cdr (assoc 10 b)))))))
- (setq enddxf (last txtlst))
- ;按坐标y排序完成,获取最后dxf
- (foreach a txtlst
- (setq txtcon (strcat txtcon " " (cdr (assoc 1 a))))
- );获取字符串
- (setq txtcon (substr txtcon 2))
- ;去除开头空格
- (setq enddxf (subst (cons 1 txtcon) (assoc 1 enddxf) enddxf))
- (entmake enddxf) ;由于对象都删除了因此需要重建一个
- )
- (princ)
- )
|