AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
[已解決]請問關於LISP和快速鍵的設置問題? Oooo-110 [已解決]請問關於LISP和快速鍵的設置問題? Oo-2-110 [已解決]請問關於LISP和快速鍵的設置問題? Ia15010 [已解決]請問關於LISP和快速鍵的設置問題? Ziao1510 [已解決]請問關於LISP和快速鍵的設置問題? BPl3tjj [已解決]請問關於LISP和快速鍵的設置問題? Uos15010 [已解決]請問關於LISP和快速鍵的設置問題? Uos15011

[已解決]請問關於LISP和快速鍵的設置問題?

向下

[已解決]請問關於LISP和快速鍵的設置問題? Empty [已解決]請問關於LISP和快速鍵的設置問題?

發表 由 djh1006 于 2013-11-03, 16:30

我的LISP的檔名規則為
DJH_001.lsp
DJH_002.lsp
......
程式內容為
(defun C:DJH_001()
;DJH_001.lsp
;X軸座標_負號
......
)

(defun C:DJH_002()
;DJH_002.lsp
;XY軸座標_基準點
......
)

acad.mnl的內容如下
......
^C^C^P(if (not c:DJH_001) (load "DJH_001"));DJH_001
^C^C^P(if (not c:DJH_002) (load "DJH_002"));DJH_002
......

acad.pgp的內容如下
......
DX,        *DJH_001
DXS,        *DJH_002
......

以上各個設定好後,在auotcad中即可使用快速鍵,但是每次開檔案(或開新檔案)時就會載入一堆LISP程式(我的程式有2百多個,載入時花了好幾秒),我有試著把設定改在AUTOCAD2014DOC.LSP,並把acad.mnl的^C^C^P(if (not c:DJH_001) (load "DJH_001"));DJH_001取消,可是如此做就不能使用快速鍵,錯誤訊息如下:
指令: DX DX ; 錯誤: no function definition: QLOAD
指令:

請問如何設置才能使用快速鍵又不會在開檔案時載入一堆LISP?


djh1006 在 2013-11-05, 15:07 作了第 1 次修改
djh1006
djh1006
中級會員
中級會員

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

回頂端 向下

[已解決]請問關於LISP和快速鍵的設置問題? Empty 回復: [已解決]請問關於LISP和快速鍵的設置問題?

發表 由 shenhung 于 2013-11-03, 21:24

acad.mnl的內容修正如下
(defun c:DJH_001 () (qload "djh_001" "djh_001"))
(defun c:DJH_002 () (qload "djh_002" "djh_002"))

然後將你2百多條程式.都在acad.mnl 定義類似上面的LISP

令外你少了qload 副程式.把qload 也放進 acad.mnl 內就可以了
;(QLOAD LISP名稱  執行命令)


(defun qload(cmd1 cmd2)
 (load  cmd1)
 (setq rtn (eval (read (strcat "(c:" cmd2 ")"))))
)


以上你試試.~


以下是我自己外掛定義快速QLOAD LISP 部分代碼. 給你參考.~!!
每開1張圖.只會載入以下的小程式.~!! 當你呼叫的時候..會先載入你呼叫的主程式.再自動執行命令...
有問題的話.請再提出討論.~

代碼:

