本帖最后由 菜卷鱼 于 2022-10-13 14:49 编辑
这个问题已经解决很多年了,主题现在也已经从"提问"转换成"经验"
由于当初提问提得不专业,所以大家很可能不知道我说的是什么。
正常情况,我们双击属性块的属性文字,会弹出"增加属性编辑器",不能像编辑文字一样双击直接编辑
虽然按住ctrl再双击,可以直接编辑,但是总觉得不直接。
现在稍微改造一下就可以直接双击编辑。
首先新建一个命令 attrib (别的名字也可以)
- ;;;;双击属性文字直接编辑
- ;;;;by 菜卷鱼
- (defun c:attrib (/ *error* ss pt ntp info objtype obj blkname)
- (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)
- (cmds "_.DDATTE" ss)
- )
- (cmds "undo" "e")
- (setvar "cmdecho" 1)
- )
- )
- (prin1)
- )
- (prin1)
接着,替换原始的双击命令,操作见下图,改造后的效果见2楼。
|