(defun c:knr ( / blk2sel valfrom rngbgn rngend rnsel blkinc blkchgd blkcnt curatti curattv newval) (setq blk2sel(getstring T "Name of block to renumber?")) (setq valfrom(getstring "Difference [+]:")) (setq rngbgn(getstring "Start at:")) (setq rngend(getstring "End at:")) (setq rnsel (ssget "x" (list (cons 0 "INSERT") (cons 2 blk2sel)))) (setq blkinc 0) (setq blkchgd 0) (setq blkcnt (1-(sslength rnsel))) (while (<= blkinc blkcnt) (setq curatti (entget(entnext(ssname rnsel blkinc)))) (setq curattv (cdr(assoc 1 curatti))) (if (>= (atoi curattv)(atoi rngbgn))( (if (<= (atoi curattv)(atoi rngend)) ( (setq newval (rtos(+ (atoi valfrom) (atoi curattv)) 2 0)) (entmod (subst (cons 1 newval) (assoc 1 curatti) curatti)) (setq blkchgd(1+ blkchgd)) )))) (setq blkinc (1+ blkinc)) ) (command "_.regen") )