明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 菜卷鱼

[经验] 双击属性块直接编辑属性文字

[复制链接]
发表于 2024-3-20 21:08:47 | 显示全部楼层
本帖最后由 luchun0112 于 2024-3-20 21:12 编辑

很好用。。谢谢
发表于 2025-5-24 20:04:06 | 显示全部楼层
本帖最后由 KO你 于 2025-7-25 06:07 编辑

编辑属性与文字这样就可以做到自由切换,但感觉切换还不是很顺畅。
编辑文字后不能马上继续切换到属性编辑,有待高手完善。
(defun c:ed1 (/ *error* ss pt ntp info objtype obj blkname cmds)
(setq cmds (if command-s command-s vl-cmdf))
(setq ss (ssget ":s"))
(if ss
(progn
(setq pt (cadr (nth 3 (car (ssnamex ss)))))
(setq pt (trans pt 0 1))
(setq ntp (nentselp pt))
(setvar "cmdecho" 0)
(setq info (entget (car ntp)))
(setq objtype (cdr (assoc 0 info)))
(cmds "undo" "be")
(defun *error* (s)
(if (/= s "函数被取消")
(princ "*取消*"))
(cmds "undo" "e")
(setvar "cmdecho" 1))
(setvar "cmdecho" 0)
(setq obj (ssname ss 0))
(if (= objtype "ATTRIB")
(cmds "_.attipedit" ntp)
(progn
(cond
((member objtype '("TEXT" "MTEXT" "ATTDEF" "DIMENSION"));;新增判断
(if (not (cmds "_.textedit" (car ntp)))
(cmds "_.ddedit" (car ntp))))
(t ;;保持原始逻辑处理其他对象
(cmds "_.DDATTE" ss)))))
(cmds "undo" "e")
(setvar "cmdecho" 1)))
(prin1))


(defun c:ed2 (/ ent obj typ)
(vl-load-com)
(if (setq ent (car (entsel "\n选择文字或属性: ")))
(progn
(setq obj (vlax-ename->vla-object ent))
(setq typ (vla-get-objectname obj))
(cond
((= typ "AcDbAttribute")
(vl-cmdf "_.attipedit" ent))
((and (= typ "AcDbBlockReference")
(vlax-property-available-p obj 'hasattributes)
(vla-get-hasattributes obj))
(vl-cmdf "_.ddatte" ent))
((or (= typ "AcDbText")
(= typ "AcDbMText"))
(vl-cmdf "_.textedit" ent))
(T (vl-cmdf "_.textedit" ent))))
(progn
(cond
((vl-cmdf "_.textedit"))
((vl-cmdf "_.ddedit"))
((vl-cmdf "_.attipedit"))
((vl-cmdf "_.ddatte")))))
(princ))


以上代码ED1点击标注的线没反应,要点击两次标注的文字才能编辑,其他功能正常。
以上代码ED2点击属性文字内容不能进行attipedit编辑,其他功能都正常。
不管是ED1还是ED2都有各自的缺陷。路过的高手只要能完善其他一个程序就能达到我追求的效果。请高抬贵手。
回复 支持 反对

使用道具 举报

发表于 2025-6-25 09:13:22 | 显示全部楼层
有个问题  不能单独调整文字大小了
回复 支持 反对

使用道具 举报

发表于 2025-6-27 23:29:45 | 显示全部楼层
多谢大佬分享,试了一下很好用!
回复 支持 反对

使用道具 举报

发表于 2025-7-24 09:42:50 | 显示全部楼层
我有个想法,就是使用-ATTIPEDIT之后,能否通过别的方法,切换到该块的另一个属性文字的编辑
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-8-12 04:31 , Processed in 0.153714 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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