求助:如何实现多选,且能同时修改单行文字和多行文字的字高
[*](defun C:Z2(/ a en1 ent len n newr nn oldr s ss test)
[*](setvar "CMDECHO" 0)
[*](setq test T nn 0)
[*](while test
[*] (setq ss (ssadd))
[*] (setq ss (ssget))
[*] (if (= nil ss)
[*] (setq test nil)
[*] (progn
[*] (setq len (sslength ss))
[*] (setq n 1 s 1)
[*] (while (<= n len)
[*] (setq en1 (ssname ss (1- n)))
[*] (setq a (entget en1))
[*] (if(= "TEXT" (cdr (assoc 0 a)))
[*] (progn
[*] (if (= s 1)
[*] (progn
[*] (setq oldr (cdr (assoc 40 a)))
[*] ;(setq newr (getreal (strcat "\nNew high <" (rtos oldr 2 1) ">:")))
[*] (setq newr(* 5 5 (getvar "celtscale")))
[*] (if (= newr nil) (setq newr oldr))
[*] (setq s nil)
[*] )
[*] )
[*] (setq ent (subst (cons 40 newr) (assoc 40 a) a))
[*] (entmod ent)
[*] (setq nn (1+ nn))
[*] )
[*] )
[*] (setq n (1+ n))
[*] )
[*] )
[*] )
[*])
[*](princ)
[*])
(defun C:Z2(/ a en1 ent len n newr nn oldr s ss test)
(setvar "CMDECHO" 0)
(setq test T nn 0)
(while test
(setq ss (ssadd))
(setq ss (ssget))
(if (= nil ss)
(setq test nil)
(progn
(setq len (sslength ss))
(setq n 1 s 1)
(while (<= n len)
(setq en1 (ssname ss (1- n)))
(setq a (entget en1))
(if(= "TEXT" (cdr (assoc 0 a)))
(progn
(if (= s 1)
(progn
(setq oldr (cdr (assoc 40 a)))
;(setq newr (getreal (strcat "\nNew high <" (rtos oldr 2 1) ">:")))
(setq newr(* 5 5 (getvar "celtscale")))
(if (= newr nil) (setq newr oldr))
(setq s nil)
)
)
(setq ent (subst (cons 40 newr) (assoc 40 a) a))
(entmod ent)
(setq nn (1+ nn))
)
)
(setq n (1+ n))
)
)
)
)
(princ)
) (defun C:Z2 (/ a en1 ent len n newr nn oldr s ss test)
(setvar "CMDECHO" 0)
(setq test T
nn 0
)
(while test
(setq ss (ssadd))
(setq ss (ssget))
(if (= nil ss)
(setq test nil)
(progn
(setq len (sslength ss))
(setq n 1
s 1
)
(while (<= n len)
(setq en1 (ssname ss (1- n)))
(setq a (entget en1))
(if (wcmatch (cdr (assoc 0 a)) "*TEXT")
(progn
(if (= s 1)
(progn
(setq oldr (cdr (assoc 40 a)))
;(setq newr (getreal (strcat "\nNew high <" (rtos oldr 2 1) ">:")))
(setq newr (* 5 5 (getvar "celtscale")))
(if (= newr nil)
(setq newr oldr)
)
(setq s nil)
)
)
(setq ent (subst (cons 40 newr) (assoc 40 a) a))
(entmod ent)
(setq nn (1+ nn))
)
)
(setq n (1+ n))
)
)
)
)
(princ)
)
页:
[1]