Игры с CUI - Страница 7
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Игры с CUI

Игры с CUI

Ответ
Поиск в этой теме
Непрочитано 29.03.2008, 05:09
Игры с CUI
Vova
 
Engineer
 
New-York
Регистрация: 05.09.2003
Сообщений: 10,288

2008.
Свое меню можно загрузить как внутри диалогового окна CUI так и командой CUIload. А вот выгрузить меню этой командой нельзя. Странно. Окно, так сказать, гребет под себя и обратно не пущает. Я решил, это потому, что в нем нет кнопки ОК.
Пишите сюда, если удалось накопать чего-нибудь полезного или бесполезного про это го CUI.
Просмотров: 77344
 
Непрочитано 12.06.2008, 22:06
#121
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Я не возьмусь - у меня вопросов намного больше, чем ответов. Например:
  • Каждая палитра может иметь собственное представление (размер иконок; представление списком / иконками / иконками со списками; порядок сортировки и т.п.). Логично предположить, что это представление хранится локально на машине пользователя. Но где конкретно?
  • Понятно, что при расположении на сервере палитры кешируются на локальную машину. Но куда? Когда они обновляются? Где это прописывается? Как регулируется?
  • При использовании несколькими версиями AutoCAD'a (например, 2006 и 2008) одинаковых палитр возникают труднообъяснимые глюки (другого слова просто нет): разделители, созданные в 2006, не отображаются в 2008 (проверял на ADT, возможно, в "чистом" AutoCAD этого нет). Палитры, созданные в 2008, отказываются открываться в 2006. Почему? Средства-то одни и те же*.
  • Почему при прямом указании "использовать также такой-то каталог" не импортируется группировка палитр? Группировку вынужден выполнять каждый пользователь отдельно. Баг? Фича? Или я, как всегда, что-то недоучел?
  • Иконки, создаваемые автоматически, имеют формат png и строго лимитированные размеры. Но можно попытаться подключить и bmp-картинки (иногда вроде прокатывало). Вопрос: в каком формате должны лежать картинки, если я их хочу загнать в dll? Какое имя должно быть у этой dll и где она должна находиться?
  • В продолжение "иконок": к "стандартным" командам нельзя подключить "измененные" иконки, используя только средства, предоставляемые AutoCAD'ом. Лично у меня попытки редактирования atc-файла результата не дали, хотя пути к картинкам указывал по полной аналогии (дело было на 2005 версии; в последующих, возможно, ситуация изменилась). Вопрос: сейчас это можно? Если да, то как?
Ну и так далее. Понятно, что все эти вопросы появляются только из-за того, что "расковырял" я эти палитры не до конца. Все (или почти все) это можно вычислить, ставя разные эксперименты и отслеживая изменения файлов и реестра. Но увы, увы... У меня физически не хватает времени на это
___
* кстати, пока вспомнил: еще один момент, связанный уже с vba-модулями: модули, созданные в 2007 версии открываться в предыдущих не будут (если там есть хотя бы одна форма - это проверено. Для модулей, не использующих формы, проверок не проводил). Похоже, .NET "шагает по acad" в полный рост - другого объяснения, кроме как кивка на разницу технологий и версий .NET (в 2005 - .NET 1.0; 2006 -> .NET 1.1; 2007 -> .NET 2.0), у меня не имеется.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.06.2008, 13:11
#122
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
# использовать инсталлятор, который лезет в реестр или любым иным способом в автоматическом или полуавтоматическом режиме дополняет пути поиска палитр.
Плюсы:

* пользователь ни о чем не думает.

Минусы:

* необходимо прописывать только в тот профиль, "в который надо".
* необходимо предусмотреть вариант деинсталляции
* палитры располагаются локально, и при их изменении или дополнении надо предусматривать механизм их обновления.
* пользователь не может никаким образом повлиять на объем добавляемых палитр, если это не предусмотрел программист
У меня пока не получилось скопировать с одной машины на другую палитры (*.atc) и чтобы они заработали. Но после этого поста попробую еще.
Цитата:
# использовать механизм экспорта-импорта.
Плюсы:

* пользователь сам определяет состав того, что ему надо.

Минусы:

* пользователь должен обладать достаточной квалификацией для выполнения этой операции
* процедура обновления (если она идет достаточно часто) очень быстро превращается в мучение

=====================================
Этот вариант - ручной, я хотел бы обсуждать только программный вариант.
Sleekka вне форума  
 
Непрочитано 14.06.2008, 00:09
#123
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


