在此处找到http://forums.autodesk.com/t5/AutoCAD-Express-Tools/Block-Replace-possible-wishlist-item/m-p/361602
- defun c:TEST (/ ENT1 BL1 NWNM OLD ODNM)
- ;;LOOKS LIKE robkimross WROTE IT IN 06-09-2005
- (prompt "Select blocks to replace: ")
- (and
- (setq ENT1 (ssget "_:S" '((0 . "INSERT"))))
- (setq NEWBL "[color=darkred][b]NAME OF BLOCK WHICH TAKES THE PLACE OF OLD BLOCK[/b][/color]")
- (not (command "insert" NEWBL nil))
- (setq N (sslength ENT1))
- (setq I 0)
- (repeat N
- (setq BL1 (entget (ssname ENT1 I)))
- (setq NWNM (cons 2 NEWBL))
- (setq OLD (assoc 2 BL1))
- (setq ODNM (cdr OLD))
- (entmod (subst NWNM OLD BL1))
- (setq I (1+ I))
- ) ;_ repeat
- ) ;_ and
- (prin1)
- ) ;_ defun]
|