本帖最后由 ljpnb 于 2011-7-15 12:11 编辑
未测试

- ;;;複製圖框內容(AB)
- (defun c:ab ()
- (setvar "osmode" 0)
- (if (setq nn (car (entsel "\n請選檡原圖框")))
- (progn
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (princ "\n可选多个目標圖框: ")
- (if (setq ss (ssget)
- i 0
- )
- (repeat (sslength ss)
- (setq nn1 (entnext nn))
- (setq ww (entget nn1))
- (setq b1 (cdr (assoc 0 ww)))
- (setq c (cdr (assoc 2 ww)))
- (setq d (cdr (assoc 1 ww)))
- (setq mm1 (ssname ss i))
- (setq mm (entnext mm1))
- (setq ww1 (entget mm))
- (setq a1 (cdr (assoc 0 ww1)))
- (while (= b1 "ATTRIB")
- (setq flag1 1)
- (while (and (= flag1 1) (= a1 "ATTRIB"))
- (setq c1 (cdr (assoc 2 ww1)))
- (if (= c c1)
- (progn
- (setq e (assoc 1 ww1))
- (setq d1 (cons 1 d))
- (setq ww2 (subst d1 e ww1))
- (entmod ww2)
- (entupd mm)
- (setq flag1 0)
- )
- )
- (if (= flag1 1)
- (progn
- (setq mm (entnext mm))
- (setq ww1 (entget mm))
- (setq a1 (cdr (assoc 0 ww1)))
- )
- )
- )
- (setq nn1 (entnext nn1))
- (setq ww (entget nn1))
- (setq b1 (cdr (assoc 0 ww)))
- (setq c (cdr (assoc 2 ww)))
- (setq d (cdr (assoc 1 ww)))
- (setq mm mm1)
- (setq mm (entnext mm))
- (setq ww1 (entget mm))
- (setq a1 (cdr (assoc 0 ww1)))
- )
- (setq i (1+ i))
- )
- )
- )
- )
- (setvar "osmode" 37)
- (princ)
- ) ;end defun
|