明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: shujh1989

[源码] 属性块参数复制到另一个属性块

[复制链接]
发表于 2024-1-10 15:23:58 | 显示全部楼层
飞雪神光 发表于 2024-1-10 15:21
这就是开始不停地加需求了么

哈哈,是的。
上传文件的时候   没有模拟全部的真实情况。
发表于 2024-1-10 15:27:21 | 显示全部楼层
lxl217114 发表于 2024-1-10 15:23
哈哈,是的。
上传文件的时候   没有模拟全部的真实情况。

那就用那个链接里的编号程序试试 挺好用的
发表于 2024-1-10 15:29:49 | 显示全部楼层
飞雪神光 发表于 2024-1-10 15:27
那就用那个链接里的编号程序试试 挺好用的

非常感谢了,
发表于 2024-5-4 15:11:18 | 显示全部楼层
刚好也在找类似的功能,只不多是想找批量多个属性的,之前都是用的CAD自带的特性属性,只要属性标签一直,基本都能进行批量修改,另外提个建议按楼主的需求,感觉图框图签做外部操作更加方便,比如我一共有几十个子项,不需要每张图打开去修改属性,这样效率是不是更高效
除了子项、出图日期这两个做定义属性,这样子,每个子项改一次子项号、出图日期即可,这样做,也方便以后出变更的时候,出图日期可以跟着修改图走,不受外参的影响
 楼主| 发表于 2024-5-6 17:20:55 | 显示全部楼层
weimeng555 发表于 2024-5-4 15:11
刚好也在找类似的功能,只不多是想找批量多个属性的,之前都是用的CAD自带的特性属性,只要属性标签一直, ...

我的需求是拷贝其他专业图签的属性,不想自己手动复制,容易弄错。我有改进的版本,也加了自动填写图号的功能。还有一件复制图名到图签的功能,不过只适用天正。
发表于 2024-5-7 21:09:38 | 显示全部楼层
shujh1989 发表于 2024-5-6 17:20
我的需求是拷贝其他专业图签的属性,不想自己手动复制,容易弄错。我有改进的版本,也加了自动填写图号的 ...

楼主,改进版本能否分享一下呢
 楼主| 发表于 2024-5-12 17:45:07 | 显示全部楼层
本帖最后由 shujh1989 于 2024-5-13 00:12 编辑

weimeng555 发表于 2024-5-7 21:09
楼主,改进版本能否分享一下呢


(defun c:CCT ( / sourceBlock targetBlock sourceAttributes targetAttributes sourceAttribute targetAttribute sourceTag targetTag sourceValue copyTitleAndName)
(setvar "cmdecho" 0)
(vl-load-com)
;; 添加用户输入确认是否复制图号和图名
(setq copyTitleAndName (strcase (getstring "\n是否复制目标图框的图号和图名到新图框? [默认是,如否输入N]: ")))
(setq sourceBlock (car (entsel "\n选择源图框: ")))

(if sourceBlock
(progn
(setq sourceAttributes (vlax-invoke (vlax-ename->vla-object sourceBlock) 'getattributes))

(while (setq targetBlock (car (entsel "\n选择目标图框 (或按 ESC 退出): ")))
(setq targetAttributes (vlax-invoke (vlax-ename->vla-object targetBlock) 'getattributes))

(foreach sourceAttribute sourceAttributes
  (setq sourceTag (vla-get-TagString sourceAttribute))
  (setq sourceValue (vla-get-textstring sourceAttribute))
(if (equal copyTitleAndName "N")
  (foreach targetAttribute targetAttributes
    (setq targetTag (vla-get-TagString targetAttribute))


     (if   
      (and   
   
        (equal sourceTag targetTag)
        (not (wcmatch targetTag "*图号*"))
        (not (wcmatch targetTag "*图纸名称*,*图名*"))
      )  
      (vla-put-textstring targetAttribute sourceValue)))
     (foreach targetAttribute targetAttributes
    (setq targetTag (vla-get-TagString targetAttribute))   
     (if   
        (equal sourceTag targetTag)
      (vla-put-textstring targetAttribute sourceValue)))   
  )
)

(princ "\n图框信息已替换。")
)
)
(princ "\n未选择有效的源图框。")
)

(setvar "cmdecho" 1)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 17:35 , Processed in 0.165290 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表