|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
AutoCAD/AutoLISP Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
|
Цитата:
![]() ![]() ![]() ![]()
__________________
Сквозь тернии к звездам.... и обратно :yes: |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Разве написать с нуля новое меню в формате *mns (а для этого разыскать старую книгу и изучить в ней 10 стр, а потом опробовать на СТАРОЙ версии) быстрее, чем в формате CUI? Даже для имеющих опыт создания меню в старых версиях путем ручного набивания текста вы не сделаете новое меню (без использования старого в качестве шаблона) быстрее, чем в CUI. Да и с шаблоном тоже. Кроме того, после того, как ваше меню будет перекомпилировано в CUI, вам придется добавлять в него то, чего раньше не было уже в CUI. Так не лучше-ли сразу? Уже 4 версии вышло с CUI.
Эта тема создана для тех, кто не писал еще ни разу своего меню в новых версиях. |
|||
![]() |
|
||||
AutoCAD/AutoLISP Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
|
Цитата:
vova ... ДА ЛЕГЧЕ - НАПИСАЛ ПРОСТЕНьКИЙ ЛИСП (см. выше в теме) для создания partial меню куда как быстрее и легче. Мнение персональное - кому как.... ![]()
__________________
Сквозь тернии к звездам.... и обратно :yes: |
|||
![]() |
|
||||
Регистрация: 15.04.2005
Сообщений: 243
|
Цитата:
Каждый в праве выбирать тот инструмент, который он в состоянии изучить и который, как он считает, даёт ему ожидаемый результат. Могу только сказать, что иногда выбираю не всегда традиционные или рекомендуемые методы. Года 4 назад, когда появилось желание попробовать палеты в 2004, то редактировал их в XML редакторах и, когда немного разобрался в структуре, даже в простых текстовых редакторах, хотя это не рекомендуется. Результат был вполне удовлетворительным и эти меню до сих пор работают. |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Цитата:
Цитата:
|
|||
![]() |
|
||||
блондинка Регистрация: 27.11.2007
Планета Плюк 215 в центуре, галактика Кин-Дза-Дза
Сообщений: 25
|
Конечно жэнсчин не должен встревать, когда такие джигиты разговаривают. Может я дура дурой, но CUI-меню делаю без всяких диалогов. Это же так просто - нужен только текстовый редактор с поддержкой UTF-8. Гораздо проще, чем редактировать MNU. Там все было раскидано по разным разделам - отдельно команда, отдельно helpstring. А в CUI все в одном месте, с понятными атрибутами. Блондинке понятно. А уж UID и сама сочиню.
Не цепляйтесь за эти MNU/MNS. Проще с XML разобраться. Или грозного warning напужались? Так это для них. Нам можно. "Игры с CUI" почему-то в 2008 году начались? А раньше где были?
__________________
Ох, как иногда хочется подумать! |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
После такого поста мог бы почувствать себя полным блондином, если-бы в детстве не звали рыжим, а теперь в зеркале вижу почти лысого.
Цитата:
|
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Интересно мне, взялись бы авторы ruCAD за свой и без того нелегкий труд сегодня, имею только формат XML и UTF-8? Надо помнить. что подавляющее большинство пользователей не обладают таким познаниями и таким опытом, как ShaggyDoc, Alaspher или BarbiЁ. Свои фрагменты меню в формате TXT я могу записывать даже на стареньком компьютере без AutoCAD'а и отлаживать даже на AutoCAD 14. Однако дополнительные возможности CUI можно добавить уже внутри AutoCAD'а 2008, например. А для этого мне совсем не надо вникать в XML без крайней на то необходимости.
|
|||
![]() |
|
|||||
блондинка Регистрация: 27.11.2007
Планета Плюк 215 в центуре, галактика Кин-Дза-Дза
Сообщений: 25
|
Цитата:
Цитата:
Вот пункт меню: Код:
Элемент MenuMacro - пункт меню. У него есть атрибут UID. UID сочиняем сами - чтобы уникальными были. Элемент Macro имеет атрибут type="Any". Оставляем такой всегда. Элемент Revision с атрибутами MajorVersion="16" MinorVersion="2" UserVersion="1" оставляем Элемент ModifiedRev с атрибутами MajorVersion="16" MinorVersion="0" UserVersion="1" оставляем. Гуёвый диалог их может менять. А нам наплевать Элемент Name xlate="true" UID="XLS_0073">Пролистай слои</Name> в своем содержимом имеет строку, отображаемую в меню. Атрибут xlate всегда оставляю true. UID свой вписываю. Может быть и можно в документации найти назначение. Элемент <Command>^C^C^P(defun C:RU()(ru-app-load "common/ru_layer_show_by_one"));RU </Command> содержит выполняемый макрос. Элемент <HelpString xlate="true" UID="XLS_1929">Просмотр по одному слоев с возможностей оставления выбранных</HelpString> - хинт подсказки Элемент <SmallImage Name="RU_LAY_LIST_16" /> - маленькая иконка, содержащаяся в dll. Имя dll должно быть такое же, как меню. Элемент <LargeImage Name="RU_LAY_LIST_24.BMP" /> большая иконка. Здесь я приписала расширение bmp - значит брать из файла. Всё, как в MNU. Цитата:
А в CUI всякие ModifiedRev явно для внутренних целей и технологически не нужны для отображения. Редактировать XML можно во множестве универсальных визуальных редакторов - если угловых скобок бояться. В ruCAD тоже есть такой, но удобнее всего обычным текстовым работать. Что касается кодировки UTF-8, то это общая тенденция "глобализации". Типа, любой язык можно отобразить, хоть китайцев, хоть других "маленьких народцев". В интернете сейчас многие системы в UTF-8 пишут, заставляют всё в этой кодировке делать. Но она же лишние байты занимает, это немалый траффик. Кто-то в 2 раза бабок больше срубит. Но в XML можно в прологе и кодировку записать. Не просто Код:
Код:
Цитата:
PS. может я что не так написала, ShaggyDoc, если вернётся, поправит.
__________________
Ох, как иногда хочется подумать! |
||||
![]() |
|
||||
AutoCAD/AutoLISP Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
|
Я не блондин, не рыжий, и даже пока не лысый (хоть и намечаются перемены ну на самой макушке
![]() у меня нет ВРЕМЕНИ - мягко говоря, а по простому - ГЕМОРОЙ ЭТО сплошной... Или надо делать как AutoCAD советует через CUI или писать старым способом пока возможно для скорости... а в принципе, какая разница - лиш бы работало. ![]()
__________________
Сквозь тернии к звездам.... и обратно :yes: |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Startrek, конечно, неправильно написал. Дескать, какая разница КАК, лишь бы быстро и работало. Мы ведь здесь обсуждаем именно КАК. Меню обычно делается не спеша, с чувством-толком-расстановкой. "Статья" от Блондинки, получилась, ммм, чуть-чуть трудновата для понимания. Даже Profan-a в сон потянуло. А ведь он один из самых продвинутых среди нас. Давайте сделаем так: как будто вся наша аудитория состоит из одних беззубых блондинов. Нам надо разжевать и в рот положить. Да так разжевать, чтобы сомнения не осталось что меню наиболее правильным и интуитивно понятным способом делается именно ТАК. А другие способы-фуфло, потому что имеют следующие недостатки: .......
Вы упрекнули меня, написавшего статью о меню на общественных началах, что я долго телился. 2 года. И это в некоторой степени обидно. А может вы так скоро среагировали, что не разобрались сразу с этим "гуёвым" CUI? Чем дальше в лес, тем он меньше таким кажется. Вот если-бы побыстрее открывался, то вообще был-бы и неплох. |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Vova, я ведь озаботился CUI еще в 2005 году:
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=16728Xx И другие пользователи тоже и на этом форуме тоже... |
|||
![]() |
|
||||
геологоразведка, строительство Регистрация: 14.10.2003
Магадан
Сообщений: 311
|
А кому что нравится.
Мне, например, нравится держать меню в *.MNU, привычно (еще с 10), и если AutoCAD это пока поддерживает, меняться не собираюсь. А вот если это прекратится, тогда придется следовать советам госпожи BarbiЁ.
__________________
Лень - великий двигатель прогресса! |
|||
![]() |
|
||||
AutoCAD/AutoLISP Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
|
Да не кипятись vova, я как и profan побаловался с partial CUI
в 2005-м, Все работает, все путем - только мне легче с моим простеньким лиспом - все дело занимает 15 минут и готово, ну а с CUI - минут 30. Конечно все при условии хорошей подготовки комманд/лиспа и MNL ![]()
__________________
Сквозь тернии к звездам.... и обратно :yes: |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Да ладно, меня более смущает другое. И Profan, и Залетный, и Startrek, и Kai делали свои меню еще на старых автокадах. Потому что они старые и при этом продвинутые пользователи. А есть-ли среди нас новые пользователи, которые продвинулись недавно и которые сделали хотя-бы одно меню? Ведь это для них я старался. Все, кто сделал хотя-бы несколько кнопок. Куда и как вы их размещаете?
|
|||
![]() |
|
||||
блондинка Регистрация: 27.11.2007
Планета Плюк 215 в центуре, галактика Кин-Дза-Дза
Сообщений: 25
|
Хе-хе. Собрались, мягко говоря, ветераны битв с Автокадом (а грубо выражаясь - покрытые шрамами суровые бойцы) - Vova, Profan, Startrek, KAI и убеждают друг друга, что MNU - оно лучше. Привычнее. И соглашаются друг с другом - "да, вода раньше мокрее была". Или "ох как хочется поспать". Как тут деушке спорить?
Vova вообще обиделся Цитата:
Относительно CUI есть две проблемы: 1. Формат файла. Здесь, на мой девичий взгляд, сделано все правильно и с перспективой. Только еще раньше надо было. Но Аутодеск подло поступает - не публикует официально формат, а точнее - перечень имен элементов, атрибутов, их назначение и возможные значения. Приходится разбираться самостоятельно. Формат файла XML вообще и CUI, ATC, AWS в частности, надо знать тем кто занимается хотя бы адаптацией. Блондинкам можно не знать, а "не рыжий, и даже пока не лысый" представление иметь должен. Зная формат можно ведь тоже CUI Лиспом написать. Никакой "статьи" "трудновато для понимания" я не писала. Не моих мозгов дело, так реплика была. Иначе надо было бы разъяснить, что такое пролог, элементы, атрибуты, содержимое, как угловые скобки и кавычки ставить. Но про это полно книг и материалов в Интернете. 2. Диалоговое окно редактирования CUI. Сделано, на мой взгляд, неудобно и не очень логично. Нет "интуитивной понятности", особенно при трансферте. Но в справке-то описано. Вот если бы в справке, одновременно с описанием действий в диалоге еще и описывался результат в виде значений атрибутов, было бы правильно. Медленно грузит из-за того, что используют парсер от Майкрософт MSXML. Он самый медленный из всех известных. Но и диалог совершенствуют. Прежних грубых ошибок уже не заметно. Описывать в каких-то статьях работу с диалогом не вижу смысла, да и наверняка Полещук в последних книгах это сделал. Попробуйте вот подробно описать работу с текстовым редактором - все пункты меню и диалоги. Работа будет большая, но бесполезная. Большинство и так знают, а кто не знает, так и ничего не читают. В это ветке я предлагаю попытаться совместно раскрыть "секреты" CUI - что, зачем и как прописать. Если интересно, могу написать кратко вообще про XML - это один пост займет, а потом сообща публиковать результаты отслеживания изменений текста меню после всяких диалоговых операций. Вот, например, xlate - что-то связано с трансляцией. А как оно связано с отображением пункта меню и хинта - непонятно пока. Для интереса сейчас рисую собственное экспериментальное меню только редактором, с нуля, и с нарушением правил Аутодеск - кодировка и без "ненужных" атрибутов. Что выйдет - напишу здесь через день-другой.
__________________
Ох, как иногда хочется подумать! |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
__________________
Делай хорошо, плохо само получится. |
|||
![]() |
|
||||
блондинка Регистрация: 27.11.2007
Планета Плюк 215 в центуре, галактика Кин-Дза-Дза
Сообщений: 25
|
Цитата:
Но раз все равно пропадать, опишу предварительные результаты экспериментов с редактированием CUI. Это не статья, а так, бред сивой блондинки. Написала вручную с нуля маленький экспериментальный CUI-файл. 1. Сделала его не в кодировке UTF-8, а в windows-1251. Для этого в прологе написала Код:
Сразу скажу - AutoCAD прочитал этот файл и правильно его отобразил. Но вот если потом его открыть в штатном диалоговом редакторе, то сохранен он будет вновь в кодировке UTF-8, да еще будет вставлен комментарий о недопустимости редактирования вручную. Вот редиски! Впрочем, кодировку меняла только для пробы - чё получится. Ничего не мешает писать и в UTF-8 с использованием редактора Notepad++. Там, если задать синтаксис XML, будет и подсветка приличная, и можно соврачивать-разворачивать структуру. 2. О структуре CUI. Это XML-файл. В первой строке - пролог, о котором я уже писала. Далее идут элементы. В соответствии с правилами валидного XML должен быть один корневой элемент. Для CUI это вторая значащая (выкидывая комментарий) строка имеет стандартный вид Код:
Код:
Можно без некоторых из них обойтись. Вот без этих: FileVersion Header, а внутри него CommonConfiguration WorkspaceRoot Если, например, нетути рабочих пространств, которые надо описать. Можно не писать также ScreenMenuRoot ImageMenuRoot TabletMenuRoot DoubleClickRoot ToolPanelRoot PanelSetRoot Если нет таких меню. Можно не включать AcceleratorRoot OverrideRoot MouseButtonRoot DigitizerButtonRoot если нет переназначения горячих клавиш и кнопок. Если нет панелей инструментов, можно не создавать элемент ToolbarRoot. В редких случаях, когда нет собственного меню, можно выкинуть элемент PopMenuRoot, но оставить ToolbarRoot. Тогда останется минимальное стандартное меню AutoCAD (Файл, Вид, Окно, Справка) и наши панельки. Везде можно не прописывать элементы с их атрибутами: Код:
HelpString, SmallImage и LargeImage - просто без них не будет строки подсказки (хинта) и картинок. Нельзя выбрасывать: а) MenuGroup - должен быть хотя бы один такой элемент. Без группы CUI загрузится, но ничего не отобразится. б) атрибут xlate - если его убрать, будет ошибка и меню не загрузится. А что оно означает - пока не поняла. В диалоговом окне это свойство не отображается. Вообще-то это свойство используется в .NET примерно так: Код:
Назначение атрибутов атрибутов опишу позже. Например, если IsSeparator="true" - после пункта меню будет выведена черта разделителя. 3. Что делает AutoCAD после того, как написанный вручную диалог побывает в редакторе CUI 1. Сохраняет в кодировке UTF-8 2. Вставляет предупреждающий warning. 3. Вставляет версию и заголовок Код:
Код:
Код:
__________________
Ох, как иногда хочется подумать! |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Игры в 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 |