编了个程序,提取第一个文字的对齐方式,即组码72和73的数值,然后把其他文字的组码72和73替换,使所有文字的对齐方式与第一个一样。
以下是我编的代码。运行后,不是对齐方式的控制组码没有被修改,反而是显示内容,也就是组码1变成了组码73的数值。
求教,如何修改这个程序。
 - (defun c:qq( / txt i dxf72 dxf73 txtent)
- (setq txt (ssget "_:L" '((0 . "TEXT"))))
- (setq i 0)
- (repeat (setq len (sslength txt))
- (setq txtent (entget (ssname txt i)))
- (setq i (1+ i))
- (if (not dxf72)
- (setq dxf72 (rtos (cdr (assoc 72 txtent)))
- dxf73 (rtos (cdr (assoc 73 txtent)))
- )
- (progn
- (setq txtent (subst (cons 1 dxf72) (assoc 72 txtent) txtent))
- (setq txtent (subst (cons 1 dxf73) (assoc 73 txtent) txtent))
- (entmod txtent)
- )
- )
- )
- (princ)
- )
|