本帖最后由 作者 于 2008-6-1 17:57:12 编辑
下面是一个自定义的Aunger.PGP文件加载程序,但是存在一个问题: 发现当第一次打开AutoCAD文件时,会自动加载Aunger.PGP中自定义的命令,但是当多文档之间切换时,则丢失了,只能手动运行一次ayCMD命令,很麻烦的,请高手赐教!谢谢 (defun C:ayCMD(/ PGPFile fp i xString aList shortCMD GlobalCMD) (vl-load-com) (setq PGPFile "Ayunger.pgp");F:\\Ayungerstudio\\VLisp\\Ayunger.pgp (if (setq PGPFile (findfile PGPFile)) (progn;then (setq fp (open PGPFile "r")) (setq i 1) (while (setq xString (read-line fp)) (if (= (type xString) 'SYM) (setq xString (vl-symbol-name xString)));转换数据文件中无引号的字符串. (while (vl-string-search " " xstring);去掉所有的空格. (setq xString(vl-string-subst "" " " xstring));空格. (setq xString(vl-string-subst "" " " xstring));tab符. );end_while (if (and (/= (substr xString 1 1) ";") (vl-string-search "," xstring) (vl-string-search "*" xstring)) (progn (setq aList (read (strcat "(" (vl-string-subst " . C:" ",*" xString) ")"))) (setq shortCMD (vl-string-trim " " (vl-symbol-name (car aList)))) (setq GlobalCMD (cdr aList)) ;(vlax-remove-cmd shortCMD);删除已定义的命令. (vlax-add-cmd shortCMD GlobalCMD) );end_progn );end_if (setq i (+ i 1)) );end_while read-line (close fp) );end_progn then (princ "\nAY工具简化命令定义文件 Ayunger.pgp 没找到或不存在!") );end_if (princ) );end_defun
;;Ayunger.PGP ;; ;; AY工具命令简化设置文件 ;; ;; Copyright Ayunger Studio 2001-2008 ;; E-mail: AyungerStudio@163.com ;; ;; 格式: <简化命令>, *<完全命令> ;; ARW, *ayArw TL, *ayRailway SPX, *aySpx ZPX, *ayZpx PDX, *ayPdx PDXC, *ayPdxC CX, *ayPerCurve QX, *ayTanCurve LL, *ayLL
【按照本人的理解,应该是有关文档之间切换时调用的“反应器”函数,但是关于这方面的资料太少了!请帮助】 |