| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
17.07.2013, 19:53 | #1 | |
Адаптация AutoCad. Автозагрузка CUI без участия пользователя.
Мурманск
Регистрация: 28.07.2008
Сообщений: 208
|
||
Просмотров: 9755
|
|
||||
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
|
А меню файл - это файл cui в том формате, который выдает (findfile)?
Еще вопрос: при загрузке через acaddoc - будет работать? И еще: файл загрузится или перезагрузится, не потуряется расположение панелей? А так гранд спасиб)
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Do$, забыл проверку на предмет "если такая группа (или меню) уже загружена(о)" Это основной головняк лично у меня
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
|
А как сделать? а то будет и у меня)))
Можно не код, а хотя бы подход к решению) А может можно задать несколько путей к адаптации предприятия. Этим сразу можно было бы решить проблему. В реестре это называется EnterpriseMenuFile. Через точку с запятой - не работает. Может есть еще какой вариант?
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения. Последний раз редактировалось Kirill_Ja, 17.07.2013 в 23:41. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
EnterpriseMenuFile может быть только один, насколько я помню. Так что это не прокатит.
Мое отношение к корпоративному меню: http://autolisp.ru/2011/09/23/about_corporatemenu/ И вот еще один не очень хороший момент: http://adn-cis.org/autocad-2014-i-bezopasnost.html + http://adn-cis.org/forum/index.php?topic=105.0
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
|
А можно автоматически (на лету) объединить свой файл частичной адаптации и предполагаемую адаптацию предприятия?
Типа как (defun-q load_1 ...) (append s:startup load_1) Синтаксис не сохранен, но суть, вроде, передал.
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Я предпочитаю копировать файлы меню на локальную машину и грузить их именно с локальной машины. А вот как программно объединять файлы адаптации - если честно, не представляю
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
|
Печаль((
У меня файлы частичной адаптации, но я не хочу их прописывать как файл адаптации предприятия, т.к. при наличии другой адаптации предприятия будет неудобно никому. Придется грузить частичную как писал DOS через acaddoc и надеяться, что панельки не будут слетать каждый раз при перезагрузке АКД. С другой стороны, повторная загрузка файла адаптации очень может быть будет считаться ошибкой(исключением) и будет ловиться (vl-catch-all-apply). Спасибо за помощь.
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения. |
|||
|
||||
Цитата:
Там все просто - прошелся по MenuGroup, проверил наличие. Если нет - загружаем, если есть - выгружаем. Можно еще различные запросы - вопросы добавить по вкусу. |
||||
|
||||
Два вопроса: почему и как лечить?
Написал свой .mnu (есть разделы и ***POPn и ***TOOLBARS). 1. При загрузки ручками через _menuload - все чинно и красиво робит. (только коробит вечно выползающая ribbon после этого) 2. При попытке загрузки программно грузятся только ***TOOLBARS, а ***POPn не отображаются. Код:
В принципе, "почему", достаточно очевидно: загружаю в IAcadMenuGroups. А для IAcadMenuBar метод Load похоже вообще не применим, судя по дампу. Есть ли способ привести второе к первому?
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Используй vla-insertmenuinmenubar, тогда будут появляться в выпадающем меню. Но элементы ленты лиспом не покажешь, кажется.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Алексей, ты, как всегда, прав!
Описание меню действительно присутсвует в базе. Хранится оно тут (vla-item (vla-get-Menus (vla-item (vla-get-MenuGroups (vlax-get-acad-object)) 3)) 0) Код:
Только я использовал InsertInMenuBar к IAcadPopupMenu. Все команды отображаются замечательно и флаг "OnMenuBar (RO) = 0" переключился на -1
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
1. AutoCAD | Кулик Алексей aka kpblc | FAQ: Часто задаваемые вопросы | 25 | 27.09.2016 13:29 |
запуск программы из AutoCADа | kminas | Программирование | 19 | 15.06.2012 13:42 |
О создании темы (раздела) для новичков в AutoCAD. | Profan | Разное | 110 | 23.10.2008 10:01 |
AUTOCAD 2006 | Aragorn | AutoCAD | 14 | 01.04.2005 00:55 |
Что нового в AutoCAD 2005 | ilka_t | AutoCAD | 40 | 19.05.2004 16:48 |