快速修改标注数字
源码是在论坛里找到的,只能将标注的数字改为固定内容“现场实测”,请教能否将代码稍作修改,改为可以将标注数字改为自己输入的任意内容呢?(defun c:dimt( / ss s0 ent0 ss-num)
(if (not dimtext)(setq dimtext "现场实测"))
(prompt (strcat"请选取尺寸标注[替代文字:" dimtext "][回车设置]"))
(setq ss (ssget '((0 . "DIMENSION"))))
(if ss
(progn
(setq ss-num (sslength ss))
(while (>= ss-num 1)
(setq s0 (ssname ss 0))
(setq ent0 (entget s0))
(setq ent0 (subst (cons 1 dimtext)(assoc 1 ent0)ent0))
(entmod ent0)
(setq ss (ssdel s0 ss))
(setq ss-num(sslength ss))
);end of while
);progn
(progn
(setq dimtext_saved dimtext)
(setq dimtext(getstring (strcat "\n请输入替代文字[" dimtext "]:")))
(if (= dimtext "")(setq dimtext dimtext_saved)(setq dimtext_saved dimtext))
(c:dimt)
);progn
);if
);defun
回车不就行了 qmqyqj 发表于 2021-1-12 15:08
回车不就行了
回车就改成了“现场实测”:o 本帖最后由 qmqyqj 于 2021-1-12 17:51 编辑
huxu823 发表于 2021-1-12 16:39
回车就改成了“现场实测”
(defun c:dimt( / ss s0 ent0 ss-num)
(setq dimtext (getstring "\n请输入替代文字:"))
(prompt (strcat"请选取尺寸标注[替代文字:" dimtext "][回车设置]"))
(setq ss (ssget '((0 . "DIMENSION"))))
(if ss
(progn
(setq ss-num (sslength ss))
(while (>= ss-num 1)
(setq s0 (ssname ss 0))
(setq ent0 (entget s0))
(setq ent0 (subst (cons 1 dimtext)(assoc 1 ent0)ent0))
(entmod ent0)
(setq ss (ssdel s0 ss))
(setq ss-num(sslength ss))
);end of while
);progn
(progn
(setq dimtext_saved dimtext)
(setq dimtext(getstring (strcat "\n请输入替代文字[" dimtext "]:")))
(if (= dimtext "")(setq dimtext dimtext_saved)(setq dimtext_saved dimtext))
(c:dimt)
)
)
) qmqyqj 发表于 2021-1-12 17:28
非常感谢 能支持天正标注吗? qmqyqj 发表于 2021-1-12 17:28
修改后很不错,但是可以设置为记忆上次输入的字符吗;后续再次使用时候,每次都需要输入还是有点很麻烦; 能不能改成把‘=’后面的字改成固定数值啊
页:
[1]