Создание дистрибутива nanoCAD с пользовательскими настройками

в 14:25, , рубрики: cad, CAD/CAM, DWG, nanoCAD, Блог компании Нанософт, настройка дистрибутива, сапр, СПДС

Создание дистрибутива nanoCAD с пользовательскими настройками - 1
В крупных организациях процесс подготовки и настройки рабочих мест проектировщиков зачастую бывает затруднительным и рутинным. Казалось бы, для решения такой тривиальной задачи, как установка САПР, не нужно тратить много ресурсов, достаточно лишь распространить дистрибутив через доменные политики или просто «расшарить» папку с готовым дистрибутивом и смело приступать к работе в САПР-системе. Возникает вопрос: «А что если в организации сущетвуют свои стандарты оформления к выпуску документации, если есть собственные наработки в виде готовых блоков или команд? Планируется ли использование общей базы данных (если применяется СПДС, Железобетон или Стройплощадка)?»

В таком случае перед нами возникает еще одна задача – настроить рабочие места пользователей, а делать это с каждым местом в отдельности крайне нерационально. Распространить уже настроенный дистрибутив – единственное правильное решение. Где же хранит свои настройки nanoCAD? Как правильно создать свой дистрибутив? Эти и некоторые другие вопросы мы рассмотрим подробнее. Инструкция предназначена для машин на ОС Windows 7 и выше.

Подготовка дистрибутива

Необходимо скачать дистрибутив продукта с сайта nanocad.ru. В нашем примере мы будем работать с дистрибутивом nanoCAD СПДС 6 NC60Px32_2434.exe.
Нужно установить программу, поскольку в дальнейшем мы будем работать с ее файлами. После установки перейдем к .exe-файлу дистрибутива.

Распаковываем скачанный .exe-файл (например, с помощью архиватора 7-zip) в произвольную папку, (в нашем случае мы назвали ее nanoInstall). После распаковки получаем следующий набор файлов, представленный на рис. 1.

Создание дистрибутива nanoCAD с пользовательскими настройками - 2
Рис. 1. Распакованный дистрибутив nanoCAD СПДС 6

Программа nanoCAD хранит свои настройки в нескольких файлах, расположенных в разных директориях. Для корректного развертывания дистрибутива необходимо разложить эти настройки по разным папкам. Поэтому создадим в nanoInstall папку для хранения настроек LocalEx с подкаталогами, как показано на рис. 2.

Создание дистрибутива nanoCAD с пользовательскими настройками - 3
Рис. 2 Структура папок настраиваемого дистрибутива

После создания необходимой структуры папок в nanoinstall необходимо найти и подготовить файлы конфигурации, которые отвечают за настройки нашего дистрибутива (Settings.xml; AppOptions.xml; CAD.cfg; nCAD.ini и др.).
Они располагаются в соответствующих директориях, о которых пойдет разговор ниже.

Примечание: Мы можем менять настройки на уже установленном nanoCAD, но чтобы они вступили в силу, необходимо сбрасывать настройки интерфейса (рис. 3) либо очищать реестр.

Создание дистрибутива nanoCAD с пользовательскими настройками - 4
Рис. 3. Окно настроек интерфейса nanoCAD

Подробнее о файлах конфигураций

Существует несколько файлов конфигураций: одни отвечают за интерфейс программы, другие – за элементы оформления, третьи – за общие настройки платформы. Ниже будут представлены все файлы в отдельности. Для лучшего понимания введем небольшие обозначения для местоположения файлов.

На ПК место хранения файла на вашем компьютере с предустановленным nanoCAD.
На инсталляционном диске это путь, куда следует поместить измененные файлы конфигураций после завершения настроек.

Default.ntb

На ПК C:UsersUserAppDataRoamingNanosoftnanoCAD Plus 6.0ru-RU
На инсталляционном диске nanoInstall LocalExAppDataUserTemplatesru-RU

