【错误处理】各位大哥来看看 lisp看的视频错误处理这一块
以下是源码,我的问题是到循环那按esc退出后捕捉不会恢复,刚开始接触lisp;找了很多次错,也没找到哪里的问题
各位大哥来看看
[*](defun c:px (/ pd pd1 sz wz wzcj wzh xg xg1 yy);序号排序
[*];错误处理
[*](setq *error*_bak *error*)
[*](setq *error* *error*_non)
[*];-----------------------------------------
[*](setq osmode_bak (getvar "osmode"));备份捕捉
[*]-----------------------------------------
[*](setq pd (getint "\n是否关闭捕捉,0为否,1为是:"));是否关闭捕捉
[*](setq pd1 1)
[*](if (eq pd pd1)
[*] (setvar "osmode" 0)
[*] (nil);setvar "osmode" OSMODE_bak
[*])
[*];主程序
[*](setq sz (getint "输入一个数"))
[*](setq wzh (getreal "\n输入文字高度"))
[*](setq wz t)
[*](while t
[*] (setq wz (getpoint "\n选择点"))
[*] (setq wzcj (Vlax-Invoke-Method (Vlax-Get (Vlax-Get (Vlax-Get-Acad-Object) 'ActiveDocument) 'ModelSpace) 'AddText (rtos sz 2 0) (vlax-3D-point wz) wzh))
[*] (setq xg (Vlax-Put-Property wzcj 'Alignment 4));修改对齐方式
[*] (setq xg1 (Vlax-Put-Property wzcj 'TextAlignmentPoint (vlax-3D-point wz)) );修改对齐方式参照点
[*] (setq yy (Vlax-Invoke-Method (Vlax-Get (Vlax-Get (Vlax-Get-Acad-Object) 'ActiveDocument) 'ModelSpace) 'AddCircle (vlax-3D-point wz) (* wzh 2) ));画圆
[*] (setq sz (+ sz 1))
[*])
[*];
[*](setq *error* *error*_bak)
[*](setvar "osmode" osmode_bak)
[*](princ)
[*])
[*](defun *error*_non (msg); 错误信息
[*](setq *error* *error*_bak)
[*](setvar "osmode" osmode_bak)
[*])
你是用飞诗加载的吧!用飞诗加载就会有这个问题 ,你把lsp托进CAD能正常了 taoyi0727 发表于 2022-4-19 11:50
你是用飞诗加载的吧!用飞诗加载就会有这个问题 ,你把lsp托进CAD能正常了
谢谢了,确实是这个毛病 我也是小白,请问lisp视频是哪里获取的呢 swamii 发表于 2022-5-25 11:17
我也是小白,请问lisp视频是哪里获取的呢
猫老师的课程
页:
[1]