В крупных организациях процесс подготовки и настройки рабочих мест проектировщиков зачастую бывает затруднительным и рутинным. Казалось бы, для решения такой тривиальной задачи, как установка САПР, не нужно тратить много ресурсов, достаточно лишь распространить дистрибутив через доменные политики или просто «расшарить» папку с готовым дистрибутивом и смело приступать к работе в САПР-системе. Возникает вопрос: «А что если в организации сущетвуют свои стандарты оформления к выпуску документации, если есть собственные наработки в виде готовых блоков или команд? Планируется ли использование общей базы данных (если применяется СПДС, Железобетон или Стройплощадка)?»
В таком случае перед нами возникает еще одна задача – настроить рабочие места пользователей, а делать это с каждым местом в отдельности крайне нерационально. Распространить уже настроенный дистрибутив – единственное правильное решение. Где же хранит свои настройки nanoCAD? Как правильно создать свой дистрибутив? Эти и некоторые другие вопросы мы рассмотрим подробнее. Инструкция предназначена для машин на ОС Windows 7 и выше.
Подготовка дистрибутива
Необходимо скачать дистрибутив продукта с сайта nanocad.ru. В нашем примере мы будем работать с дистрибутивом nanoCAD СПДС 6 NCSP60x32_468.exe.
Нужно установить программу, поскольку в дальнейшем мы будем работать с ее файлами. После установки перейдем к .exe-файлу дистрибутива.
Распаковываем скачанный .exe-файл (например, с помощью архиватора 7-zip) в произвольную папку, (в нашем случае мы назвали ее nanoInstall). После распаковки получаем следующий набор файлов, представленный на рис. 1.
Рис. 1. Распакованный дистрибутив nanoCAD СПДС 6
Программа nanoCAD хранит свои настройки в нескольких файлах, расположенных в разных директориях. Для корректного развертывания дистрибутива необходимо разложить эти настройки по разным папкам. Поэтому создадим в nanoInstall папку для хранения настроек LocalEx с подкаталогами, как показано на рис. 2.
Рис. 2 Структура папок настраиваемого дистрибутива
После создания необходимой структуры папок в nanoinstall необходимо найти и подготовить файлы конфигурации, которые отвечают за настройки нашего дистрибутива (Settings.xml; AppOptions.xml; CAD.cfg; nCAD.ini и др.).
Они располагаются в соответствующих директориях, о которых пойдет разговор ниже.
Примечание: Мы можем менять настройки на уже установленном nanoCAD, но чтобы они вступили в силу, необходимо сбрасывать настройки интерфейса (рис. 3) либо очищать реестр.
Рис. 3. Окно настроек интерфейса nanoCAD
Подробнее о файлах конфигураций
Существует несколько файлов конфигураций: одни отвечают за интерфейс программы, другие – за элементы оформления, третьи – за общие настройки платформы. Ниже будут представлены все файлы в отдельности. Для лучшего понимания введем небольшие обозначения для местоположения файлов.
На ПК | место хранения файла на вашем компьютере с предустановленным nanoCAD. |
На инсталляционном диске | это путь, куда следует поместить измененные файлы конфигураций после завершения настроек. |
Default.ntb
На ПК | C:\Users\User\AppData\Roaming\Nanosoft\nanoCAD СПДС 6.0\ru-RU |
На инсталляционном диске | nanoInstall \LocalEx\AppData\UserTemplates\ru-RU |
Данные настраиваются через интерфейс программы.
Рис. 4. Записная книжка nanoCAD СПДС
tinfo.xml
На ПК | C:\Users\User\AppData\Roaming\Nanosoft\nanoCAD СПДС 6.0\ru-RU |
На инсталляционном диске | nanoInstall \LocalEx\AppData\UserTemplates\ru-RU |
std.mcs
На ПК | C:\ProgramData\Nanosoft\nanoCAD СПДС 6.0\DataRO\ru-RU |
На инсталляционном диске | nanoInstall \LocalEx\CommonAppData\DataRO\ru-RU |
Данные настраиваются через интерфейс программы.
Рис. 5. База объектов nanoCAD СПДС
Settings.xml
На ПК | C:\ProgramData\Nanosoft\nanoCAD СПДС 6.0\DataRO\ru-RU |
На инсталляционном диске | nanoInstall \LocalEx\CommonAppData\DataRO\ru-RU |
Добавление масштаба оформления в список стандартных масштабов
Чтобы добавить nanoCAD значение нового масштаба оформления, надо найти в файле Settings.xml соответствующий код в тегах … (рис. 6.1) и отредактировать существующий список масштабов. В xml-файле указаны комментарии о назначении параметров. Так, например, можно указать масштаб, который будет использоваться по умолчанию.Добавление своего масштаба в список:
<Scale name="400:1" val="400" />
Присваиваем значение по умолчанию масштабу 1:400:
<Scale name="400:1" val="400" default="-1" />
Рис. 6.1. Код списка масштабов оформления | Рис. 6.2. Настроенный список масштабов |
Добавление масштаба измерений в список стандартных масштабов
Чтобы добавить nanoCAD значение нестандартного масштаба измерений, надо найти в файле Settings.xml соответствующий код (рис. 7.1) и добавить в существующий список масштабов аналогичные строки со своими параметрами. В xml-файле указаны комментарии о назначении параметров.Добавление своего масштаба в список:
<Scale name="200:1" val="200" />
На рис. 7.1 сопоставлены код списка масштабов измерений и соответствующий список масштабов в окне nanoCAD.
Рис. 7.1. Код списка масштабов измерений | Рис. 7.2. Настроенный список масштабов измерений |
AppOptions.xml
На ПК | C:\Users\User\AppData\Roaming\Nanosoft\nanoCAD СПДС 6.0\ru-RU |
На инсталляционном диске | nanoInstall \LocalEx\AppData\UserTemplates\ru-RU |
В качестве примера мы изменим настройки позиционной выноски в профиле СПДС, как показано на рис. 8. Мы изменили цвет линий выноски и толщину линии. Переопределенные значения выделяются голубым цветом – это те настройки, которые отличаются от стандартного файла AppOptions.xml.
Рис. 8. Окно настройки позиционной выноски
После завершения настроек их необходимо сохранить в xml-файл. Нажмите меню Файл → Сохранить настройки как. Укажите папку nanoInstall \LocalEx\AppData\UserTemplates\ru-RU\ и нажмите кнопку Сохранить (рис. 9).
Рис. 9. Сохранение файла настроек AppOptions.xml
Myblocks.hsf
На ПК | C:\Program Files (x86)\Nanosoft\nanoCAD СПДС 6.0 |
На инсталляционном диске | nanoInstall \LocalEx\Program |
ncadbase.cfg и userdata.cfg
На ПК | C:\Program Files (x86)\Nanosoft\nanoCAD СПДС 6.0 |
На инсталляционном диске | nanoInstall \LocalEx\Program |
Примечание: чтобы увидеть измененные настройки cfg-фалов в программе, вам необходимо очистить реестр nanoCAD СПДС в ветке HKEY_LOCAL_MACHINE\SOFTWARE\Nanosoft\nanoCAD СПДС после сохранения произведенных настроек.
Предзагрузка приложений
Созданный nsf-файл с командами (об этом можно прочитать в прошлой статье) необходимо подгружать в программе при запуске. Ранее для этого мы пользовались пунктом Загрузка приложений (Сервис → Приложения → Загрузка приложения → Автозагрузка). Для предустановки этой опции мы зарегистрируем специальную команду, которая будет загружать nsf-файл.
[\configman\commands\sload_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 Files\Nanosoft\nanoCAD СПДС 6.0 в файл ncadbase.cfg и найдем строки, описывающие стандартное правокнопочное меню. Они представлены списком с префиксом \ViewPopupMenu\.
[\ViewPopupMenu] |Intername=sViewPopupMenu
[\ViewPopupMenu\LastCommand] |intername=sLastCommand1
[\ViewPopupMenu\LastCommandPopup] |name=s&Last commands
[\ViewPopupMenu\LastCommandPopup\LC0] |intername=sLastCommand1
….
[\ViewPopupMenu\Inspector] |name=sP&roperties |intername=sProperties
[\ViewPopupMenu\DrawingExplorer] |name=sDrawing &Explorer |intername=sDrawingExplorer
Рис. 10а. Стандартное правокнопочное меню nanoCAD СПДС
Стандартное меню мне показалось слишком большим, и я внес в него некоторые изменения: убрал некоторые команды, другие сгруппировал в выпадающие пункты и добавил несколько новых команд. В итоге у меня получился следующий код:
Раскрыть код
[\ViewPopupMenu] |Intername=sViewPopupMenu
[\ViewPopupMenu\LastCommand] |intername=sLastCommand1
[\ViewPopupMenu\LastCommandPopup] |name=s&Last commands
[\ViewPopupMenu\LastCommandPopup\LC0] |intername=sLastCommand1
[\ViewPopupMenu\LastCommandPopup\LC1] |intername=sLastCommand2
[\ViewPopupMenu\LastCommandPopup\LC2] |intername=sLastCommand3
[\ViewPopupMenu\LastCommandPopup\LC3] |intername=sLastCommand4
[\ViewPopupMenu\LastCommandPopup\LC4] |intername=sLastCommand5
[\ViewPopupMenu\LastCommandPopup\LC5] |intername=sLastCommand6
[\ViewPopupMenu\LastCommandPopup\LC6] |intername=sLastCommand7
[\ViewPopupMenu\LastCommandPopup\LC7] |intername=sLastCommand8
[\ViewPopupMenu\LastCommandPopup\LC8] |intername=sLastCommand9
[\ViewPopupMenu\sep2]
[\ViewPopupMenu\Undo] |name=s&Undo |intername=sEditUndo
[\ViewPopupMenu\Redo] |name=s&Redo |intername=sEditRedo
[\ViewPopupMenu\sep3]
[\ViewPopupMenu\Move] |name=sMove object
[\ViewPopupMenu\Move\erase] |name=sErase |intername=sDelete
[\ViewPopupMenu\Move\MoveCopy] |Name=sCop&y |InterName=sMoveCopy
[\ViewPopupMenu\Move\Mirror] |Name=sMirror |InterName=sMirror
[\ViewPopupMenu\Move\Offset] |name=sOffset |intername=svcOffsetCmd
[\ViewPopupMenu\Move\Array] |Name=sArray |InterName=sArray
[\ViewPopupMenu\Move\sep4]
[\ViewPopupMenu\Move\MoveObject] |Name=sMov&e |InterName=sMove
[\ViewPopupMenu\Move\RotateObject] |Name=s&Rotate |InterName=sRotate
[\ViewPopupMenu\Move\sep10]
[\ViewPopupMenu\Move\scale] |Name=s&Scale |InterName=sScale
[\ViewPopupMenu\Move\stretch] |name=sStretch |intername=sstretch
[\ViewPopupMenu\Move\sep5]
[\ViewPopupMenu\Move\Trim] |name=s&Trim Vectors |intername=svcTrimByEdgeCmd
[\ViewPopupMenu\Move\smarttrim] |name=sSmart &Trim |intername=ssmarttrim
[\ViewPopupMenu\Move\Extend] |name=s&Extend Vectors |intername=svcExpandByEdgeCmd
[\ViewPopupMenu\Move\Break] |name=s&Break Vectors |intername=svcBreakCmd
[\ViewPopupMenu\Move\Join] |name=s&Join objects |intername=sJoin
[\ViewPopupMenu\Move\Extend] |name=s&Extend Vectors |intername=svcExpandByEdgeCmd
[\ViewPopupMenu\Move\Break] |name=s&Break Vectors |intername=svcBreakCmd
[\ViewPopupMenu\Move\Join] |name=s&Join objects |intername=sJoin
[\ViewPopupMenu\Clipboard] |name=sБуфер обмена
[\ViewPopupMenu\Clipboard\Cut] |Name=s&Cut |InterName=sCut
[\ViewPopupMenu\Clipboard\Copy] |Name=s&Copy |InterName=sCopy
[\ViewPopupMenu\Clipboard\CopyWithBasePoint] |Name=s&Copy With Base Point |InterName=sCopyWithBasePoint
[\ViewPopupMenu\Clipboard\Paste] |Name=s&Paste |InterName=sPaste
[\ViewPopupMenu\Clipboard\PasteBlock] |Name=s&Paste as Block |InterName=sPasteBlock
[\ViewPopupMenu\Clipboard\PasteOriginal] |Name=sPaste to Original Coor&dinates |InterName=sPasteOrigin
[\ViewPopupMenu\Isolate] |name=sIsolate
[\ViewPopupMenu\Isolate\IsolateObjects] |name=sIsolate &Objects |InterName=sIsolateObjects
[\ViewPopupMenu\Isolate\HideObjects] |name=sHide Objects |InterName=sHideObjects
[\ViewPopupMenu\Isolate\UnisolateObjects] |name=sUnisolate Objects |InterName=sUnisolateObjects
[\ViewPopupMenu\DisplayOrder] |name=sDispla&y Order
[\ViewPopupMenu\DisplayOrder\BringToFront] |name=s&Bring to Front |InterName=sdraworder1
[\ViewPopupMenu\DisplayOrder\SendToBack] |name=s&Send to Back |InterName=sdraworder2
[\ViewPopupMenu\DisplayOrder\BringForward] |name=sBring &Forward |InterName=sdraworder3
[\ViewPopupMenu\DisplayOrder\SendBackward] |name=sSend Back&ward |InterName=sdraworder4
[\ViewPopupMenu\Select] |name=sSelect
[\ViewPopupMenu\Select\selectsimilar] |name=sSelect similar objects |intername=sselectsimilar
[\ViewPopupMenu\Select\SelectAll] |name=sSelect Al&l |intername=sSelectAll
[\ViewPopupMenu\Select\QuickSelect] |name=s&Quick Select |intername=sqs
[\ViewPopupMenu\Select\UnSelectAll] |name=sUnSelect All |intername=sUnSelectAll
[\ViewPopupMenu\sep1]
[\ViewPopupMenu\AddSelected] |Name=sAdd Selected |InterName=sAddSelected
[\ViewPopupMenu\sep5]
[\ViewPopupMenu\Find] |name=sSearch and Replace... |intername=sfind
[\ViewPopupMenu\sep4]
[\ViewPopupMenu\Inspector] |name=sP&roperties |intername=sProperties
[\ViewPopupMenu\preferences] |name=sPreferences |intername=sPreferencesCmd
После завершения редактирования сохраните файл с кодировкой ANSI. На рис. 10б представлен результат произведенных изменений.
Рис. 10б. Новое правокнопочное меню
Если вы настраиваете контекстное меню на уже установленном nanoCAD, то после сохранения изменений в файле ncadbase.cfg необходимо очистить реестр nanoCAD СПДС в ветке HKEY_LOCAL_MACHINE\SOFTWARE\Nanosoft\nanoCAD СПДС.
nprof.ini (nApp.ini)
На ПК | C:\Program Files (x86)\Nanosoft\nanoCAD СПДС 6.0 |
На инсталляционном диске | nanoInstall \LocalEx\Program |
В нашем примере мы разместим стандартные папки nanoCAD (шаблоны, шрифты, стили печати, формы) в общей папке на сервере и добавим свой шаблон dwt, который будем использовать по умолчанию.
- Создаем необходимые каталоги на сервере:
\\Server\Templates
\\Server\shx
\\Server\PlotConfigs
\\Server\ PlotStyles - Создаем шаблон test.dwt и помещаем его в папку на сервере: \\Server\Templates\test.dwt.
- Создаем с помощью блокнота файл nApp.ini и копируем в него необходимые настройки из nprof.ini или из готового примера, приведенного ниже.
[\DefProf\StdDirs]
TemplatesDir=s\\ServerTemplates
Shx=s\\Server\shx
PlotConfigsDir=s\\Server\PlotConfigs
PlotStylesDir=s\\Server\PlotStyles
Pat=s\\Server\shx
[\DefProf\TemplateDoc]
UseTemplateFile=i1
TemplateName=sTest.dwt
[\DefProf\TemplateImport]
UseTemplateFile=i1
TemplateName=sTest.dwt
Примечание:
[\DefProf\StdDirs] – в этом разделе указаны параметры стандартных папок.
[\DefProf\TemplateDoc] и [\DefProf\TemplateImport] – это параметры использования шаблонов для новых и импортированных документов соответственно.
На рис. 11 представлен результат изменений файла настроек nrof.ini.
Рис. 11. Стандартные папки и использование шаблонов
Ранее мы зарегистрировали специальную команду для загрузки блоков, теперь в nApp.ini укажем загрузку данной команды при старте nanoCAD.
[\DefProf\Startup\load_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=\\server\Settings.xml
Папка СТП на сервере
CORP_OPTIONS=\\server\CorpOptions.xml
Название префикса текущего профиля осуществляется путем добавления префикса к названиям слоев. Вручную его можно изменить в настройках оформления: Главные настройки → Общие настройки → Текущий профиль.
APP_OPTIONS_PROFILE=name
Если какой-либо из этих ключей закомментирован, то для него будет установлено значение по умолчанию, сохраненное в приложении.
Перенос файлов настроек
После окончания редактирования всех вышеперечисленных файлов их необходимо поместить в соответствующие директории инсталлятора (nanoinstall). Если вы используете дополнительные файлы (скрипты, lisp и т.д.), их можно поместить в папку Program (nanoInstall \LocalEx\Program) и они при установке будут размещены в Program Files папки продукта.
Тихая установка
Такие параметры необходимы, если вы собираетесь производить установку настроенного дистрибутива локально.
С помощью блокнота следует создать новый текстовый файл с расширением .bat в папке nanoInstall (рис. 8) и указать один из двух параметров установки:
- для установки в пассивном режиме (отображение диалога хода установки, но без участия пользователя) необходимо запускать setup.exe /i /passive
- для установки в скрытом режиме (для пользователя не будет отображаться даже диалога установки) нужно запускать Setup.exe /i /quiet
Рис. 12. Создание bat-файла для запуска инсталлятора
Заключение
Мы показали вам, как можно адаптировать nanoCAD под свои настройки, сохранить их в своих файлах и включить в свой инсталляционный пакет, что очень удобно для разворачивания nanoCAD на большом количестве рабочих мест в рамках сети предприятия. С помощью этих знаний вы не просто упростите себе жизнь при установке ПО, но и сможете контролировать единые настройки САПР на всех рабочих местах пользователей: все пользователи теперь будут работать с едиными шаблонами, шрифтами, настройками оформления и т.п. Вы даже можете выложить свои скрипты и команды на каждое рабочее место пользователя.
Остается отметить, что эта статья будет полезна для установки не только nanoCAD СПДС, но и для остальных вертикальных решений и для самой платформы nanoCAD. Удачного проектирования!
Сергей Спирин, mahbak
ЗАО Нанософт