taoyi0727 发表于 2020-5-4 14:58:35

这个程序大家下来最好自己再修改下,
中文命令执行后,显是未知命令,反应器启动,获取到中文命令,获取到声母,再执行命令,如果还是未知命令的话,会不会无限循环下去,最好自己加个判断

yanshengjiang 发表于 2020-5-7 20:17:16

下面程序是我和“燕川布衣”在2011年整合的

(vl-load-com)
(or *doc* (setq *doc* (vla-get-ActiveDocument (vlax-get-acad-object))))
(or *chinese-text* (setq *chinese-text* (vlr-editor-reactor nil '((:vlr-unknownCommand . chinese-text)))))

(defun chinese-text(a b / asc)
(setvar "cmdecho" 0)
(setq c (strcase(car b)))
(setq asc (+ (* (ascii c) 1000) (ascii (substr c 2 1))));得到汉字机器码(貌似是)
(cond;cond
((<= 176161 asc 176196)(setq sendcommand-text"_.TRIM "));A啊
((<= 178193 asc 180237)(setq sendcommand-text"_.copy "));C才
((<= 182234 asc 183161)(setq sendcommand-text"_.erase "));E 额
((<= 183162 asc 184192)(setq sendcommand-text"_.fuzhi " ));F发
((<= 184193 asc 185253)(setq sendcommand-text"_.DRAWGCD " ));G个
((<= 185254 asc 187246)(setq sendcommand-text"_.huan "));H好
((<= 187247 asc 191165)(setq sendcommand-text"_.POLYJOIN " ));J就
((<= 191166 asc 192171)(setq sendcommand-text"_.DRAWDK " ));K看
((<= 194171 asc 196194)(setq sendcommand-text"_.move "));M 门=====此处机器码不是很准确
((<= 196195 asc 197181)(setq sendcommand-text"_.PLIND "));N你
((<= 198218 asc 200186)(setq sendcommand-text"_.EXTEND "));Q去
((<= 200187 asc 200245)(setq sendcommand-text"_.offset "));R人
((<= 200246 asc 203249)(setq sendcommand-text"_.putp "));S是
((<= 203250 asc 205217)(setq sendcommand-text"_.TEXT "));T 他
((<= 205218 asc 206243)(setq sendcommand-text"_.DRAWWQ " ));W我
((<= 206244 asc 209184)(setq sendcommand-text"_.DJF3 0 " ));X想
((<= 209185 asc 212208)(setq sendcommand-text"_.POLYINS " ));Y有
((<= 212209 asc)       (setq sendcommand-text"_.zoom e "));Z 中
((> 176161 asc)      (setq sendcommand-text nil));如果不是汉字就
)   ;cond
(if (/= sendcommand-text nil)
(vla-sendcommand *doc* sendcommand-text)
    )
(setq sendcommand-text nil)
(princ)
)

mokson 发表于 2020-5-7 21:41:15

re 扔,经常是这样。

magicheno 发表于 2021-11-5 00:47:15

学习啦海哥

guosheyang 发表于 2021-11-5 08:29:46

感谢大佬分享!

小小的人 发表于 2022-6-28 16:40:20

为什么输入第一次只是打开命令框然后才能输入命令   不能像英文一样直接就输入命令吗

czb203 发表于 2022-6-28 17:01:22


谢谢海哥分享,学习了
页: 1 2 3 [4]
查看完整版本: 智能实现误输入中文后依然可以继续使用命令