leonucadomi 发表于 2022-7-12 08:27:33

复制一个属性的内容

大家好

是否有LSP例程,可以将一个属性的内容复制到其他属性?

在示例文件中,使用007将008复制到属性




谢谢

mhupp 发表于 2022-7-12 08:56:22

这将对对象进行一对一替换。请注意,我只选择黄色文本。
 
;;----------------------------------------------------------------------------;;
;; 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)
)

leonucadomi 发表于 2022-7-12 09:23:54

谢谢,但例行程序无法执行

mhupp 发表于 2022-7-12 09:38:15

添加了一个a到vl加载com现在应该可以工作了。
页: [1]
查看完整版本: 复制一个属性的内容