А не надо копировать Достаточно их "установить" в любой приглянувшийся каталог, а потом в ветку реестра HKEY_CURRENT_USER\Software\Autodesk\Autocad\R<Версия AutoCAD>\AutoCAD<Сборка AutoCAD>\Profiles\<Выбранный профиль>\General, в ключ ToolPalettePath записать обновленные значения. Здесь:
<Версия AutoCAD>: для 2006 -> R16.1; 2007 -> R17.0; 2008 -> R17.1; 2009 -> R17.2
<Сборка AutoCAD>: cостоит из 2 частей: ACAD-<чистый/ADT/MDT etc>:<Локализация>. Первую часть надо смотреть на конкретной машине; вторая для официальной локализации равна, кажется, 419; для английской версии - 409.
<Выбранный профиль> - ну это и так понятно: профиль, в который ты интегрируешь свои палитры.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.06.2008, 13:26
#124
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
"установить" в любой приглянувшийся каталог
Что под этим понимается?
Sleekka вне форума  
 
Непрочитано 16.06.2008, 13:30
#125
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Распаковать, например. Ты чем установку делаешь?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.06.2008, 13:43
#126
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Inno Setup.
Дык в архив закидывать файлы *.atc? я просто пришел к догадкам что они компилируются под конкретную машину.
Sleekka вне форума  
 
Непрочитано 16.06.2008, 14:50
#127
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Почему только atc? А картинки ты что, игнорировать собираешься?
atc-файлы не компилируются в полном смысле этого слова. При выполнении операции импорта-экспорта просто заново генерируется GUID (насколько я понял). Основное содержимое не меняется.
Попробуй просто добавить путь в ToolPalettePath (только не повторяй имеющиеся пути) - ты увидишь, что у тебя появятся новые палитры. Просто, быстро и достаточно удобно. Удалил путь - палитры "пропали".
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.06.2008, 16:07
#128
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Ага спасибо, я накололся на двойные слеши, в реестре тоже должно быть с двойными прописано. хотя я использую сист. переменн.
Sleekka вне форума  
 
Непрочитано 16.06.2008, 16:12
#129
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Странно... У меня без двойных вроде бы...
Стоп! Где двойные? В лиспе? Или уже записанные в реестр?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.06.2008, 16:39
#130
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Не не, нормально все, в реестр можно записывать и с одинарными.
Ты писал минус в том что нужно устанавливать только в нужный профиль, по-моему сист. перем. *_toolpalettepath решает эту проблему т.к. пишется только для текущего профиля. Вот и когда я запрашивал ее на чтение из ком строки то в реестре: %RoamableRootFolder%\Support\ToolPalette а в ком строке получал:"C:\\DS\\Operator\\Application Data\\Autodesk\\AutoCAD
2008\\R17.1\\rus\\support\\ToolPalette"
Когда же я записывал свой путь через переменную, то что в реестре, что в ком. строке одинаковое значение: C:\slcad\Palettes\
Вот я и перепугался. но зато узнал кое-чего. я пытался копировать новые палитры когда акад был включен, а он зараза видимо при старте их кэширует в оперативу а после завершения работы када пишет новые, поэтому мои он все время стирал.
Sleekka вне форума  
 
Непрочитано 16.06.2008, 16:41
#131
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Еще бы узнать где хранятся параметры отображения палитр.
Sleekka вне форума  
 
Непрочитано 16.06.2008, 16:42
#132
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


#121
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.06.2008, 01:09
#133
Startrek

AutoCAD/AutoLISP
 
Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133


Цитата:
Сообщение от Vova Посмотреть сообщение
2008.
Свое меню можно загрузить как внутри диалогового окна CUI так и командой CUIload. А вот выгрузить меню этой командой нельзя. Странно. Окно, так сказать, гребет под себя и обратно не пущает. Я решил, это потому, что в нем нет кнопки ОК.
Пишите сюда, если удалось накопать чего-нибудь полезного или бесполезного про это го CUI.
CUIUNLOAD
__________________
Сквозь тернии к звездам.... и обратно :yes:
Startrek вне форума  
 
Непрочитано 07.07.2008, 12:11
#134
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Извиняюсь, что отвечаю с таким опозданием, но всё же.

По палитрам инструментов:
Немного поправлю Алексея
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Во-вторых, внесение изменений в палитру пользователем производится в первый указанный путь, доступный для записи. Там же записывается и группировка палитр.
Группировка палитр прописывается всё таки в текущем профиле (в файле *.aws). Подробней про то, что куда прописывается я писал когда-то в теме "toolpalettes - порядок и структура" в посте №35
Поэтому и получается такая ситуашка:
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Почему при прямом указании "использовать также такой-то каталог" не импортируется группировка палитр? Группировку вынужден выполнять каждый пользователь отдельно. Баг? Фича? Или я, как всегда, что-то недоучел?
Это не баг, а как раз фича. Возможность работать с одними и теми же палитрами разным юзерам так, чтобы каждый мог их сгруппировать по своему вкусу.

