明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6616|回复: 32

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

[复制链接]
发表于 2011-10-15 19:54:39 | 显示全部楼层 |阅读模式
本帖最后由 菜卷鱼 于 2022-10-13 14:49 编辑

这个问题已经解决很多年了,主题现在也已经从"提问"转换成"经验"
由于当初提问提得不专业,所以大家很可能不知道我说的是什么。

正常情况,我们双击属性块的属性文字,会弹出"增加属性编辑器",不能像编辑文字一样双击直接编辑
虽然按住ctrl再双击,可以直接编辑,但是总觉得不直接。

现在稍微改造一下就可以直接双击编辑。

首先新建一个命令 attrib (别的名字也可以)
  1. ;;;;双击属性文字直接编辑
  2. ;;;;by 菜卷鱼
  3. (defun c:attrib        (/ *error* ss pt ntp info objtype obj blkname)
  4.   (setq        cmds (if command-s
  5.                command-s
  6.                vl-cmdf
  7.              )
  8.   )
  9.   (setq ss (ssget ":s"))
  10.   (if ss
  11.     (progn
  12.       (setq pt (cadr (nth 3 (car (ssnamex ss)))))
  13.       (setq pt (trans pt 0 1))
  14.       (setq ntp (nentselp pt))
  15.       (setvar "cmdecho" 0)
  16.       (setq info (entget (car ntp)))
  17.       (setq objtype (cdr (assoc 0 info)))
  18.       (cmds "undo" "be")
  19.       ;;;;;
  20.       (defun *error* (s)
  21.         (if (/= s "函数被取消")
  22.           (princ "*取消*")
  23.         )
  24.         (cmds "undo" "e")
  25.         (setvar "cmdecho" 1)
  26.       )
  27.       ;;;;;
  28.       (setvar "cmdecho" 0)
  29.       (setq obj (ssname ss 0))
  30.       (if (= objtype "ATTRIB")
  31.         (cmds "_.attipedit" ntp)
  32.         (cmds "_.DDATTE" ss)
  33.       )
  34.       (cmds "undo" "e")
  35.       (setvar "cmdecho" 1)
  36.     )
  37.   )
  38.   (prin1)
  39. )
  40. (prin1)


接着,替换原始的双击命令,操作见下图,改造后的效果见2楼。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 2明经币 +2 收起 理由
zhangcan0515 + 1
cheefeel + 1 很给力!

查看全部评分

"觉得好,就打赏"
    共1人打赏

本帖被以下淘专辑推荐:

发表于 2022-10-10 12:31:02 | 显示全部楼层
按住 ctrl 再双击试试,CAD自带功能
回复 支持 3 反对 0

使用道具 举报

发表于 2023-12-4 02:18:01 | 显示全部楼层
sfzyr 发表于 2023-10-29 10:09
不知道是不是版本问题,双击是调用了attrib,但是返回不了鼠标点。所以pt总是nil

(setq pt (cadr (nth 3 (car (ssnamex ss 0))))) ;双击选择对象时,ssnamex返回的对象无点:((0 <图元名: 2124f6e6d90> 1))。只有点选时才有点。即先运行命令,在点选。所以,在PT为nil 而SS又选择了对象,则可以取“lastpoint”的值来解决这个问题。(setq pt (getvar "lastpoint"))
发表于 2022-10-14 08:36:41 | 显示全部楼层
菜卷鱼 发表于 2022-10-13 14:26
单行文字默认全选,多行文字默认不是全选,CAD自带的文字编辑器就是这个逻辑
这个是改变不了的,
习惯 ...



↑这是CAD帮助文件里的一些宏介绍,
我记得语法中某一个特殊符号代表按键盘上的按键,
但是我不懂怎么表达按Ctrl+A键,
如果有这样的语法,那么在命令宏^C^C_ATTRIB之后追加Ctrl+A的语法不就可以了么

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2013-12-18 14:33:55 | 显示全部楼层
本帖最后由 菜卷鱼 于 2022-10-10 10:25 编辑

双击属性块的非属性文字部分,会弹出原始界面"增强属性编辑器"

而双击属性文字,则可以像普通文字一样直接编辑了





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2020-12-17 12:41:37 | 显示全部楼层
菜卷鱼 发表于 2013-12-18 14:33
可以替代双击属性块命令

请教一下这个怎么用?我的还是要鼠标三击
 楼主| 发表于 2022-10-10 10:36:28 | 显示全部楼层
罗尼 发表于 2020-12-17 12:41
请教一下这个怎么用?我的还是要鼠标三击

现在再看看试试
发表于 2022-10-10 10:36:42 | 显示全部楼层
太感激了!!!这么干货的硬知识居然评论这么少!
 楼主| 发表于 2022-10-10 10:41:09 | 显示全部楼层
cheefeel 发表于 2022-10-10 10:36
太感激了!!!这么干货的硬知识居然评论这么少!

主要之前不是这个标题,之前是个提问,问题是"鼠标三击怎么变鼠标双击",问题提的不专业,没人明白我要说什么,二楼是自己解答自己
 楼主| 发表于 2022-10-10 10:43:04 | 显示全部楼层
cheefeel 发表于 2022-10-10 10:36
太感激了!!!这么干货的硬知识居然评论这么少!

我之前帮别人写代码别人觉得5块钱都觉得贵,你直接打赏10块!!
老板大气!!
这真的是我搞成的第一个付费程序!!

点评

微薄之力,都不够一杯奶茶。希望更多的人都能在得到帮助时,做出力所能及的感谢!  发表于 2022-10-10 10:50
发表于 2022-10-10 11:07:02 | 显示全部楼层
代码中18,24,35行中有点小笔误需要修正: undo
 楼主| 发表于 2022-10-10 11:08:38 | 显示全部楼层
e2002 发表于 2022-10-10 11:07
代码中18,24,35行中有点小笔误需要修正: undo

谢谢大佬提醒,我自己是写的子程序,临时改改错了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 02:55 , Processed in 0.293107 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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