(defun c:amd_MOFFSET()  (qload "MOFFSET" "amd_MOFFSET"))
(defun c:amd_CUTTER2()  (qload "CUTTER2" "amd_CUTTER2"))
(defun c:amd_TRIM3()    (qload "TRIM3" "amd_TRIM3"))
(defun c:amd_TRIMC()    (qload "TRIMC" "amd_TRIMC"))
(defun c:amd_PJOIN()    (qload "PJOIN" "amd_PJOIN"))
(defun c:amd_SEC()      (qload "SEC" "amd_SEC"))
(defun c:amd_ARR()      (qload "ARR" "amd_ARR"))
(defun c:amd_LZCON()    (qload "ZCON" "amd_LZCON"))
(defun c:amd_ZCON()     (qload "ZCON" "amd_ZCON"))
(defun c:amd_BMI()      (qload "BMI" "amd_BMI"))
(defun c:amd_MI4()      (qload "BMI" "amd_MI4"))
(defun c:amd_LMi()      (qload "LMI" "amd_LMI"))
(defun c:amd_CK()       (qload "CK" "amd_CK"))
(defun c:amd_CHLT()     (qload "CHLT" "amd_CHLT"))
(defun c:amd_EF()       (qload "EF" "amd_EF"))
(defun c:amd_CHW()      (qload "CHW" "amd_CHW"))
(defun c:amd_DRS()      (qload "DRS" "amd_DRS"))
(defun c:amd_AL()       (qload "AL" "amd_AL"))
(defun c:amd_CUT1()     (qload "CUT1" "amd_CUT1"))
(defun c:amd_CUT2()     (qload "CUT2" "amd_CUT2"))
(defun c:amd_CUT3()     (qload "CUT3" "amd_CUT3"))
(defun c:amd_CUT4()     (qload "CUT4" "amd_CUT4"))
(defun c:amd_CUT5()     (qload "CUT5" "amd_CUT5"))
(defun c:amd_CLIN()     (qload "CLIN" "amd_CLIN"))
(defun c:amd_xCLIN()    (qload "xCLIN" "amd_xCLIN"))
(defun c:amd_3C()       (qload "3C" "amd_3C"))
(defun c:amd_hole()     (qload "MBOX" "amd_HOLE"))
(defun c:amd_MC()       (qload "MC" "amd_MC"))
(defun c:amd_CCUT()     (qload "CCUT" "amd_CCUT"))
(defun c:amd_4CC()      (qload "CCUT" "amd_4CUT"))
(defun c:amd_ECC()      (qload "CCUT" "amd_ECUT"))
(defun c:amd_C3()       (qload "C3" "amd_C3"))
(defun c:amd_PCR()      (qload "PCR" "amd_PCR"))
(defun c:amd_PTR()      (qload "PTR" "amd_PTR"))
(defun c:amd_OFSETA()   (qload "OFSETA" "amd_OFSETA"))
(defun c:amd_OFSET()    (qload "OFSET" "amd_OFSET"))
(defun c:amd_OFSC()     (qload "OFSC" "amd_OFSC"))
(defun c:amd_OFSC2()    (qload "OFSC2" "amd_OFSC2"))
(defun c:amd_SLOT1()    (qload "SLOT" "amd_SLOT1"))
(defun c:amd_SLOT2()    (qload "SLOT" "amd_SLOT2"))
(defun c:amd_HLINE()    (qload "HLINE" "amd_HLINE"))
(defun c:amd_VLINE()    (qload "VLINE" "amd_VLINE"))
(defun c:amd_SBOX()     (qload "SBOX" "amd_SBOX"))
(defun c:amd_MBOX()     (qload "MBOX" "amd_MBOX"))
(defun c:amd_EBOX()     (qload "MBOX" "amd_EBOX"))
(defun c:amd_RBOX()     (qload "RBOX" "amd_RBOX"))
(defun c:amd_CBOX()     (qload "CBOX" "amd_CBOX"))
(defun c:amd_TBOX()     (qload "TBOX" "amd_TBOX"))
(defun c:amd_TYP()      (qload "TYP" "amd_TYP"))
(defun c:amd_NM()       (qload "TYP" "amd_NM"))
(defun c:amd_an()       (qload "typ" "amd_AN"))
(defun c:amd_FR1()      (qload "FR1" "amd_FR1"))
(defun c:amd_GETINT()   (qload "GETINT" "amd_GETINT"))
(defun c:amd_BALL1()    (qload "BALL" "amd_BALL"))
(defun c:amd_BALL()     (qload "BALL" "amd_BALL"))
(defun c:amd_RIB1()     (qload "SBOX" "amd_RIB1"))
(defun c:amd_RIB2()     (qload "SBOX" "amd_RIB2"))
(defun c:amd_RIB3()     (qload "SBOX" "amd_RIB3"))
(defun c:amd_con1()     (qload "con1" "amd_con1"))
(defun c:amd_PRO_CIR()  (qload "PRO_CIR" "amd_PRO_CIR"))
shenhung
shenhung
高級會員
高級會員

文章總數 : 245
年齡 : 53
來自 : 新北市
職業 : 塑膠模具設計.AUTOLISP
愛好 : 音樂
個性 : 隨和
使用年資 : 18年
使用版本 : 2010
積分 : 15
經驗值 : 5946
威望值 : 963
注冊日期 : 2009-06-03
男 摩羯座 馬

回頂端 向下

[已解決]請問關於LISP和快速鍵的設置問題? Empty [已解決]請問關於LISP和快速鍵的設置問題?

發表 由 djh1006 于 2013-11-04, 20:22

感謝Shenhung的指導,成功了,謝謝
djh1006
djh1006
中級會員
中級會員

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

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[已解決]請問關於LISP和快速鍵的設置問題? Uos15011 [已解決]請問關於LISP和快速鍵的設置問題? Uos15010 [已解決]請問關於LISP和快速鍵的設置問題? BPl3tjj [已解決]請問關於LISP和快速鍵的設置問題? Ziao1510 [已解決]請問關於LISP和快速鍵的設置問題? Ia15010 [已解決]請問關於LISP和快速鍵的設置問題? Oo-2-110 [已解決]請問關於LISP和快速鍵的設置問題? Oooo-110