Представляет собой двоичный файл, хранящий в себе данные записной книжки (рис. 4).
Данные настраиваются через интерфейс программы.
Создание дистрибутива nanoCAD с пользовательскими настройками - 5
Рис. 4. Записная книжка nanoCAD СПДС

tinfo.xml

На ПК C:UsersUserAppDataRoamingNanosoftnanoCAD Plus 6.0ru-RU
На инсталляционном диске nanoInstall LocalExAppDataUserTemplatesru-RU

Представляет собой текстовый файл, хранящий в себе данные списков выбора. Позволяет добавить свои поля в списки выбора. Данные настраиваются через интерфейс программы при вводе нового значения, отличного от значения, приведенного в списке.

std.mcs

На ПК C:ProgramDataNanosoftnanoCAD СПДС 6.0DataROru-RU
На инсталляционном диске nanoInstall LocalExCommonAppDataDataROru-RU

Представляет собой двоичный файл, хранящий в себе данные объектов. Этот фал можно расположить локально на каждой машине либо на сервере, предварительно установив SQL Server.
Данные настраиваются через интерфейс программы.
Создание дистрибутива nanoCAD с пользовательскими настройками - 6
Рис. 5. База объектов nanoCAD СПДС

Settings.xml

На ПК C:ProgramDataNanosoftnanoCAD СПДС 6.0DataROru-RU
На инсталляционном диске nanoInstall LocalExCommonAppDataDataROru-RU

В этом файле находятся настройки конфигурации программы (добавление/ограничение списка масштабов, предопределенных полей основной надписи формата). На рис. 3 изображен список масштабов оформления, который можно настроить в данном файле.

Добавление масштаба оформления в список стандартных масштабов

Чтобы добавить nanoCAD значение нового масштаба оформления, надо найти в файле Settings.xml соответствующий код в тегах (рис. 6.1) и отредактировать существующий список масштабов. В xml-файле указаны комментарии о назначении параметров. Так, например, можно указать масштаб, который будет использоваться по умолчанию.

Добавление своего масштаба в список:

<Scale name="400:1" val="400" />

Присваиваем значение по умолчанию масштабу 1:400:

<Scale name="400:1" val="400" default="-1" />

Создание дистрибутива nanoCAD с пользовательскими настройками - 7 Создание дистрибутива nanoCAD с пользовательскими настройками - 8
Рис. 6.1. Код списка масштабов оформления Рис. 6.2. Настроенный список масштабов

После завершения редактирования сохраните изменения в файле и запустите nanoCAD. Вы увидите, как ваши настройки повлияли на список масштабов (рис. 6.2).

Добавление масштаба измерений в список стандартных масштабов

Чтобы добавить nanoCAD значение нестандартного масштаба измерений, надо найти в файле Settings.xml соответствующий код (рис. 7.1) и добавить в существующий список масштабов аналогичные строки со своими параметрами. В xml-файле указаны комментарии о назначении параметров.
Добавление своего масштаба в список:

<Scale name="200:1" val="200" />

На рис. 7.1 сопоставлены код списка масштабов измерений и соответствующий список масштабов в окне nanoCAD.

Создание дистрибутива nanoCAD с пользовательскими настройками - 9 Создание дистрибутива nanoCAD с пользовательскими настройками - 10
Рис. 7.1. Код списка масштабов измерений Рис. 7.2. Настроенный список масштабов измерений

После завершения редактирования сохраните изменения в файле и запустите nanoCAD. Вы увидите, как ваши настройки повлияли на список масштабов (рис. 7.2).

AppOptions.xml

На ПК C:UsersUserAppDataRoamingNanosoftnanoCAD Plus 6.0ru-RU
На инсталляционном диске nanoInstall LocalExAppDataUserTemplatesru-RU

В этом файле хранятся настройки оформления (меню Сервис → Настройка оформления). Здесь можно настроить типы линий, размеры, выноски, формы и т.д.
В качестве примера мы изменим настройки позиционной выноски в профиле СПДС, как показано на рис. 8. Мы изменили цвет линий выноски и толщину линии. Переопределенные значения выделяются голубым цветом – это те настройки, которые отличаются от стандартного файла AppOptions.xml.
Создание дистрибутива nanoCAD с пользовательскими настройками - 11
Рис. 8. Окно настройки позиционной выноски

