使用此功能,您可以一个接一个地执行以下操作:
- (defun c:attpt (/ pBlk dBlk ptBlk aEnt aEntLst)
- (while (and (setq pBlk (car (entsel "\nSelect Block to Retrieve Coordinates > ")))
- (setq dBlk (car (entsel "\nSelect Destination Block > ")))
- (= (cdr (assoc 0 (entget pBlk))) "INSERT" (cdr (assoc 0 (entget dBlk))))
- (= (cdr (assoc 66 (entget dBlk))) 1))
- (setq ptBlk (cdr (assoc 10 (entget pBlk)))
- aEnt (entnext dBlk))
- (while (/= "SEQEND" (cdr (assoc 0 (setq aEntLst (entget aEnt)))))
- (if (= "PT1" (cdr (assoc 2 aEntLst)))
- (progn
- (setq aEntLst (subst (cons 1 (strcat (rtos (car ptBlk) 2 2) ","
- (rtos (cadr ptBlk) 2 2) ","
- (rtos (caddr ptBlk) 2 2)))
- (assoc 1 aEntLst) aEntLst))
- (entmod aEntLst)))
- (setq aEnt (entnext aEnt))))
- (command "_regenall")
- (princ))
|