;;;快速写单行字 (defun c:WS (/ odtsz wzgd) (setvar "cmdecho" 0) (command "_.undo" "E") (setq odsty (getvar "textstyle")) ;;记录当前文本样式 (setq odtsz (getvar "textsize")) ;;记录当前文本高度 (command "layer" "m" "6文字层" "c" "3" "" "s" "6文字层" "") (prompt "\n【提示】文字高度") (princ"(") (princ odtsz) (princ "):") (initget "S") (if(setq wzsd (getpoint "\n【提示<S>改文本高度】指定文字起始点:")) (cond ((= wzsd "S")(c:WSGD)))) (setq wzgd odtsz)(command "REGEN" ) (prompt "\n【文字高度:") (princ"(") (princ wzgd) (princ ")】") (setq XXWS (getstring "输入文字:")) (command "TEXT" wzsd wzgd 0 XXWS) (command "_.undo" "E") (setvar "textsize" odtsz) ;;返回文本高度 (setvar "textstyle" odsty) ;;返回文本样式 (princ))
功能目的:输入命令后,点取一点,写文字。 程序执行到输入S以后,不能继续输入文字,出现如下错误: 【文字高度 5.0)】输入文字:fdffa 找不到文字样式“5.000000000000000”。 ; 错误: 函数被取消 输入样式名或 [?] <XXX>: 请帮忙改下程序:(就用当前的文字样式,不管它什么样式!)输入S后返回是我想要的结果: 能继续写字在指定地方  |