После завершения настроек их необходимо сохранить в xml-файл. Нажмите меню Файл → Сохранить настройки как. Укажите папку nanoInstall LocalExAppDataUserTemplatesru-RU и нажмите кнопку Сохранить (рис. 9).
Создание дистрибутива nanoCAD с пользовательскими настройками - 12
Рис. 9. Сохранение файла настроек AppOptions.xml

Myblocks.hsf

На ПК C:Program Files (x86)NanosoftnanoCAD Plus 6.0
На инсталляционном диске nanoInstall LocalExProgram

В прошлой статье мы создали свои команды, которые позволяли вставлять два готовых блока. Теперь мы можем добавить эти команды в наш дистрибутив. Для этого нужно поместить nsf-файл в нужную директорию инсталлятора. Таким образом можно распространить ваши собственные приложения, написанные для среды nanoCAD, среди всех пользователей вместе с дистрибутивом.

ncadbase.cfg и userdata.cfg

На ПК C:Program Files (x86)NanosoftnanoCAD Plus 6.0
На инсталляционном диске nanoInstall LocalExProgram

В этом файле хранятся настройки интерфейса платформы: расположение панелей, пункты меню, контекстное меню мыши и т.д.

Примечание: чтобы увидеть измененные настройки cfg-фалов в программе, вам необходимо очистить реестр nanoCAD СПДС в ветке HKEY_LOCAL_MACHINESOFTWARENanosoftnanoCAD СПДС после сохранения произведенных настроек.

Предзагрузка приложений

Созданный nsf-файл с командами (об этом можно прочитать в прошлой статье) необходимо подгружать в программе при запуске. Ранее для этого мы пользовались пунктом Загрузка приложений (Сервис → Приложения → Загрузка приложения → Автозагрузка). Для предустановки этой опции мы зарегистрируем специальную команду, которая будет загружать nsf-файл.

[configmancommandssload_myblocks_nsf]
weight=i30   |cmdtype=i0 | intername=sload_myblocks_nsf
RealCommandName=snsf
Keyword=smyblocks.nsf^MCloseDocument^MNewDocument^M

Изменение контекстного меню

nanoCAD 7 не поддерживает файлы CUI, однако у нас есть доступ ко всем cfg-файлам, отвечающим за настройки интерфейса.
Попробуем изменить стандартное контекстное меню. На рис. 10а представлено стандартное контекстное меню nanoCAD. Перейдем в папку с продуктом C:Program FilesNanosoftnanoCAD СПДС 6.0 в файл ncadbase.cfg и найдем строки, описывающие стандартное правокнопочное меню. Они представлены списком с префиксом ViewPopupMenu.

[ViewPopupMenu]                                                 |Intername=sViewPopupMenu
[ViewPopupMenuLastCommand]                     |intername=sLastCommand1
[ViewPopupMenuLastCommandPopup]         |name=s&Last commands
[ViewPopupMenuLastCommandPopupLC0] |intername=sLastCommand1
….
[ViewPopupMenuInspector]                     |name=sP&roperties             |intername=sProperties
[ViewPopupMenuDrawingExplorer]         |name=sDrawing &Explorer             |intername=sDrawingExplorer

Создание дистрибутива nanoCAD с пользовательскими настройками - 13
Рис. 10а. Стандартное правокнопочное меню nanoCAD СПДС

Стандартное меню мне показалось слишком большим, и я внес в него некоторые изменения: убрал некоторые команды, другие сгруппировал в выпадающие пункты и добавил несколько новых команд. В итоге у меня получился следующий код:

Раскрыть код

