[討論]想用ESC當防呆觸動開關
2 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[討論]想用ESC當防呆觸動開關
最近在寫多迴圈程式,但是操作中途只要手順的按到ESC的話,一切過程,設定的參數都要重來,
參考張老師的做法時,突然想到,如果設定ESC為觸動開關,回到上一步的話,不就可以防止中斷,
於是研究了一下,發現可以,但是只能執行一次,第二次還是會失敗
而且第二次會出現警示,中文的意思大概是:ESC的設定跑掉,把原先設定置頂...
想請問前輩們是不是我那邊沒有設定好呢?
還是說,有沒有方法讓ESC中斷暫時失效呢?
以下是簡易的測試程式:
(defun c:g5()
(setq olderr *error* *error* useerr)
(*push-error-using-command*)
(setq ust 10)
(while (< ust 13)
(initget " F C _F C ")
(setq utast
(getkword "\nF(畫直徑10的圓)/C(畫直徑20的圓)< 取消返回 >"))
(cond
((= utast "F") (setq ust 11))
((= utast "C") (setq ust 12))
((= utast nil) (setq ust 13))
)
(cond
((= ust 11)
(command "circle" pause 5)
)
((= ust 12)
(command "circle" pause 10)
)
)
(setq *error* olderr)
)
)
;;;======================================================
(defun useerr(key / )
(*pop-error-mode*)
(setq *error* olderr)
(c:g5)
(princ)
)
參考張老師的做法時,突然想到,如果設定ESC為觸動開關,回到上一步的話,不就可以防止中斷,
於是研究了一下,發現可以,但是只能執行一次,第二次還是會失敗
而且第二次會出現警示,中文的意思大概是:ESC的設定跑掉,把原先設定置頂...
想請問前輩們是不是我那邊沒有設定好呢?
還是說,有沒有方法讓ESC中斷暫時失效呢?
以下是簡易的測試程式:
(defun c:g5()
(setq olderr *error* *error* useerr)
(*push-error-using-command*)
(setq ust 10)
(while (< ust 13)
(initget " F C _F C ")
(setq utast
(getkword "\nF(畫直徑10的圓)/C(畫直徑20的圓)< 取消返回 >"))
(cond
((= utast "F") (setq ust 11))
((= utast "C") (setq ust 12))
((= utast nil) (setq ust 13))
)
(cond
((= ust 11)
(command "circle" pause 5)
)
((= ust 12)
(command "circle" pause 10)
)
)
(setq *error* olderr)
)
)
;;;======================================================
(defun useerr(key / )
(*pop-error-mode*)
(setq *error* olderr)
(c:g5)
(princ)
)
sword0626- 一般會員
- 文章總數 : 10
年齡 : 41
來自 : 新北
職業 : 鈑金繪圖員
愛好 : 動漫ACG
個性 : 消極、得過且過、平凡過一生
使用年資 : 10
使用版本 : AutoCAD 2018
經驗值 : 1249
威望值 : 10
注冊日期 : 2021-09-05
[回覆]:[討論]想用ESC當防呆觸動開關
try this,but not use esc.
and can not set ((= utast nil) (setq ust 13)).
https://mega.nz/file/K1AUzBTL#y98_4_h5RVHGcc3DVnpNjdndezR9E0E2jjP6tYa-n8c
https://mega.nz/file/S4BjAaSY#_5qJLnDYNexAxRntOQcqqjqwkhJf2rRN4JrLeNEmdJY
this lisp can set (= utast nil)
https://mega.nz/file/PxQ0VKiY#FDpm1UChwnZp27VTFKMbg-bj_s05izdRiE665rkDUdU
thanks.
and can not set ((= utast nil) (setq ust 13)).
https://mega.nz/file/K1AUzBTL#y98_4_h5RVHGcc3DVnpNjdndezR9E0E2jjP6tYa-n8c
https://mega.nz/file/S4BjAaSY#_5qJLnDYNexAxRntOQcqqjqwkhJf2rRN4JrLeNEmdJY
this lisp can set (= utast nil)
https://mega.nz/file/PxQ0VKiY#FDpm1UChwnZp27VTFKMbg-bj_s05izdRiE665rkDUdU
thanks.
masao_8- 初級會員
- 文章總數 : 72
年齡 : 31
來自 : 台中
職業 : 製圖
愛好 : 動漫
個性 : 內向
使用年資 : 4年
使用版本 : 2012
積分 : 1
經驗值 : 1397
威望值 : 126
注冊日期 : 2022-06-03
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章