AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

[已解決]關於【; 錯誤: 函數被取消】

上一篇主題 下一篇主題 向下

[已解決]關於【; 錯誤: 函數被取消】

發表 由 kev1229qq123 于 2012-05-09, 19:20

最近剛接觸Lisp
有下載一些程式來練習使用

當程式執行完畢,按空白鍵可以正常結束
可是如果是按下ESC鍵,則會出現【; 錯誤: 函數被取消】

請問是否有指令可以做修改,把這段文字隱藏或去掉?謝謝!


kev1229qq123 在 2012-05-10, 20:35 作了第 1 次修改
avatar
kev1229qq123
中級會員
中級會員

文章總數 : 141
年齡 : 31
來自 : 台北
職業 : 學生
愛好 : CAD/Pro.e
個性 : 隨性隨和
使用年資 : 4
使用版本 : CAD2014
積分 : 8
經驗值 : 3655
威望值 : 40
發帖精華 : 1
注冊日期 : 2008-10-21
男 摩羯座 牛

回頂端 向下

回復: [已解決]關於【; 錯誤: 函數被取消】

發表 由 明~ 于 2012-05-10, 14:46

1.請問是否有指令可以做修改?
Autocad裡"沒有"指令做修改~

2.把這段文字隱藏或去掉?
可以,對"error"函數做處理.
通常程式會寫當使用過程中,按esc時做系統環境設定回復的動作~
在這裡就可以增加對文字提示的處理~

你可以先思考一下,如果不懂,那把要處理的程式貼上,我在做修改~
avatar
明~
高級會員
高級會員

文章總數 : 307
年齡 : 37
來自 : 彰化
職業 : 機械
愛好 : 打球 騎車 健行 音樂 電影 (說不完...)
個性 : 不與人爭
使用年資 : 從學生時代接觸到現在(工作中不一定使用)
使用版本 : 2004和2008
積分 : 17
經驗值 : 4609
威望值 : 670
注冊日期 : 2009-12-24
藍鵲292號
男 雙魚座 猴

回頂端 向下

回復: [已解決]關於【; 錯誤: 函數被取消】

發表 由 kev1229qq123 于 2012-05-10, 20:31

因為這一、兩天才開始學,所以會的函數、語法不多
我的思考方向有兩個
第一個:將【; 錯誤: 函數被取消】改印成空值...可是我試不出來@@
第二個:用你提到的error函數,我翻書看了一下,再最後加上了

(defun *error* (msg)

(princ "")

(princ)

)

結果就成功了~~非常感謝! 竊喜

以下是我的程式
代碼:


(defun C:kk ()

(setvar "cmdecho" 0) ; 關閉指令回應
(setvar "blipmode" 0) ; 關閉十字

(setq INS (getpoint "\n 長條孔的插入點 : "))
(setq LO (getreal "\n 請輸入長條孔的最大長度 : "))
(setq DO (getreal "\n 請輸入長條孔的孔徑尺寸 : "))

(setq ANG 0) ; 將ANG預設為0
(setq ang-old ANG) ; 將ANG的角度值,設定為角度的預設值ang-old
(prompt "\n 請輸入旋轉角度<") (princ ang-old) (princ "> : ") ; 提示輸入角


(setq ANG (getangle INS)) ; 可直接輸入角度
(if (= ANG nil) ; 如果不輸入角度值,直接按[enter]
(setq ANG ang-old) ; 就表示接受內定的角度值ang-old
)


(while INS
(setvar "osmode" 0) ; 將系統變數的抓點模式值設為0,防止抓錯點座標值
(setq ptc01 (polar INS (+ PI ANG) (/ (- LO DO) 2.0)))
(setq ptc02 (polar INS ANG (/ (- LO DO) 2.0)))
(setq pta01 (polar ptc02 (+ (* PI 0.5) ANG) (/ DO 2.0)))
(setq pta02 (polar ptc02 (+ (* PI 1.5) ANG) (/ DO 2.0)))
(setq pta03 (polar ptc01 (+ (* PI 1.5) ANG) (/ DO 2.0)))
(setq pta04 (polar ptc01 (+ (* PI 0.5) ANG) (/ DO 2.0)))

(setq pta05 (polar ptc01 (+ PI ANG) (* DO 0.75)))
(setq pta06 (polar ptc02 (+ 0 ANG) (* DO 0.75)))

(setq pta07 (polar ptc02 (+ (* PI 0.5) ANG) (* DO 0.75)))
(setq pta08 (polar ptc02 (+ (* PI 1.5) ANG) (* DO 0.75)))
(setq pta09 (polar ptc01 (+ (* PI 1.5) ANG) (* DO 0.75)))
(setq pta10 (polar ptc01 (+ (* PI 0.5) ANG) (* DO 0.75)))

(command "undo" "be")
(command "arc" "c" ptc02 pta02 pta01) ;畫右側邊的圓弧
(command "arc" "c" ptc01 pta04 pta03) ;畫左側邊的圓弧

(command "line" pta01 pta04 "") ;畫上方的直線
(command "line" pta03 pta02 "") ;畫下方的直線
(command "line" pta05 pta06 "") ;畫中間的直線

(command "line" pta07 pta08 "") ;畫右邊的直線
(command "line" pta09 pta10 "") ;畫左邊的直線

(command "regen") ; 圖面重繪
(command "undo" "e")

(setvar "osmode" 39) ; 恢復抓點模式功能

(setq INS (getpoint "\n 再次插入點 : "))
; 重複插入,可插入多個相同的長條孔在不同的位置


)
(prin1)
)


(defun *error* (msg)

(princ "")

(princ)

)

avatar
kev1229qq123
中級會員
中級會員

文章總數 : 141
年齡 : 31
來自 : 台北
職業 : 學生
愛好 : CAD/Pro.e
個性 : 隨性隨和
使用年資 : 4
使用版本 : CAD2014
積分 : 8
經驗值 : 3655
威望值 : 40
發帖精華 : 1
注冊日期 : 2008-10-21
男 摩羯座 牛

回頂端 向下

回復: [已解決]關於【; 錯誤: 函數被取消】

發表 由 kev1229qq123 于 2012-05-10, 20:50


原本在程式中按下ESC的結果


程式修改後,只剩下*取消*~感動 感動


avatar
kev1229qq123
中級會員
中級會員

文章總數 : 141
年齡 : 31
來自 : 台北
職業 : 學生
愛好 : CAD/Pro.e
個性 : 隨性隨和
使用年資 : 4
使用版本 : CAD2014
積分 : 8
經驗值 : 3655
威望值 : 40
發帖精華 : 1
注冊日期 : 2008-10-21
男 摩羯座 牛

回頂端 向下

上一篇主題 下一篇主題 回頂端


 
這個論壇的權限:
無法 在這個版面回復文章