[ViewPopupMenu]                                               |Intername=sViewPopupMenu
[ViewPopupMenuLastCommand]          |intername=sLastCommand1
[ViewPopupMenuLastCommandPopup]     |name=s&Last commands
[ViewPopupMenuLastCommandPopupLC0] |intername=sLastCommand1
[ViewPopupMenuLastCommandPopupLC1] |intername=sLastCommand2
[ViewPopupMenuLastCommandPopupLC2] |intername=sLastCommand3
[ViewPopupMenuLastCommandPopupLC3] |intername=sLastCommand4
[ViewPopupMenuLastCommandPopupLC4] |intername=sLastCommand5
[ViewPopupMenuLastCommandPopupLC5] |intername=sLastCommand6
[ViewPopupMenuLastCommandPopupLC6] |intername=sLastCommand7
[ViewPopupMenuLastCommandPopupLC7] |intername=sLastCommand8
[ViewPopupMenuLastCommandPopupLC8] |intername=sLastCommand9
[ViewPopupMenusep2]
[ViewPopupMenuUndo]                           |name=s&Undo               |intername=sEditUndo
[ViewPopupMenuRedo]                           |name=s&Redo                |intername=sEditRedo
[ViewPopupMenusep3]
[ViewPopupMenuMove]                           |name=sMove object
[ViewPopupMenuMoveerase]                     |name=sErase       |intername=sDelete
[ViewPopupMenuMoveMoveCopy]                  |Name=sCop&y                        |InterName=sMoveCopy
[ViewPopupMenuMoveMirror]                    |Name=sMirror                      |InterName=sMirror
[ViewPopupMenuMoveOffset]                    |name=sOffset               |intername=svcOffsetCmd
[ViewPopupMenuMoveArray]                     |Name=sArray                       |InterName=sArray
[ViewPopupMenuMovesep4]
[ViewPopupMenuMoveMoveObject]                      |Name=sMov&e       |InterName=sMove
[ViewPopupMenuMoveRotateObject]                    |Name=s&Rotate     |InterName=sRotate
[ViewPopupMenuMovesep10]
[ViewPopupMenuMovescale]                     |Name=s&Scale                       |InterName=sScale
[ViewPopupMenuMovestretch]                   |name=sStretch       |intername=sstretch
[ViewPopupMenuMovesep5]
[ViewPopupMenuMoveTrim]                      |name=s&Trim Vectors               |intername=svcTrimByEdgeCmd
[ViewPopupMenuMovesmarttrim]                    |name=sSmart &Trim      |intername=ssmarttrim
[ViewPopupMenuMoveExtend]                    |name=s&Extend Vectors      |intername=svcExpandByEdgeCmd
[ViewPopupMenuMoveBreak]                     |name=s&Break Vectors               |intername=svcBreakCmd
[ViewPopupMenuMoveJoin]                      |name=s&Join objects               |intername=sJoin
[ViewPopupMenuMoveExtend]                    |name=s&Extend Vectors      |intername=svcExpandByEdgeCmd
[ViewPopupMenuMoveBreak]                     |name=s&Break Vectors               |intername=svcBreakCmd
[ViewPopupMenuMoveJoin]                      |name=s&Join objects               |intername=sJoin
[ViewPopupMenuClipboard] |name=sБуфер обмена
[ViewPopupMenuClipboardCut]   |Name=s&Cut   |InterName=sCut
[ViewPopupMenuClipboardCopy]   |Name=s&Copy   |InterName=sCopy
[ViewPopupMenuClipboardCopyWithBasePoint]  |Name=s&Copy With Base Point                |InterName=sCopyWithBasePoint
[ViewPopupMenuClipboardPaste]                           |Name=s&Paste                     |InterName=sPaste
[ViewPopupMenuClipboardPasteBlock]                |Name=s&Paste as Block      |InterName=sPasteBlock
[ViewPopupMenuClipboardPasteOriginal]  |Name=sPaste to Original Coor&dinates      |InterName=sPasteOrigin
[ViewPopupMenuIsolate]                           |name=sIsolate                                                
[ViewPopupMenuIsolateIsolateObjects]            |name=sIsolate &Objects          |InterName=sIsolateObjects
[ViewPopupMenuIsolateHideObjects]               |name=sHide Objects             |InterName=sHideObjects
[ViewPopupMenuIsolateUnisolateObjects]          |name=sUnisolate Objects        |InterName=sUnisolateObjects
[ViewPopupMenuDisplayOrder]                           |name=sDispla&y Order
[ViewPopupMenuDisplayOrderBringToFront]              |name=s&Bring to Front    |InterName=sdraworder1
[ViewPopupMenuDisplayOrderSendToBack]                |name=s&Send to Back      |InterName=sdraworder2
[ViewPopupMenuDisplayOrderBringForward]              |name=sBring &Forward     |InterName=sdraworder3
[ViewPopupMenuDisplayOrderSendBackward]              |name=sSend Back&ward     |InterName=sdraworder4
[ViewPopupMenuSelect]							|name=sSelect  
[ViewPopupMenuSelectselectsimilar]				|name=sSelect similar objects        |intername=sselectsimilar
[ViewPopupMenuSelectSelectAll]                     |name=sSelect Al&l          |intername=sSelectAll
[ViewPopupMenuSelectQuickSelect]                   |name=s&Quick Select        |intername=sqs
[ViewPopupMenuSelectUnSelectAll]                     |name=sUnSelect All          |intername=sUnSelectAll
[ViewPopupMenusep1] 
[ViewPopupMenuAddSelected]   |Name=sAdd Selected   |InterName=sAddSelected
[ViewPopupMenusep5] 
[ViewPopupMenuFind] |name=sSearch and Replace... |intername=sfind
[ViewPopupMenusep4]
[ViewPopupMenuInspector]                 |name=sP&roperties             |intername=sProperties
[ViewPopupMenupreferences]			|name=sPreferences             |intername=sPreferencesCmd

