ImaJayhawk
21st Jan 2004, 07:59 pm
I'm trying to write a simple routine that copies all blocks of a entered name or selected. I'm getting an Invalid Selection error when I enter in the name, and when I select I'm getting a never ending loop. Thanks.
(defun C:bs ( / blocker continue selecty selecter selecterset)
(setvar "cmdecho" 0)
(setq continue T)
(if (= (strcase (getstring "\nDo you want to enter block name? y/<n>")) "Y")
(progn
(setq blocker (getstring "\nEnter Block Name: "))
(While continue
(progn
(setq selecty (ssget "X" (list (cons 0 "Insert") (cons 2 blocker))))
(command "_copybase" pause selecty)
)
)
)
(While continue
(if (setq enty (car (entsel "\nSelect Block: ")))
(progn
(setq e (entget enty))
(setq selecter (cdr (assoc 2 e)))
(setq selecterset (ssget "X" (list (cons 0 "Insert") (cons 2 selecter))))
(command "_copybase" pause selecterset)
(setq continue F)
) (progn (princ "Please select a block") (setq continue T))
)))
(Setvar "cmdecho" 1)
(princ)
)
(defun C:bs ( / blocker continue selecty selecter selecterset)
(setvar "cmdecho" 0)
(setq continue T)
(if (= (strcase (getstring "\nDo you want to enter block name? y/<n>")) "Y")
(progn
(setq blocker (getstring "\nEnter Block Name: "))
(While continue
(progn
(setq selecty (ssget "X" (list (cons 0 "Insert") (cons 2 blocker))))
(command "_copybase" pause selecty)
)
)
)
(While continue
(if (setq enty (car (entsel "\nSelect Block: ")))
(progn
(setq e (entget enty))
(setq selecter (cdr (assoc 2 e)))
(setq selecterset (ssget "X" (list (cons 0 "Insert") (cons 2 selecter))))
(command "_copybase" pause selecterset)
(setq continue F)
) (progn (princ "Please select a block") (setq continue T))
)))
(Setvar "cmdecho" 1)
(princ)
)