В крупных организациях подготовка и настройка рабочих мест проектировщиков зачастую бывает затруднительной и рутинной. Казалось бы, для решения такой тривиальной задачи, как установка САПР, не нужно тратить много ресурсов — достаточно распространить дистрибутив через доменные политики или просто «расшарить» папку с готовым дистрибутивом. А что если в организации существуют собственные стандарты оформления при выпуске документации или есть свои наработки в виде готовых блоков или команд? В таком случае перед нами возникает еще одна задача — настроить рабочие места пользователей, а делать это с каждым местом в отдельности крайне нерационально. Распространять уже настроенный дистрибутив, на наш взгляд, является единственным правильным решением. Где же хранит свои настройки 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 на вашем компьютере; |
на инсталляционном диске | — путь, куда следует поместить измененные файлы конфигураций после завершения настроек. |
на ПК | — 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.
|
на ПК | — 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 Настройки оформления.
на ПК | — C:\Program Files (x86)\Nanosoft\nanoCAD Plus 6.0; |
на инсталляционном диске | — nanoInstall\LocalEx\Program. |
В прошлой статье мы создали свои команды, которые позволяли вставлять два готовых блока. Теперь мы можем добавить эти команды в наш дистрибутив. Для этого нужно поместить nfs-файл в нужную директорию инсталлятора.
на ПК | — 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б вы можете видеть результат изменений.
на ПК | — 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) и указать один из двух параметров установки:
Настроенный дистрибутив вы можете скачать по адресу drive.google.com/file/d/0B0wwPTv-qBOaeFMteG5LQ1RES0E/view?pli=1. Напомним: чтобы заработали команды вставки блоков, положите папку myblocks в директорию, которую указали в myblocks.nsf.
Итак, мы показали, как можно адаптировать nanoCAD под свои настройки, сохранить это в своих файлах и включить их в свой инсталляционный пакет, что очень удобно для разворачивания nanoCAD на большом количестве рабочих мест в рамках сети предприятия. Вы не просто упростите себе жизнь, но и сможете контролировать единые настройки САПР на всех рабочих местах, что позволит всем пользователям работать с шаблонами, с едиными шрифтами, настройками оформления
Для установки nanoCAD на рабочих местах можно либо выложить свой инсталлятор в общую папку и запускать install.bat на рабочих местах пользователей, либо воспользоваться доменными политиками и устанавливать продукт по сети в автоматическом режиме.
Остается отметить, что эта статья будет полезна не только для установки платформы nanoCAD — она применима и к вертикальным решениям на базе nanoCAD. Удачного проектирования!