51
481
457
后起之秀
使用道具 举报
1
15
17
初来乍到
;;HubbardCADInstall;;Installs the custom Hubbard menus and commands to AutoCAD;;Copyright 2008 Hubbard Engineering;;625 N. Gilbert Road Suite 106;;Gilbert, Arizona 85234;;heaz dot us;;Licensed to the public under the terms of the GNU General Public License;;This is Free Software. For more info read the license at fsf dot org.(DEFUN C:HCI () (C:HUBBARDCADINSTALL))(DEFUN C:HUBBARDCADINSTALL () ;;Add to or fix Support Files Search Path (HUBBARD-UPDATE-SUPPORTPATHS) ;;Add to or fix Printer Support File Path\Plot Style Table Search Path (HUBBARD-UPDATE-PLOTSTYLE-PATH) ;;Add or reload the Hubbard menus (HUBBARD-RELOAD-MENUS) ;;Exit quietly (PRINC))(DEFUN C:HCM () (C:HUBBARDCADMENUS))(DEFUN C:HUBBARDCADMENUS () (HUBBARD-RELOAD-MENUS))(DEFUN HUBBARD-UPDATE-SUPPORTPATHS (/ NEWUSERPATH) (SETQ NEWUSERPATH (STRCAT "R:\\AutoCADUsers\" (HUBBARD-USERNAME))) ;;Remove paths (REMOVE-SUPPORTPATH "R:\\HawsEDC") (REMOVE-SUPPORTPATH "R:\\AutoCADBlocks") (REMOVE-SUPPORTPATH "R:\\AutoCADMenu") (REMOVE-SUPPORTPATH "R:\\AutoCADSupport") (REMOVE-SUPPORTPATH NEWUSERPATH) ;;Remove old user path (REMOVE-SUPPORTPATH (STRCAT "R:\\AutoCADUsers\" (HUBBARD-USERNAME-2008-05)) ) ;;Add paths in reverse order at top (ADD-SUPPORTPATH "R:\\HawsEDC") (ADD-SUPPORTPATH "R:\\AutoCADBlocks") (ADD-SUPPORTPATH "R:\\AutoCADMenu") (ADD-SUPPORTPATH "R:\\AutoCADSupport") (ADD-SUPPORTPATH NEWUSERPATH))(DEFUN HUBBARD-UPDATE-PLOTSTYLE-PATH () (VLA-PUT-PRINTERSTYLESHEETPATH (VLA-GET-FILES (VLA-GET-PREFERENCES (ACAD-OBJECT))) "R:\\AutoCADSupport" ))(DEFUN HUBBARD-RELOAD-MENUS (/ ISALLMENUSREQUESTED ISMENUREMOVED USERINPUT NMENUS HUBBARDMENUS COUNTER GROUP ) (SETQ HUBBARDMENUS '("HawsEDC" "CNM" "FunKy" "Hubbard") ISALLMENUSREQUESTED NIL ) (FOREACH GROUP HUBBARDMENUS (SETQ COUNTER -1 ISMENUREMOVED NIL NMENUS (VLA-GET-COUNT (VLA-GET-MENUGROUPS (ACAD-OBJECT))) ) (COND ;;If user gives permission ((OR ISALLMENUSREQUESTED (PROGN (INITGET "Yes No All") (/= "No" (SETQ USERINPUT (GETKWORD (STRCAT "\nLoad " GROUP " menu? [Yes/No/All] <Yes>: " ) ) ) ) ) ) (COND ((= USERINPUT "All") (SETQ ISALLMENUSREQUESTED T))) ;;1. Unload the menu if present ;;Loop through load menus to find and unload this menu. (WHILE (AND (< (SETQ COUNTER (1+ COUNTER)) NMENUS) (NOT ISMENUREMOVED) ) (COND ((= (STRCASE (VLA-GET-NAME (VLA-ITEM (VLA-GET-MENUGROUPS (ACAD-OBJECT)) COUNTER) ) ) (STRCASE GROUP) ) (VLA-UNLOAD (VLA-ITEM (VLA-GET-MENUGROUPS (ACAD-OBJECT)) COUNTER) ) (SETQ ISMENUREMOVED T) ) ) ) ;;2. Load the menu. (VLA-LOAD (VLA-GET-MENUGROUPS (ACAD-OBJECT)) (FINDFILE (STRCAT GROUP ".mnu")) )