 - ;;;未考虑属性快
- (defun c:BlkBrush(/ ENT ENL P0 $KD KD SS P1 EL NEWL)
- (setq ent (car (entsel "\n源图块:"))
- enl (entget ent)
- )
- (redraw ent 3)
- (setq p0 (vlax-3d-point (cdr (assoc 10 enl))))
- (initget 7 "Yes No ")
- (if (not (or (= "Yes" $kd) (= "No" $kd))) (setq $kd "Yes"))
- (setq kd (getkword (strcat "\n 是否刷新比例尺 [Yes/No]<" $kd ">:")))
- (if (= "" kd) (setq kd $kd))
- (setq $kd kd)
- (while (setq ss (ssget (list (assoc 0 enl))))
- (repeat (setq n (sslength ss))
- ((lambda (x / p1 el NewL ppl obj)
- (setq el (entget x)
- p1 (vlax-3d-point (cdr (assoc 10 el)))
- NewL (subst (assoc -1 el) (assoc -1 enl) enl)
- Newl (subst (assoc 330 el) (assoc 330 enl) Newl)
- Newl (subst (assoc 5 el) (assoc 5 enl) Newl)
- Newl (subst (assoc 8 el) (assoc 8 enl) Newl)
- )
- (if (assoc 6 el) (setq Newl (subst (assoc 6 el) (assoc 6 enl) Newl)))
- (if (assoc 62 el) (setq Newl (subst (assoc 62 el) (assoc 62 enl) Newl)))
- (if (= kd "No")
- (setq Newl (subst (assoc 41 el) (assoc 41 enl) Newl)
- Newl (subst (assoc 42 el) (assoc 42 enl) Newl)
- Newl (subst (assoc 43 el) (assoc 43 enl) Newl)
- )
- )
- (entmod Newl)
- (vla-move (setq obj (vlax-ename->vla-object x)) p0 p1)
-
- )
- (ssname ss (setq n (1- n)))
- )
- )
- )
- (redraw ent 4)
- (princ)
- )
|