И сам вопрос. А как сделать палитру с нуля? Я имею ввиду пользовательскую палитру, которая подгружается из отдельной папки.
Я делал так.
1. Сохранил текущий профиль в файле "Профиль1.arg" (для того, чтобы запомнить группировку палитр)
2. В Автокаде удалил все стандартные палитры и сделал новые свои.
3. Закрыл Автокад.
4. Получившиеся палитры перенес из %USERPROFILE%\Application Data\Autodesk\AutoCAD 2006\R16.2\enu\Support\ToolPalette\ в свою папку d:\M-CAD\Support\ToolPalette.
5. В папку %USERPROFILE%\Application Data\Autodesk\AutoCAD 2006\R16.2\enu\Support\ToolPalette\ скопировал дефолтные палитры из c:\Program Files\AutoCAD 2008\UserDataCache\Support\ToolPalette
6. Запустил Автокад и восстановил профиль из файла "Профиль1.arg" - теперь всё стало как вначале.
7. В путях поддержки (папки с файлами инструментальных палитр) добавил путь с пользовательским палитрам d:\M-CAD\Support\ToolPalette поставив его в начало.
8. Перезагрузил Автокад. Теперь есть стандартные палитры Автокада, которые сгруппированы по-умолчанию и пользовательские палитры, в которые можно вносить изменения - меняться будут только файлы в пользовательской папке. При создании новой палитры файлы будут создаваться в этой же папке со своими палитрами.

Вот так. Метод корявый, но вроде всё работает.
Но всё же здесь файл с польз. палитрами получается на основе автокадовского файла.
А вот как с нуля? Как сделать тот самый первый файл atc, такой, что если положить его в отдельную папку и прописать путь к нему в "папках с файлами инструментальных палитр", то далее можно было бы адаптировать свои палитры стандартными способами?
Makswell вне форума  
 
Непрочитано 07.07.2008, 14:02
#135
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Выходит, ни у кого нет способа лучше? Странно.
Или никто не загружает палитры инструментов из своей папки?
Кулик Алексей aka kpblc, ты же взрослый человек.
Наверняка знаешь способ создания того самого первого файла atc. Нормальный способ, а не как у меня - через "одно место".
Makswell вне форума  
 
Непрочитано 07.07.2008, 14:12
#136
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Я делал не так (хотя мой вариант тоже "через пятую точку"): создается новый каталог, ставится первым в ToolPalettePath, создается 1-2 палитры; потом старые каталоги сносятся. Самое главное - чтоб я мог записывать в этот каталог, а остальное уже дело техники.
Потом каталог, например, расшаривается и при необходимости каждый пользователь подгружает его (ну или эта задача выполняется программно).
Скажу честно: последнее время ToolPalette создаю и предоставляю только через ContentBrowser (один из инструментов ADT), а там все делается совсем по-другому.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 07.07.2008, 14:56
#137
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Только что попробовал твой метод. Супер!
ИМХО так грамотней и проще. Намного проще.

Кстати, можно сделать совсем просто:
1. Создаёшь пустую папку.
2. Загружаешь Автокад и в ToolPalettePath прописываешь путь к этой папке, а остальные сносишь.
3. Перезагружаешь Автокад, воостанавливаешь все пути в ToolPalettePath, оставив данную папку первой
Всё!

ЗЫ Всё ж не зря я спрашивал...
Makswell вне форума  
 
Непрочитано 07.07.2008, 23:59
#138
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


А зачем такие извра... правой кнопкой мыши на палитре = New palette, или я че-то не так понял?
Sleekka вне форума  
 
Непрочитано 08.07.2008, 00:07
#139
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


А как собираешься ее расшаривать? Другим юзерам предоставлять?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.07.2008, 08:32
#140
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Цитата:
Сообщение от Sleekka Посмотреть сообщение
А зачем такие извра... правой кнопкой мыши на палитре = New palette, или я че-то не так понял?
Sleekka, как думаешь, в какой папке появится atc-файл этой новой панели?

Мне бы хотелось, чтобы файл с палитрой появился в определённой мной папке и чтобы папка со стандартными палитрами Автокада осталась не тронутой.

А чтобы новая палитра появилась в определённой мной папке, эта папка должна:
- быть прописана первой в путях ToolPalettePath
- уже содержать хотя бы одну палитру

А как сделать так, чтобы в совершенно новой папке появился хотя бы один файл с палитрой?...

Вот, короче, примерно про это и был вопрос.
Makswell вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Игры с CUI



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игры в AutoCAD Red Nova AutoCAD 11 30.07.2015 22:46
Из CUI в MNU nikolaev AutoCAD 14 20.08.2009 14:20
CUI – не могу адаптироваться. mmax AutoCAD 15 07.08.2007 10:11
CUI - Структура и редактирование Никита В. AutoCAD 13 28.02.2006 00:37
Как пользовать Enterprize CUI ???????? Startrek AutoCAD 8 23.09.2005 17:23