马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
 - (vl-load-com)
- (defun vk_ShortcutMenu
- (ItemsList / MenuGroupsObj MenuObj Input AddItems MenuName *error*)
- (defun AddItems (MenuObj ItemsList)
- (if ItemsList
- (if (atom (car ItemsList))
- (if (= (car ItemsList) "")
- (progn (vla-AddSeparator MenuObj 0) (AddItems MenuObj (cdr ItemsList)))
- (progn (vla-AddMenuItem MenuObj 0 (car ItemsList) " ")
- (cons (car ItemsList) (AddItems MenuObj (cdr ItemsList)))
- )
- )
- (append (AddItems (vla-AddSubMenu MenuObj 0 (caar ItemsList))
- (reverse (cdar ItemsList))
- )
- (AddItems MenuObj (cdr ItemsList))
- )
- )
- )
- )
- (setq MenuName "vk_Shortcut")
- (if (not (vl-catch-all-error-p
- (vl-catch-all-apply (function (lambda ()
- (setq MenuGroupsObj (vla-get-MenuGroups (vlax-get-acad-object))
- MenuObj (vla-Item
- (vla-get-Menus
- (if (menugroup MenuName)
- (vla-Item MenuGroupsObj MenuName)
- (if (or (findfile (strcat MenuName ".mns"))
- (and (setq File (open (strcat (vl-filename-directory
- (findfile "ACAD.mns")
- )
- "\\"
- MenuName
- ".mns"
- )
- "w"
- )
- )
- (write-line (strcat "***MENUGROUP="
- MenuName
- "\n***POP0\n**"
- MenuName
- "\n\t[Shortcut]"
- )
- File
- )
- (not (close File))
- )
- )
- (vla-Load MenuGroupsObj MenuName)
- )
- )
- )
- "Shortcut"
- )
- )
- )
- )
- )
- )
- )
- (progn (menucmd (strcat "P0=" MenuName "." MenuName))
- (vlax-map-Collection MenuObj 'vla-Delete)
- (setq ItemsList (AddItems MenuObj (reverse ItemsList)))
- (menucmd "P0=*")
- (if (or (menucmd "P0=POP0") (= (car (setq Input (grread))) 11))
- (nth (- (cadr Input) 500) (reverse ItemsList))
- )
- )
- )
- )
- ;;;(vk_ShortcutMenu (list "Test1" "" (list "Test2" "Test21" "Test22" "" (list "Test23" "Test231" "Test232" "Test233")) "Test3" "" "Test4"))
|