После завершения редактирования сохраните файл с кодировкой ANSI. На рис. 10б представлен результат произведенных изменений.
Создание дистрибутива nanoCAD с пользовательскими настройками - 14
Рис. 10б. Новое правокнопочное меню

Если вы настраиваете контекстное меню на уже установленном nanoCAD, то после сохранения изменений в файле ncadbase.cfg необходимо очистить реестр nanoCAD СПДС в ветке HKEY_LOCAL_MACHINESOFTWARENanosoftnanoCAD СПДС.

nprof.ini (nApp.ini)

На ПК C:Program Files (x86)NanosoftnanoCAD Plus 6.0
На инсталляционном диске nanoInstall LocalExProgram

В этом файле содержатся настройки самой платформы nanoCAD. Чтобы в строках кода было легче ориентироваться, советую зайти в Сервис → Настройки и ознакомиться со структурой и последовательностью параметров.
В нашем примере мы разместим стандартные папки nanoCAD (шаблоны, шрифты, стили печати, формы) в общей папке на сервере и добавим свой шаблон dwt, который будем использовать по умолчанию.

  1. Создаем необходимые каталоги на сервере:
    \ServerTemplates
    \Servershx
    \ServerPlotConfigs
    \Server PlotStyles
  2. Создаем шаблон test.dwt и помещаем его в папку на сервере: \ServerTemplatestest.dwt.
  3. Создаем с помощью блокнота файл nApp.ini и копируем в него необходимые настройки из nprof.ini или из готового примера, приведенного ниже.

[DefProfStdDirs]
TemplatesDir=s\ServerTemplates
Shx=s\Servershx
PlotConfigsDir=s\ServerPlotConfigs
PlotStylesDir=s\ServerPlotStyles
Pat=s\Servershx

[DefProfTemplateDoc]
UseTemplateFile=i1
TemplateName=sTest.dwt

[DefProfTemplateImport]
UseTemplateFile=i1
TemplateName=sTest.dwt

Примечание:
[DefProfStdDirs] – в этом разделе указаны параметры стандартных папок.
[DefProfTemplateDoc] и [DefProfTemplateImport] – это параметры использования шаблонов для новых и импортированных документов соответственно.

