fangmin723 发表于 2021-11-11 10:29:26

fedd 发表于 2021-11-11 07:00
感谢start4444大侠,解决了我的一个大难题
不过就是当我把字高设置在12,重新修改时,读取的字高明 ...

(defun c:ctxt(/ dxf40 edata ent hig newhig)
        (if (and (setq ent (entsel "\n请点选需要修改字高的单行文字:")) (equal "TEXT" (cdr (assoc 0 (setq edata (entget (setq ent (car ent))))))));;判断是否成功选择
                (progn
                        (setq hig (cdr (setq dxf40 (assoc 40 edata))));;获取当前文字字高
                        (if (setq newhig (getreal (strcat "\n请输入新的高度,当前字高<" (rtos hig) ">:")));;输入新的字高并判断是否为成功输入,成功输入则修改,否则则静默退出
                                (entmod (setq edata (subst (cons 40 newhig) dxf40 edata)))
                                (princ "\n无效输入,不作修改!!!")
                        )
                )
                (alert "\n没有选择单行文字对象!")
        )
        (prin1)
)

bssurvey 发表于 2021-11-11 11:25:58

在明經論壇,人才濟濟,感謝各位大大的分享

fedd 发表于 2021-11-11 11:38:34

fangmin723 发表于 2021-11-11 10:29
(defun c:ctxt(/ dxf40 edata ent hig newhig)
        (if (and (setq ent (entsel "\n请点选需要修改字高的单 ...

万分感谢fangmin723大侠,很好用,厉害厉害:victory:

start4444 发表于 2021-11-11 17:52:04

fedd 发表于 2021-11-11 07:00
感谢start4444大侠,解决了我的一个大难题
不过就是当我把字高设置在12,重新修改时,读取的字高明 ...

(setq hig (getreal (strcat "\n输入新字高<" (rtos h_mr 3 2) ">:"))) 这句改为(setq hig (getreal (strcat "\n输入新字高<" (rtos h_mr 2 2) ">:")))

刚开始 发表于 2021-11-12 09:47:22

燕秀那个批量修改文字高度好像比这个还方便,单行和多行文字可同时使用.
页: 1 [2]
查看完整版本: 救命啊,大侠们救救小女子,取得文字高度根据这个输入新高度