What function should i use to do that? I'm planning to change all entities in one layer but its is hard to select by windowing/crossing method because i have many entities in my drawing, so, i want to just click one but gripped all objects in the same layer to change simultaneously in just one command.
Thanks Lee, but as I go to Autodesk Help (AutoLisp Functions) to see an example as my reference I've notice that there is no functions such as Getsel.
can u please give me an example of that?
A third built-in alternative is the FILTER command.
The GETSEL command is part of Express pack; for this reason it isn’t listed in AutoCAD’s help. If you cannot call it at command prompt, too, this may be from either the fact that you don’t have that extension installed, or that you are using the LT type of AutoCAD.
(defun c:CTH () (graphscr) (prompt "text height to change")(terpri) (setq x (car (entsel)))(terpri) (if x (setq x (cdr(assoc 8 (entget x))) sslst(list (cons 0 "text")(cons 8 x)) ) );end if (setq a (ssget "x" sslst)) (setq nh(getreal "New Text Height: ")) (setq N (sslength a)) (progn (setq n1 N) (repeat N (setq n1 (- n1 1)) (setq b (ssname a n1)) (setq c (cdr(assoc 0(entget b)))) (if (= c "TEXT") (progn (setq e (entget b)) (setq f (assoc 40 e)) (setq g (atof(rtos(cdr f)2 6))) (entmod (subst(cons(car f) nh) f e)) )) ))(princ))
You should localize your variables and include the entire processing in the IF, or at least ensure that exit if user didn't select first text item. Just run your routine twice in a row, and second time do not select a text label, input a text height different than at first run and see what is happening.
Also, please edit the above port and add the required code tags. Thank you.