На рис. 11 представлен результат изменений файла настроек nrof.ini.
Создание дистрибутива nanoCAD с пользовательскими настройками - 15
Рис. 11. Стандартные папки и использование шаблонов
Ранее мы зарегистрировали специальную команду для загрузки блоков, теперь в nApp.ini укажем загрузку данной команды при старте nanoCAD.

[DefProfStartupload_myblocks_nsf]

Теперь при запуске nanoCAD наше приложение по вставке блоков будет запускаться вместе с ним.
После сохранения файла nApp.ini скопируйте его в соответствующую директорию дистрибутива. Файл nprof.ini копировать не нужно.

Setup.ini

Перейдем к файлу setup.ini – последнему, который нам необходимо подготовить. Этот файл настроек самого дистрибутива находится в папке с уже распакованным инсталлятором (nanoinstall). В нем можно прописать серийный номер продукта или указать адрес сервера лицензий, а также папку для базы данных СПДС и путь к настройкам СТП. Для настройки инсталляции следует раскомментировать ключи и задать им свои значения. Редактировать нужно только ключи в разделе [InstallProperties]. При расскоментировании параметров не забываем раскоментировать раздел [InstallProperties]. Ниже представлен список доступных параметров.

Сервер лицензий
FLEXLM_VENDOR_NAME=Nanosoft
FLEXLM_LICENSE_FILE=@server

Серийный номер
SERIALNUMBER=ZZZ10-TRIAL-00000

Директория установки
INSTALLLOCATION=c:Best program

Папка локальной БД
DATABASE_PATH=c:std.mcs

Путь до БД в сети
DATABASE_PATH=SQL:SERVER:base

Папка хранения локальных настроек
SETTINGS=\serverSettings.xml

Папка СТП на сервере 
CORP_OPTIONS=\serverCorpOptions.xml

Название префикса текущего профиля осуществляется путем добавления префикса к названиям слоев. Вручную его можно изменить в настройках оформления: Главные настройки → Общие настройки → Текущий профиль.
APP_OPTIONS_PROFILE=name

Если какой-либо из этих ключей закомментирован, то для него будет установлено значение по умолчанию, сохраненное в приложении.

Перенос файлов настроек

После окончания редактирования всех вышеперечисленных файлов их необходимо поместить в соответствующие директории инсталлятора (nanoinstall). Если вы используете дополнительные файлы (скрипты, lisp и т.д.), их можно поместить в папку Program (nanoInstall LocalExProgram) и они при установке будут размещены в Program Files папки продукта.

Тихая установка

Такие параметры необходимы, если вы собираетесь производить установку настроенного дистрибутива локально.
С помощью блокнота следует создать новый текстовый файл с расширением .bat в папке nanoInstall (рис. 8) и указать один из двух параметров установки:

  • для установки в пассивном режиме (отображение диалога хода установки, но без участия пользователя) необходимо запускать setup.exe /i /passive
  • для установки в скрытом режиме (для пользователя не будет отображаться даже диалога установки) нужно запускать Setup.exe /i /quiet

Создание дистрибутива nanoCAD с пользовательскими настройками - 16
Рис. 8. Создание bat-файла для запуска инсталлятора

Заключение

Мы показали вам, как можно адаптировать nanoCAD под свои настройки, сохранить их в своих файлах и включить в свой инсталляционный пакет, что очень удобно для разворачивания nanoCAD на большом количестве рабочих мест в рамках сети предприятия. С помощью этих знаний вы не просто упростите себе жизнь при установке ПО, но и сможете контролировать единые настройки САПР на всех рабочих местах пользователей: все пользователи теперь будут работать с едиными шаблонами, шрифтами, настройками оформления и т.п. Вы даже можете выложить свои скрипты и команды на каждое рабочее место пользователя.

Остается отметить, что эта статья будет полезна для установки не только nanoCAD СПДС, но и для остальных вертикальных решений и для самой платформы nanoCAD. Удачного проектирования!

Сергей Спирин, mahbak
ЗАО Нанософт

Автор: Нанософт

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js