不错,马尔科!
为了略微提高性能,我建议添加一个“睡眠”,这样每次光标移动不会有那么多命令调用:
- [color="red"](setq tm (rem (getvar 'cdate) 30))[/color]
- (while (/= 3 (car (setq gr (grread t))))
- (if loop
- (entdel bn)
- )
- (setq p (cadr gr))
- (if [color="red"](/= tm (setq tmp (rem (getvar 'cdate) 30))[/color])
- (vl-catch-all-apply
- (function
- (lambda nil
- (setq tm tmp)
- (setq v (mapcar '- '(0 0 0) p))
- (setq vn (mapcar '* v (list scf scf scf)))
- (entupd (cdr (assoc -1 (entmod (subst (cons 10 p) (assoc 10 (entget s2)) (entget s2))))))
- (setq ip (mapcar '+ pp vn))
- (setq bn (vlax-vla-object->ename (vla-insertblock spc (vlax-3d-point ip) n scf scf scf 0)))
- (command "_.XCLIP" bn "" "_N" "_S" e)
- (setq loop t)
- )
- )
- )
- )
- )
|