这将对对象进行一对一替换。请注意,我只选择黄色文本。
- ;;----------------------------------------------------------------------------;;
- ;; Copy item to Multiple locations to replace selection
- (defun C:COPYOBJ (/ ent BP SS obj LL UR MPT)
- (vl-load-com)
- (setq obj (vlax-ename->vla-object (setq ent (car (entsel "\nObject to copy: ")))))
- (vla-getboundingbox obj 'minpt 'maxpt)
- (setq BP (mapcar '/ (mapcar '+ (vlax-safearray->list minpt) (vlax-safearray->list maxpt)) '(2 2 2)))
- (if (setq SS (ssget))
- (foreach e (vl-remove-if 'listp (mapcar 'cadr (ssnamex SS)))
- (setq obj (vlax-ename->vla-object e))
- (vla-getboundingbox obj 'minpt 'maxpt)
- (setq MPT (mapcar '/ (mapcar '+ (vlax-safearray->list minpt) (vlax-safearray->list maxpt)) '(2 2 2)))
- (vla-delete obj)
- (vl-cmdf "_.Copy" ent "" BP "_non" MPT)
- )
- )
- (princ)
- )
|