love1030312 发表于 2014-7-18 15:03:02

各位大大v帮我看看 为什么重启CAD自定义命令失效

在明经上下载的别人的   
各位大大 版主高手帮我看看 为什么重启CAD自定义命令失效
哪个地方有问题???(princ "\n启动命令:test")

(defun c:test ()
(setvar "cmdecho" 0)
(vl-load-com)
(setq dcl_id (load_dialog "Test.dcl"))
(new_dialog "userset" dcl_id)
(read_from_registry)
(write_to_wdy)
(action_tile "onekeyset" "(onekeyset)")
(action_tile "purgeall" "(purgeall)")
(action_tile "ok" "(read_from_wdy) (done_dialog 1001)")
(setq dd (start_dialog))
(if (= dd 1001)
      (progn
      (write_to_registry)
      (alert "★提示:\n自定义快捷命令已设置成功!\n重新打开AutoCAD后,自定义快捷命令才会全部生效!")
      (wdy_qidong)
      )
)
)

;;;*****自定义快捷命令 程序********
(defun onekeyset ();一键设置
(purgeall)
(set_tile "wdy501" "te1")
(set_tile "wdy502" "te2")
(set_tile "wdy503" "te3")
(set_tile "wdy504" "te4")
(set_tile "wdy505" "te5")
)

(defun purgeall () ;自定义快捷键全部清除
(set_tile "wdy501" "")
(set_tile "wdy502" "")
(set_tile "wdy503" "")
(set_tile "wdy504" "")
(set_tile "wdy505" "")
)

;;;***读取注册表 程序开始***
(defun read_from_registry ()
(setq rfreg_wdy501 (vl-registry-read "HKEY_CURRENT_USER\\SOFTWARE\\Autodesk\\Hotkey" "wdy501"))
(setq rfreg_wdy502 (vl-registry-read "HKEY_CURRENT_USER\\SOFTWARE\\Autodesk\\Hotkey" "wdy502"))
(setq rfreg_wdy503 (vl-registry-read "HKEY_CURRENT_USER\\SOFTWARE\\Autodesk\\Hotkey" "wdy503"))
(setq rfreg_wdy504 (vl-registry-read "HKEY_CURRENT_USER\\SOFTWARE\\Autodesk\\Hotkey" "wdy504"))
(setq rfreg_wdy505 (vl-registry-read "HKEY_CURRENT_USER\\SOFTWARE\\Autodesk\\Hotkey" "wdy505"))
)
;;;***读取注册表 程序结束***

;;;*****写入WDY 程序开始*****
(defun write_to_wdy ()
(if rfreg_wdy501 (set_tile "wdy501" rfreg_wdy501) (set_tile "wdy501" ""))
(if rfreg_wdy502 (set_tile "wdy502" rfreg_wdy502) (set_tile "wdy502" ""))
(if rfreg_wdy503 (set_tile "wdy503" rfreg_wdy503) (set_tile "wdy503" ""))
(if rfreg_wdy504 (set_tile "wdy504" rfreg_wdy504) (set_tile "wdy504" ""))
(if rfreg_wdy505 (set_tile "wdy505" rfreg_wdy505) (set_tile "wdy505" ""))
)
;;;*****写入WDY 程序结束*****

;;;*****读取WDY 程序开始*****
(defun read_from_wdy ()
(setq rfw_wdy501 (get_tile "wdy501"))
(setq rfw_wdy502 (get_tile "wdy502"))
(setq rfw_wdy503 (get_tile "wdy503"))
(setq rfw_wdy504 (get_tile "wdy504"))
(setq rfw_wdy505 (get_tile "wdy505"))
)
;;;*****读取WDY 程序结束*****

;;;***写入注册表 程序开始
(defun write_to_registry ()
(vl-registry-write "HKEY_CURRENT_USER\\SOFTWARE\\Autodesk\\Hotkey" "wdy501" rfw_wdy501)
(vl-registry-write "HKEY_CURRENT_USER\\SOFTWARE\\Autodesk\\Hotkey" "wdy502" rfw_wdy502)
(vl-registry-write "HKEY_CURRENT_USER\\SOFTWARE\\Autodesk\\Hotkey" "wdy503" rfw_wdy503)
(vl-registry-write "HKEY_CURRENT_USER\\SOFTWARE\\Autodesk\\Hotkey" "wdy504" rfw_wdy504)
(vl-registry-write "HKEY_CURRENT_USER\\SOFTWARE\\Autodesk\\Hotkey" "wdy505" rfw_wdy505)
)
;;;***写入注册表 程序结束

;;;***自定义命令 程序开始***
(defun wdy_qidong ()
(read_from_registry)
(if rfreg_wdy501 (eval (read (strcat "(defun c:" rfreg_wdy501 "() (c:wdy_test1))"))))
(if rfreg_wdy502 (eval (read (strcat "(defun c:" rfreg_wdy502 "() (c:wdy_test2))"))))
(if rfreg_wdy503 (eval (read (strcat "(defun c:" rfreg_wdy503 "() (c:wdy_test3))"))))
(if rfreg_wdy504 (eval (read (strcat "(defun c:" rfreg_wdy504 "() (c:wdy_test4))"))))
(if rfreg_wdy505 (eval (read (strcat "(defun c:" rfreg_wdy505 "() (c:wdy_test5))"))))
)
页: [1]
查看完整版本: 各位大大v帮我看看 为什么重启CAD自定义命令失效