ZZXXQQ 发表于 2008-2-17 09:29:00

一个命令也可以吧。

(defun c:zg (/ en ss str)
(if (setq s1 (ssget '((0 . "*TEXT")))) (progn
(setq i -1)
(repeat (sslength s1)
   (cond
    ((= (get 0 (setq ent (entget (setq en (ssname s1 (setq i (1+ i))))))) "MTEXT")
   (command "_.explode" en)
   (setq ss (ssget "_p"))
   (repeat (setq n (sslength ss))
       (setq ent (entget (ssname ss (setq n (1- n)))))
       (ssset ent 40 2.5)
   )
    )
    (T (ssset ent 40 2.5))
   )
)
))
(princ)
)
(defun get (aaaaa bbbbb /)
   (cdr (assoc aaaaa bbbbb))
)
(defun ssset (eent nnum variable /)
   (setq eent (subst (cons nnum variable) (assoc nnum eent) eent))
   (entmod eent)
)

wzz1968 发表于 2008-2-17 13:21:00

<p>上述问题很简单,</p><p>(setq ss (ssget (list (cons 0 "mtext"))))</p><p>(if (= ss nil) (exit))</p><p>(setq len (sslength ss) i 0)</p><p>(while (&lt; i len)</p><p>&nbsp;(progn </p><p>&nbsp;&nbsp;&nbsp;&nbsp; (setq ent (ssname ss i))</p><p>&nbsp;&nbsp;&nbsp;&nbsp; (command ".explode" ent)</p><p>&nbsp;&nbsp;&nbsp;&nbsp; (setq i (1+ i))</p><p>&nbsp; )</p><p>)</p><p></p>
页: 1 [2]
查看完整版本: entsel与ssget一问——祝新年快乐