Message 1 of 5
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I have this lisp from here but it prompts to select a block before scaling it.
Spoiler
(defun c:sscale(/ ss cn entn ent ans sca)
(setq ss (ssget '((0 . "INSERT"))))
(setq sca (getreal "give scalefactor: "))
(setq cn 0)
(repeat (sslength ss)
(setq ent (entget (setq entn (ssname ss cn))))
(setq cn (1+ cn))
(entmod (subst (cons 50 cn) (assoc 50 ent) ent))
(progn
(setq ent (subst (cons 41 (* (cdr (assoc 41 ent)) sca))
(assoc 41 ent) ent))
(setq ent (subst (cons 42 (* (cdr (assoc 42 ent)) sca))
(assoc 42 ent) ent))
(setq ent (subst (cons 43 (* (cdr (assoc 43 ent)) sca))
(assoc 43 ent) ent))
(entmod ent)
)
)
(princ)
)
(setq ss (ssget '((0 . "INSERT"))))
(setq sca (getreal "give scalefactor: "))
(setq cn 0)
(repeat (sslength ss)
(setq ent (entget (setq entn (ssname ss cn))))
(setq cn (1+ cn))
(entmod (subst (cons 50 cn) (assoc 50 ent) ent))
(progn
(setq ent (subst (cons 41 (* (cdr (assoc 41 ent)) sca))
(assoc 41 ent) ent))
(setq ent (subst (cons 42 (* (cdr (assoc 42 ent)) sca))
(assoc 42 ent) ent))
(setq ent (subst (cons 43 (* (cdr (assoc 43 ent)) sca))
(assoc 43 ent) ent))
(entmod ent)
)
)
(princ)
)
How can I specific block's name instead of selection? I want it gets the block's name from a list, some thing like
....(strcat "C:/" Block ".dwg")... or any block name.
Thanks
Solved! Go to Solution.