Главная » CADmaster №1(80) 2015 » Платформы САПР Создание дистрибутива nanoCAD с пользовательскими настройками
В крупных организациях подготовка и настройка рабочих мест проектировщиков зачастую бывает затруднительной и рутинной. Казалось бы, для решения такой тривиальной задачи, как установка САПР, не нужно тратить много ресурсов — достаточно распространить дистрибутив через доменные политики или просто «расшарить» папку с готовым дистрибутивом. А что если в организации существуют собственные стандарты оформления при выпуске документации или есть свои наработки в виде готовых блоков или команд? В таком случае перед нами возникает еще одна задача — настроить рабочие места пользователей, а делать это с каждым местом в отдельности крайне нерационально. Распространять уже настроенный дистрибутив, на наш взгляд, является единственным правильным решением. Где же хранит свои настройки nanoCAD? Как правильно создать свой дистрибутив? Эти и некоторые другие вопросы мы разберем подробнее.
Подготовка дистрибутива
Скачиваем необходимый дистрибутив продукта с сайта www.nanocad.ru/products. В качестве примера мы будем работать с дистрибутивом nanoCAD Plus 6 NC60Px32_2434.exe.
С помощью 7-zip распаковываем скачанный exe-файл в произвольную папку (в нашем случае — nanoInstall). После распаковки получаем набор файлов, показанный на рис. 1.
Дело в том, что nanoCAD хранит настройки в нескольких файлах, а они расположены в разных директориях. Для правильного развертывания дистрибутива нам необходимо создать в nanoInstall папку LocalEx, где следует создать подкаталоги, приведенные на рис. 2.
После создания дерева папок в nanoInstall необходимо найти и подготовить файлы конфигурации (Settings.xml, AppOptions.xm, CAD.cfg, nCAD.ini и др.). Мы можем найти их в архиве nanoCAD.cab в папке с распакованным дистрибутивом либо в директориях, которые создал nanoCAD, если вы его уже установили.
Рекомендуем пойти по второму пути, так как, изменяя файлы конфигурации, мы можем следить за своими результатами, сбрасывая настройки интерфейса nanoCAD.
Подробнее о файлах конфигураций
Существует несколько файлов конфигураций: одни отвечают за интерфейс программы, другие — за элементы оформления, третьи — за общие настройки платформы. Ниже будут представлены все файлы в отдельности. Для лучшего понимания введем обозначения для местоположения файлов:
на ПК | — место хранения файла, предустановленного nanoCAD на вашем компьютере; |
на инсталляционном диске | — путь, куда следует поместить измененные файлы конфигураций после завершения настроек. |
Settings.xml
на ПК | — C:\ProgramData\Nanosoft\nanoCAD Plus 6.0\DataRO\ru-RU; |
на инсталляционном диске | — nanoInstall\LocalEx\CommonAppData\DataRO\ru-RU. |
В этом файле находятся настройки конфигурации программы (добавление/ограничение списка масштабов, предопределенных полей основной надписи формата). Список масштабов оформления, который можно настроить в этом файле, показан на рис. 3.
Чтобы добавить в nanoCAD значение нового масштаба и выбрать масштаб, который будем использовать по умолчанию, нам необходимо найти в Settings.xml и отредактировать уже существующий список масштабов. В xml-файле указаны комментарии, подсказывающие нам назначение параметров.
Добавление своего масштаба в список:
<Scale name="200:1" val="200" />
Присваиваем значение по умолчанию масштабу 1:20:
<Scale name="20:1" val="20" default="-1" />
На рис. 3 сопоставлены код списка масштабов и соответствующий список масштабов в окне nanoCAD.
AppOptions.xml
на ПК | — C:\Users\User\AppData\Roaming\Nanosoft\nanoCAD Plus 6.0\ru-RU; |
на инсталляционном диске | — nanoInstall\LocalEx\AppData\UserTemplates\ru-RU. |
В этом файле хранятся настройки оформления (меню Сервис → Настройка оформления). Здесь можно настроить типы линий, размеры, выноски, формы
Для изменения выноски через файл AppOptions.xml найдем в нем нужную нам строку Универсальная выноска.
Изменим параметры цвета и толщину линии, аналогично показанному на рис. 4. После окончания редактирования видим следующее:
<section sid="6002" name="Универсальная выноска" icon="102" slide="5">
<param id="6050" name="Слой" ctrl="combobox_layer" doc="1" value="СИМВОЛЫ"/>
<param id="6259" name="Цвет" ctrl="combobox_color" doc="1" value="RGB(100,149,237)"/>
<param id="6260" name="Толщина линии" ctrl="combobox_lineweight" doc="1" value="0.3"/>
<param id="6256" name="Текстовый стиль" ctrl="combobox_textstyle" doc="1" value="ГОСТ 2.304"/>
<param id="6051" name="Цвет текста" ctrl="combobox_color" doc="1" value="RGB(255,255,255)"/>
<param id="6056" name="Высота текста" ctrl="combobox_edit_textheight" symbol="в" slide="48" doc="1" value="2.5"/>
<param id="6243" name="Высота текста обозначения" ctrl="combobox_edit_textheight" symbol="в" slide="48" doc="1" value="7.0"/>
<param id="6057" name="Отступ текста по горизонтали от края линии" ctrl="edit_double" symbol="г" slide="48" doc="1" value="1.5"/>
<param id="6058" name="Отступ текста по вертикали от линии" ctrl="edit_double" symbol="д" slide="48" doc="1" value="1.0"/>
<param id="6052" name="Размер стрелки" ctrl="edit_double" symbol="а" slide="47" doc="1" value="3.0"/>
<param id="6053" name="Размер открытой стрелки" ctrl="edit_double" symbol="а" slide="47" doc="1" value="3.0"/>
<param id="6054" name="Размер полустрелки" ctrl="edit_double" symbol="а" slide="47" doc="1" value="3.0"/>
<param id="6055" name="Размер точки" ctrl="edit_double" symbol="б" slide="47" doc="1" value="1.5"/>
<param id="6257" name="Размер засечки" ctrl="edit_double" doc="1" value="3.0"/>
<param id="6258" name="Толщина засечки" ctrl="edit_double" doc="1" value="0.3"/>
<param id="6297" name="Вес текста" ctrl="combobox_lineweight" doc="1" hidden="0" value="ByObject"/>
</section>
Теперь универсальная выноска по умолчанию будет такой, как показано на рис. 5.
Если для вас затруднительно искать нужные параметры в файле, можно просмотреть их последовательность и имена в окне nanoCAD Настройки оформления.
myblocks.nsf
на ПК | — C:\Program Files (x86)\Nanosoft\nanoCAD Plus 6.0; |
на инсталляционном диске | — nanoInstall\LocalEx\Program. |
В прошлой статье мы создали свои команды, которые позволяли вставлять два готовых блока. Теперь мы можем добавить эти команды в наш дистрибутив. Для этого нужно поместить nfs-файл в нужную директорию инсталлятора.
nCAD.cfg и userdata.cfg
на ПК | — C:\Program Files (x86)\Nanosoft\nanoCAD Plus 6.0; |
на инсталляционном диске | — nanoInstall\LocalEx\Program. |
В данном файле хранятся настройки интерфейса платформы. После создания nsf-файла его необходимо подгружать в программу. Ранее мы применяли для этого пункт Загрузка приложений (Сервис → Приложения → Загрузка приложения → Автозагрузка). Теперь же воспользуемся cfg-файлом: добавим в него следующие строки, которые и будут осуществлять загрузку файла с нашими командами вставки блоков:
[\configman\commands\sload_myblocks_nsf]
weight=i30 |cmdtype=i0 | intername=sload_myblocks_nsf
RealCommandName=snsf
Keyword=smyblocks.nsf^MCloseDocument^MNewDocument^M
В качестве еще одного примера адаптации интерфейса рассмотрим изменение стандартного контекстного меню мыши (рис. 6а). Для начала найдем в nCAD 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
Стандартное меню показалось нам слишком большим, и мы внесли в него некоторые изменения, а именно убрали некоторые команды, другие сгруппировали в выпадающие пункты и добавили несколько новых команд.
В итоге у нас получилось следующее:
[\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
Настройки нового контекстного меню можно оставить в ncad.cfg, просто сохранив изменения. В примере мы перенесли их в userdata.cfg для простоты поиска и редактирования. Хотим напомнить, что сохранять cfg-файлы следует с кодировкой ANSI. На рисунке 6б вы можете видеть результат изменений.
nCAD.ini и userdata.ini
на ПК | — C:\Program Files (x86)\Nanosoft\nanoCAD Plus 6.0; |
на инсталляционном диске | — nanoInstall\LocalEx\Program. |
В данном файле содержится весь функционал директории платформы Сервис → Настройки.
Для дальнейшей корректной работы наших новых команд, расположенных в nsf-файле, нам необходимо добавить в userdata.ini строки для загрузки файла при запуске программы.
[\DefProf\Startup\edit_userdata_ini]
[\DefProf\Startup\load_myblocks_nsf]
В качестве другого примера использования этого файла мы добавим в платформу nanoCAD новые стандартные папки и шаблон, который будет использоваться по умолчанию — test.dwt. Шаблон по умолчанию будет находиться на сервере ServerTemplatestest.dwt.
Создаем текстовый файл с именем userdata.ini и копируем код, представленный ниже (эти параметры вы можете найти и отредактировать непосредственно в nCAD.ini):
[\DefProf\StdDirs]
TemplatesDir=s%AppData%\Templates;\\ServerTemplates
Shx=ss%CommonAppData%\shx;\\Server\shx
PlotConfigsDir=s%AppData%\PlotConfigs;\\Server\PlotConfigs
PlotStylesDir=s%AppData%\PlotStyles;\\Server\PlotStyles
Pat=s%CommonAppData%\shx;\\Server\shx
[\DefProf\TemplateDoc]
UseTemplateFile=i1
TemplateName=sTest.dwt
[\DefProf\TemplateImport]
UseTemplateFile=i1
TemplateName=sTest.dwt
[\DefProf\StdDirs] - в этом разделе указаны параметры стандартных папок. [\DefProf\TemplateDoc] и [\DefProf\TemplateImport] - это параметры использования шаблонов для новых и импортированных документов соответственно. На рис. 7 вы можете увидеть результаты произведенных изменений.
Перенос файлов настроек
После окончания редактирования все вышеперечисленные файлы необходимо поместить в соответствующие директории инсталлятора (nanoinstall). Если вы используете дополнительные файлы (скрипты, lisp
Выбор сервера лицензий
Перейдем к файлу setup.ini. Он расположен в папке и распаковывается инсталлятором (nanoinstall). В нем можно указать дополнительные параметры установки. Если у вас установлен сервер лицензий, то его адрес вы можете предварительно указать в setup.ini:
[InstallProperties]
FLEXLM_VENDOR_NAME=NANOSOFT
FLEXLM_LICENSE_FILE=@Адрес сервера лицензии
Тихая установка
Чтобы не заполнять множество полей при установке программы, что отнимает много времени и сил, можно воспользоваться следующим приемом: с помощью блокнота необходимо создать новый текстовый файл с расширением .bat в папке nanoInstall (рис. 8) и указать один из двух параметров установки:
- Для установки в пассивном режиме (отображение диалога хода установки без участия пользователя) нужно запускать setup.exe i /passive;
- Для установки в скрытом режиме (для пользователя не будет отображаться даже диалог установки) следует запускать setup.exe /i /quiet.
Настроенный дистрибутив вы можете скачать по адресу drive.google.com/file/d/0B0wwPTv-qBOaeFMteG5LQ1RES0E/view?pli=1. Напомним: чтобы заработали команды вставки блоков, положите папку myblocks в директорию, которую указали в myblocks.nsf.
Заключение
Итак, мы показали, как можно адаптировать nanoCAD под свои настройки, сохранить это в своих файлах и включить их в свой инсталляционный пакет, что очень удобно для разворачивания nanoCAD на большом количестве рабочих мест в рамках сети предприятия. Вы не просто упростите себе жизнь, но и сможете контролировать единые настройки САПР на всех рабочих местах, что позволит всем пользователям работать с шаблонами, с едиными шрифтами, настройками оформления
Для установки nanoCAD на рабочих местах можно либо выложить свой инсталлятор в общую папку и запускать install.bat на рабочих местах пользователей, либо воспользоваться доменными политиками и устанавливать продукт по сети в автоматическом режиме.
Остается отметить, что эта статья будет полезна не только для установки платформы nanoCAD — она применима и к вертикальным решениям на базе nanoCAD. Удачного проектирования!
Скачать статью в формате PDF — 1.23 Мбайт |