AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
請教lisp中斷後 Oooo-110 請教lisp中斷後 Oo-2-110 請教lisp中斷後 Ia15010 請教lisp中斷後 Ziao1510 請教lisp中斷後 BPl3tjj 請教lisp中斷後 Uos15010 請教lisp中斷後 Uos15011

請教lisp中斷後

向下

請教lisp中斷後 Empty 請教lisp中斷後

發表 由 hoodpinrh0829 于 2019-05-23, 07:40

請教大大們
在lisp計算中突然中斷後,回復最初設定的法語。
hoodpinrh0829
hoodpinrh0829
一般會員
一般會員

文章總數 : 58
年齡 : 36
來自 : 桃園
職業 : 待業
愛好 : 到處走走
個性 : 內向
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 2348
威望值 : 0
注冊日期 : 2014-02-27
男 處女座 狗

回頂端 向下

請教lisp中斷後 Empty 回復: 請教lisp中斷後

發表 由 djh1006 于 2019-05-23, 13:42

(defun C:ABC()

;===中斷處理的程式===
 (defun *error*()
   (princ "錯誤!")
   (setvar "OSMODE" 4151);;設定常駐式物件鎖點

      ;;1 END (端點)
      ;;2 MID (中點)
      ;;4 CEN (圓心)
      ;;8 NOD (節點)
      ;;16 QUA (四分點)
      ;;32 INT (交點)
      ;;64 INS (插入點)
      ;;128 PER (互垂點)
      ;;256 TAN (切點)
      ;;512 NEA (最近點)
      ;;1024 GCE (幾何中心)
      ;;2048 APP (外觀交點)
      ;;4096 EXT (延伸)
      ;;8192 PAR (平行)
      ;;1+2+4+16+32+4096=4151(我的習慣用法可以自行加減)
   (setvar "AUTOSNAP" 63);;控制自動鎖點標識_工具提示以及磁鐵的顯示
      ;;1 打開「自動鎖點」標識
      ;;2 打開「自動鎖點」工具提示
      ;;4 打開「自動鎖點」磁鐵
      ;;8 打開「極座標追蹤」
      ;;16 打開物件鎖點追蹤
      ;;32 打開 極座標追蹤 物件鎖點追蹤 和正交模式的工具提示
      ;;1+2+4+8++16+32=63
   (princ)
 )
 (defun useerr(s)
   (setq *error* olderr)
   (setvar "OSMODE" OSP)   ;;回復最初的鎖點模式
   (setvar "CECOLOR" CCLR) ;;回復最初的線色
   (setvar "CELTYPE" CLTP) ;;回復最初的線型
   (setvar "CLAYER" CLAY)  ;;回復最初的圖層
   (command "UNDO" "E")
   (princ)
 )
 (setq olderr *error* *error* useerr)
;============================


程式內容
   (setq OSP (getvar "OSMODE")   ;;記憶目前的鎖點模式
   (setq CCLR (getvar "CECOLOR") ;;記憶目前的線色
   (setq CLTP (getvar "CELTYPE") ;;記憶目前的線型
   (setq CLAY (getvar "CLAYER")  ;;記憶目前的圖層
   (command "UNDO" "BE")
   ..........
   (command "UNDO" "E");;若點點點中的程式做了好幾步
                       ;;只要按一次UNDO就可以把好幾步一次性回復
   ..........

;===將*error*回覆成預設功能===
   (setq *error* olderr)
;=============================

 (princ)
)

Tiger&蘋果爸 寫到:讚啦!! 謝謝熱心程式分享~< 積分 +1>
[公告]關於團隊成員的回文及貢獻
djh1006
djh1006
中級會員
中級會員

文章總數 : 167
年齡 : 48
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 20年以上
使用版本 : 2014
積分 : 7
經驗值 : 4168
威望值 : 320
注冊日期 : 2011-06-16
男 獅子座 豬

回頂端 向下

請教lisp中斷後 Empty 回復: 請教lisp中斷後

發表 由 hoodpinrh0829 于 2019-05-23, 19:00

djh1006 寫到:(defun C:ABC()

;===中斷處理的程式===
 (defun *error*()
   (princ "錯誤!")
   (setvar "OSMODE" 4151);;設定常駐式物件鎖點

      ;;1 END (端點)
      ;;2 MID (中點)
      ;;4 CEN (圓心)
      ;;8 NOD (節點)
      ;;16 QUA (四分點)
      ;;32 INT (交點)
      ;;64 INS (插入點)
      ;;128 PER (互垂點)
      ;;256 TAN (切點)
      ;;512 NEA (最近點)
      ;;1024 GCE (幾何中心)
      ;;2048 APP (外觀交點)
      ;;4096 EXT (延伸)
      ;;8192 PAR (平行)
      ;;1+2+4+16+32+4096=4151(我的習慣用法可以自行加減)
   (setvar "AUTOSNAP" 63);;控制自動鎖點標識_工具提示以及磁鐵的顯示
      ;;1 打開「自動鎖點」標識
      ;;2 打開「自動鎖點」工具提示
      ;;4 打開「自動鎖點」磁鐵
      ;;8 打開「極座標追蹤」
      ;;16 打開物件鎖點追蹤
      ;;32 打開 極座標追蹤 物件鎖點追蹤 和正交模式的工具提示
      ;;1+2+4+8++16+32=63
   (princ)
 )
 (defun useerr(s)
   (setq *error* olderr)
   (setvar "OSMODE" OSP)   ;;回復最初的鎖點模式
   (setvar "CECOLOR" CCLR) ;;回復最初的線色
   (setvar "CELTYPE" CLTP) ;;回復最初的線型
   (setvar "CLAYER" CLAY)  ;;回復最初的圖層
   (command "UNDO" "E")
   (princ)
 )
 (setq olderr *error* *error* useerr)
;============================


程式內容
   (setq OSP (getvar "OSMODE")   ;;記憶目前的鎖點模式
   (setq CCLR (getvar "CECOLOR") ;;記憶目前的線色
   (setq CLTP (getvar "CELTYPE") ;;記憶目前的線型
   (setq CLAY (getvar "CLAYER")  ;;記憶目前的圖層
   (command "UNDO" "BE")
   ..........
   (command "UNDO" "E");;若點點點中的程式做了好幾步
                       ;;只要按一次UNDO就可以把好幾步一次性回復
   ..........

;===將*error*回覆成預設功能===
   (setq *error* olderr)
;=============================

 (princ)
)


Tiger&蘋果爸 寫到:讚啦!!謝謝熱心程式分享~< 積分 +1>
[公告]關於團隊成員的回文及貢獻
太感謝你了
有你真好 熱情
hoodpinrh0829
hoodpinrh0829
一般會員
一般會員

文章總數 : 58
年齡 : 36
來自 : 桃園
職業 : 待業
愛好 : 到處走走
個性 : 內向
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 2348
威望值 : 0
注冊日期 : 2014-02-27
男 處女座 狗

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
請教lisp中斷後 Uos15011 請教lisp中斷後 Uos15010 請教lisp中斷後 BPl3tjj 請教lisp中斷後 Ziao1510 請教lisp中斷後 Ia15010 請教lisp中斷後 Oo-2-110 請教lisp中斷後 Oooo-110