block rescaling

George M

Usenet Archive
Joined
Jan 6, 2004
Messages
1
Reaction score
0
I have numerous drawing that I need to print out. My problem is that some blocks with attributes are so small when they are printed that I need to scale each block seperately. Match properties would be nice if it did that for me but it wont. is there a LISP routine to help me with this?? I want to scale each block either twice or three times its initial size depending on the drawing. How can I easily do this? Right now I have to select one block at a time then go to properties and change the x and y scale from 1 to either 2 or 3. It works this way but keep in mind I have about 50-75 blocks on each drawing and I have about 25 drawings so this is too time consuming. I hope I explained my problem. Any help is appreciated. TIA
 
Just scaling the Blocks won't get it. They will overlap (lines), and other drawing content. I have routines to bump up the Text and/or Attribute height. If multiple fields, these would then overlap if up-scaled. Might be possible to scale whole .dwg, and plot quadrants ?
Bob
 
try this to scale the entite block, with its attributes

(defun C:SB (/ ss1 en1 el1 n x1 bs1)
(if (null ScFact)(setq ScFact 1.0))(initget 6)
(setq x1 (getreal (strcat "\nScale Factor <"
(rtos ScFact 2 2) ">: ")))
(if (null x1)(setq x1 ScFact)(setq ScFact x1))
(setq n -1 ss1 nil ss1 (ssget (list (cons 0 "INSERT")))) (if ss1 (repeat (sslength ss1) (setq el1 (entget (setq en1 (ssname ss1 (setq n (1+ n))))) bs1 (cdr (assoc 41 el1)) pt1 (cdr (assoc 10 el1)) ) (command "SCALE" en1 "" pt1 x1) ) )
(princ) )

HTH
 
Back
Top