0 Members and 1 Guest are viewing this topic.
;;; ;;;; Create a POP0 menu ;;;; ;;;; Use: (kb:DynamicPop (some list) "kb40") ;(defun kb:DynamicPop (ulist menugrp / acadobj menugrps menu menus shortcut) (setq acadobj (vlax-get-acad-object) menugrps (vla-get-menugroups acadobj) menu (vl-catch-all-apply 'vla-item (list menugrps menugrp)) ) (if (not (vl-catch-all-error-p menu)) (progn (setq menus (vla-get-menus menu)) (vlax-for i menus (if (= (vla-get-shortcutmenu i) :vlax-true) (setq shortcut i) ) ) (if shortcut (progn (vlax-for ii shortcut (vla-delete ii)) (setq cnt 0) (foreach x ulist (vlax-invoke shortcut 'addmenuitem cnt (car x) (cdr x)) (setq cnt (1+ cnt)) ) ) ) ) ) shortcut )
;;; Return a list of UCSs;;; use(setq l(kb:ListUCSs))(defun kb:ListUCSs (/ ucslist) (setq ucslist(list(cons "World" "ucs World ") (cons "Bottom" "ucs orthoGraphic Bottom ")(cons "Front" "ucs orthoGraphic Front ")(cons "Back" "ucs orthoGraphic Back ")(cons "Left" "ucs orthoGraphic Left ")(cons "Right" "ucs orthoGraphic Right ")(cons "45" "ucs _z 45 ")(cons "Origin" "ucs _o ")(cons "Object" "ucs _ob "))) (vlax-for x (vla-get-UserCoordinateSystems (vla-get-ActiveDocument (vlax-get-acad-object))) (setq ucslist (append ucslist (list (cons (vlax-get-property x 'name)(strcat"ucs restore "(vlax-get-property x 'name)" ") ))))) ucslist)(defun c:kbUCSPop( / ret) (if(kb:DynamicPop (kb:ListUCSs) "kb00") (progn (menucmd "P0=kb00.POP0") (menucmd "P0=*") )))