马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
套图框的时候,图框是个属性框,一个一个拷太麻烦了,用deepseek生成了一个代码,蛮好用的。
 - ;;2025.8.22
- ;;DeepSeek生成
- ;;复制属性块的值
- (defun c:BBV (/ ss_source ss_target ent_source ent_target
- attribs_source attribs_target attdef_source
- attdef_target tag value found)
- (vl-load-com)
- ;; 选择源属性块
- (princ "\n选择源属性块: ")
- (setq ss_source (ssget ":S" '((0 . "INSERT") (66 . 1))))
- (if (not ss_source)
- (progn
- (princ "\n未选择源属性块或选择的对象不是属性块。")
- (exit)
- )
- )
- (setq ent_source (ssname ss_source 0))
- ;; 选择目标属性块
- (princ "\n选择目标属性块: ")
- (setq ss_target (ssget ":S" '((0 . "INSERT") (66 . 1))))
- (if (not ss_target)
- (progn
- (princ "\n未选择目标属性块或选择的对象不是属性块。")
- (exit)
- )
- )
- (setq ent_target (ssname ss_target 0))
- ;; 获取源属性块的属性
- (setq attribs_source (vlax-invoke (vlax-ename->vla-object ent_source) 'GetAttributes))
- ;; 获取目标属性块的属性
- (setq attribs_target (vlax-invoke (vlax-ename->vla-object ent_target) 'GetAttributes))
- ;; 遍历源属性块的所有属性
- (foreach att attribs_source
- (setq tag (vla-get-TagString att)
- value (vla-get-TextString att)
- found nil)
- ;; 在目标属性块中查找相同标签的属性
- (foreach target_att attribs_target
- (if (= tag (vla-get-TagString target_att))
- (progn
- (vla-put-TextString target_att value)
- (setq found T)
- )
- )
- )
- (if (not found)
- (princ (strcat "\n警告: 目标块中未找到属性 '" tag "'"))
- )
- )
- (vla-update (vlax-ename->vla-object ent_target))
- (princ "\n属性值复制完成。")
- (princ)
- )
|