Примерно так и делаю
(defun Geo_reload_cuix
(name bundle_name / name_cuix R supp_dir prog_dir pas)
(vlax-for item
(vla-get-MenuGroups
(vlax-get-acad-object)
)
(if (eq (vla-get-Name item) name)
(setq pas (vla-get-menuFileName item))
)
)
(setq R (if (>= (atoi (getvar 'ACADVER)) 20)
"\\R20"
"\\R19"
)
prog_dir (getenv "programdata")
name_cuix (strcat name ".cuix")
)
(if (and
pas
(not (wcmatch pas "*ProgramData*"))
(setq supp_dir (findfile name_cuix))
(setq temp (findfile (strcat (strcat
prog_dir
"\\Autodesk\\ApplicationPlugins\\"
bundle_name
"\\Contents\\Resources"
R
)
"\\"
name_cuix
)
)
)
)
(progn
(command "_.menuunload" name)
(command "_.menuload" temp)
(if (setq wscurrent (getvar "wscurrent"))
(command "_.wssave" wscurrent "_y")
)
)
)
)
Меню загружается то что нужно, т.к. начинают отображаться иконки кнопок, потому что рядом с
cuix в
bundle лежит ресурсная
dll, а рядом с
cuix в
support нет
Но всё равно это всё полумеры...
Раньше я копировал
dll из
bundle в
suport и всё работало, но потом подумал над обновлением, и решил перезагружать
cuix, но когда опять столкнулся с проблемой теперь думаю просто проверять дату
dll если она в
bundle свежее то обновлять
dll в
support.
Но эти функции я вешаю проверять при запуске команд, а до того там нет иконок :-(
Пробовал в конце файла сразу вызов функции делать, чтоб типа в момент загрузки, но фиг, она загружается так рано, что
AutoCAD ещё не готов ни чего выполнять, в итоге ни чего и не выполняется :-(
При этом когда вручную делаю перезагрузку меню, то всё сохраняется, и перезапуск AutoCAD уже ничего назад не возвращает.