В статье представлен способ миграции пользовательских настроек интерфейса из AutoCAD в nanoCAD. Как основной инструмент переноса данных предлагается использовать утилиту Cuix2Cfg, разработанную специалистами «Нанософт». Статья содержит описание таких шагов, как извлечение данных из файла CUIX, подключение меню, ленты и панели инструментов, подключение иконок.
При переходе с одной САПРсистемы на другую требуется перенести в новую систему разработанные приложения и меню. В этой статье представлена процедура адаптации ленты, меню и панелей инструментов в формате CUIX для использования на платформе nanoCAD.
Возможны два основных варианта перехода: создать меню заново или переместить существующее. Для миграции может использоваться CUIXфайл (например, MyMenu.cuix), который представляет собой архив, содержащий параметры меню, ленты и панели инструментов, иконки кнопок.
Консольная утилита Cuix2Cfg (работает без установки в командной строке Windows) позволяет извлечь из CUIXфайла панель инструментов (toolbar), меню и иконки — и создает новый CFGфайл, адаптированный под nanoCAD. Лента (ribbon) остается в исходном CUIXфайле и читается платформой при загрузке.
При использовании утилиты Cuix2Cfg все иконки из исходного CUIXфайла извлекаются в отдельную папку, а также формируется шаблон Visual Studio для дальнейшего создания файла ресурсной библиотеки DLL с иконками. В качестве иконок утилита использует изображения в формате ICO, BMP или PNG.
Миграция в nanoCAD ленты, меню и панели инструментов может включать в себя следующие шаги:
- извлечение данных из CUIX;
- подключение меню, ленты и панели инструментов;
- подключение иконок.
Извлечение данных из CUIX
1 Скачать новую версию утилиты Cuix2Cfg.
Cuix2Cfg входит в поставку SDK: SDK\samples\Menu\Cuix2Cfg.
2 Подготовить входные данные — например, разместить имеющийся CUIXфайл в отдельной папке: C:\Import\MyMenu.cuix.
Примечание. При ручном редактировании архива CUIX нужно использовать только стандартные архиваторы ZIP, без дополнительного сжатия и других параметров.
3 Извлечь данные из CUIXфайла.
Листинг командной строки Windows:
C:\SDK\samples\Menu\Cuix2Cfg>Cuix2Cfg.exe C:\Import\MyMenu.cuix
Nanosoft (R) CUIx to CFG converter v1.2
Copyright (C) Nanosoft 2021
Done: MyMenu.cfg
Результат работы утилиты будет располагаться в папке с исходным файлом:
C:\Import\MyMenu.cfg — частичный конфигурационный файл меню, который следует подключить к nanoCAD.
Примечание. В старых версиях утилиты результирующий частичный конфигурационный файл имеет расширение .cfg, в новых версиях — расширение .cfgx.
C:\Import\MyMenu_IconLib\*.ico — файлы с иконками;
C:\Import\MyMenu_IconLib\resource.h — файл проекта Visual Studio;
C:\Import\MyMenu_IconLib\IconCollection.rc — файл проекта Visual Studio;
C:\Import\MyMenu_IconLib\IconCollection.vcxproj — файл проекта Visual Studio;
C:\Import\MyMenu_IconLib\IconCollection.sln — файл проекта Visual Studio;
C:\SDK\samples\Menu\Cuix2Cfg\Cuix2Cfg_YYYYMMDD_HHmmss.txt — logфайл, содержащий информацию о процессе обработки.
Файл IconCollection.sln содержит готовый проект для ресурсной DLL с иконками.
Примечание. В новых версиях утилиты для создания проекта Visual Studio нужно использовать ключ 'l'.
Утилита поддерживает работу ключей. При возникновении сложностей (например, если не удается подключить ленту, меню или панели инструментов) следует использовать соответствующие ключи и повторить процедуру.
Ключи:
'l' — заменяет в CFG ссылки на отдельные иконки ссылками на ресурсную DLL. Для MyMenu.cuix в CFG прописывается путь к MyMenuIconCollection.dll. Ресурсную DLLбиблиотеку иконок можно подготовить средствами Visual Studio. Начиная с версии 1.3 этот ключ требуется при создании проекта ресурсной DLL для Visual Studio.
Листинг командной строки Windows:
C:\SDK\samples\Menu\Cuix2Cfg>Cuix2Cfg.exe C:\Import\MyMenu.cuix l
Nanosoft (R) CUIx to CFG converter v1.2
Copyright (C) Nanosoft 2021
Done: MyMenu.cfg
'x' — добавляет в библиотеку только иконки из CUIX. Ключ нужен на случай, если в папке с иконками располагаются и другие иконки. По умолчанию все иконки, которые находятся в папке, созданной по результатам конвертации, будут добавлены в проект ресурсной DLLбиблиотеки.
Листинг командной строки Windows:
C:\SDK\samples\Menu\Cuix2Cfg>Cuix2Cfg.exe C:\Import\MyMenu.cuix x
Nanosoft (R) CUIx to CFG converter v1.2
Copyright (C) Nanosoft 2021
Done: MyMenu.cfg
'b' — выполняет бикубическое масштабирование иконок (более мягкое изображение). По умолчанию используется более контрастный алгоритм — квантизация. В общем случае разница будет минимальной.
Листинг командной строки Windows:
C:\SDK\samples\Menu\Cuix2Cfg>Cuix2Cfg.exe C:\Import\MyMenu.cuix b
Nanosoft (R) CUIx to CFG converter v1.2
Copyright (C) Nanosoft 2021
Done: C:\Import\MyMenu.cfg
'c' — создает новый CUIXфайл, который содержит ленту, совместимую с nanoCAD. Лента создается в качестве образца для последующей доработки.
Листинг командной строки Windows:
C:\SDK\samples\Menu\Cuix2Cfg>Cuix2Cfg.exe C:\Import\MyMenu.cuix c
Nanosoft (R) CUIx to CFG converter v1.2
Copyright (C) Nanosoft 2021
Done: C:\Import\MyMenu.cfg
В папке рядом с файлом MyMenu.cfg будет создан MyMenu_new.cuix.
'm' — добавляет простое меню, если его нет в импортируемом CUIX. Меню создается в качестве образца для последующей доработки.
Листинг командной строки Windows:
C:\SDK\samples\Menu\Cuix2Cfg>Cuix2Cfg.exe C:\Import\MyMenu.cuix m
Nanosoft (R) CUIx to CFG converter v1.2
Copyright (C) Nanosoft 2021
Done: C:\Import\MyMenu.cfg
't' — добавляет простую панель инструментов, если ее нет в импортируемом CUIX. Панель инструментов создается в качестве образца для последующей доработки.
Листинг командной строки Windows:
C:\SDK\samples\Menu\Cuix2Cfg>Cuix2Cfg.exe C:\Import\MyMenu.cuix t
Nanosoft (R) CUIx to CFG converter v1.2
Copyright (C) Nanosoft 2021
Done: C:\Import\MyMenu.cfg
Примечание. CFG перезаписывается при каждом перезапуске утилиты и, соответственно, учитывается последний набор ключей.
Подключение меню, ленты и панели инструментов
Для подключения CFGфайлов меню следует использовать стандартную процедуру подключения частичного меню, представленную в статье «Создание пользовательского меню, панели инструментов и ленты в nanoCAD» (САПР и графика. 2022. № 6. С. 3137).
Подключение иконок
Файлы с иконками можно подключить двумя способами:
- Использовать иконки в формате ICO, BMP или PNG.
- Использовать ресурсную DLLбиблиотеку с иконками.
Для способа 1
Скопировать полученную папку с иконками в C:\Users\nanoUser\AppData\Roaming\Nanosoft\nanoCAD x64 22.0\Config, после чего убедиться, что иконки загрузились и подключены в интерфейс платформы.
Результат должен быть таким:
dir C:\Users\nanoUser\AppData\Roaming\Nanosoft\nanoCAD x64 22.0\Config\
...
MyMenu.cfg
MyMenu.cuix
MyMenu_IconLib\
...
Перейти в настройки пользовательского интерфейса (НПИ): Сервис -> Интерфейс -> Настройки интерфейса либо использовать команду INTERFACE в командной строке nanoCAD.
Указать путь к иконке (ICO/BMP/PNG) для каждой команды в поле Ресурсная DLL (рис. 1).
Рис. 1
Далее в этом же окне Настройка пользовательского интерфейса выбрать Файл -> Сохранить.
Для способа 2
Загрузить в Visual Studio проект IconCollection.sln, полученный по результатам работы утилиты, и выполнить сборку (Build/Rebuild). Пример показан на рис. 2.
Рис. 2
Примечание. DLLбиблиотека, получаемая в результате сборки, может располагаться в другой папке — это зависит от настроек Visual Studio.
Полученный файл DLL скопировать в C:\Users\nanoUser\AppData\Roaming\Nanosoft\nanoCAD x64 22.0\Config.
Результат должен быть таким:
dir C:\Users\nanoUser\AppData\Roaming\Nanosoft\nanoCAD x64 22.0\Config\
...
MyMenu.cfg
MyMenu.cuix
MyMenuIconCollection.dll
...
Перейти в настройки пользовательского интерфейса (НПИ): Сервис -> Интерфейс -> Настройки интерфейса либо использовать команду INTERFACE в командной строке nanoCAD.
Указать путь к MyMenuIconCollection.dll для каждой команды в поле Ресурсная DLL (рис. 3).
Рис. 3
В поле Иконка указать нужную иконку из выпадающего списка. Список формируется из состава ресурсной DLL (рис. 4).
Рис. 4
Далее в этом же окне Настройка пользовательского интерфейса выбрать Файл -> Сохранить.