lxl217114
发表于 2024-1-10 15:23:58
飞雪神光 发表于 2024-1-10 15:21
这就是开始不停地加需求了么
哈哈,是的。
上传文件的时候 没有模拟全部的真实情况。
飞雪神光
发表于 2024-1-10 15:27:21
lxl217114 发表于 2024-1-10 15:23
哈哈,是的。
上传文件的时候 没有模拟全部的真实情况。
那就用那个链接里的编号程序试试 挺好用的
lxl217114
发表于 2024-1-10 15:29:49
飞雪神光 发表于 2024-1-10 15:27
那就用那个链接里的编号程序试试 挺好用的
非常感谢了,:handshake
weimeng555
发表于 2024-5-4 15:11:18
刚好也在找类似的功能,只不多是想找批量多个属性的,之前都是用的CAD自带的特性属性,只要属性标签一直,基本都能进行批量修改,另外提个建议按楼主的需求,感觉图框图签做外部操作更加方便,比如我一共有几十个子项,不需要每张图打开去修改属性,这样效率是不是更高效
除了子项、出图日期这两个做定义属性,这样子,每个子项改一次子项号、出图日期即可,这样做,也方便以后出变更的时候,出图日期可以跟着修改图走,不受外参的影响
shujh1989
发表于 2024-5-6 17:20:55
weimeng555 发表于 2024-5-4 15:11
刚好也在找类似的功能,只不多是想找批量多个属性的,之前都是用的CAD自带的特性属性,只要属性标签一直, ...
我的需求是拷贝其他专业图签的属性,不想自己手动复制,容易弄错。我有改进的版本,也加了自动填写图号的功能。还有一件复制图名到图签的功能,不过只适用天正。
weimeng555
发表于 2024-5-7 21:09:38
shujh1989 发表于 2024-5-6 17:20
我的需求是拷贝其他专业图签的属性,不想自己手动复制,容易弄错。我有改进的版本,也加了自动填写图号的 ...
楼主,改进版本能否分享一下呢:handshake
shujh1989
发表于 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)
)