При переходе с одной САПР-системы на другую требуется перенести в новую систему разработанные приложения и меню. В этой статье представлена процедура адаптации ленты, меню и панелей инструментов в формате CUIX для использования на платформе nanoCAD.
Возможны два основных варианта перехода: создать меню заново или адаптировать существующее. Для миграции может использоваться CUIX-файл (например, MyMenu.cuix), который представляет собой архив, содержащий параметры меню, ленты и панели инструментов, иконки кнопок.
Консольная утилита Cuix2Cfg (работает без установки в командной строке Windows) позволяет извлечь из CUIX-файла панель инструментов (toolbar), меню и иконки – и создает новый CFG-файл, адаптированный под nanoCAD. Лента (ribbon) остается в исходном CUIX-файле и читается платформой при загрузке.
При использовании утилиты Cuix2Cfg все иконки из исходного CUIX-файла извлекаются в отдельную папку, а также формируется шаблон Visual Studio для дальнейшего создания файла ресурсной библиотеки DLL с иконками. В качестве иконок утилита использует изображения в формате ICO, BMP или PNG.
Миграция в nanoCAD ленты, меню и панели инструментов может включать в себя следующие шаги:
- извлечение данных из CUIX;
- подключение меню, ленты и панели инструментов;
- подключение иконок.
Извлечение данных из CUIX
- Скачать новую версию утилиты Cuix2Cfg.
Cuix2Cfg входит в поставку SDK: SDK\samples\Menu\Cuix2Cfg.
- Подготовить входные данные – например, разместить имеющийся CUIX-файл в отдельной папке: C:\Import\MyMenu.cuix.
Примечание. При ручном редактировании архива CUIX нужно использовать только стандартные архиваторы ZIP, без дополнительного сжатия и других параметров.
- Извлечь данные из 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_YYYY-MM-DD_HH-mm-ss.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».
Подключение иконок
Файлы с иконками можно подключить двумя способами:
- способ 1: использовать иконки в формате ICO, BMP или PNG.
- способ 2: использовать ресурсную 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.
Результат должен быть таким:
... MyMenu.cfg MyMenu.cuix MyMenuIconCollection.dll ...
Перейти в настройки пользовательского интерфейса (НПИ): Сервис → Интерфейс → Настройки интерфейса либо использовать команду INTERFACE в командной строке nanoCAD.
Указать путь к MyMenuIconCollection.dll для каждой команды в поле Ресурсная DLL (рис. 3).
Рис. 3
И в поле Иконка указать нужную иконку из выпадающего списка. Список формируется из состава ресурсной DLL (рис. 4).
Рис. 4
Далее в этом же окне Настройка пользовательского интерфейса выбрать Файл → Сохранить.
Сергей Евсеев,
специалист группы поддержки API
ООО «Нанософт разработка»