Перейти к содержимому


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

СДПС nanoCAD настройка оформление ПКМ интерфейс

Сообщений в теме: 2

#1 Spirin

    Продукт-менеджер

  • Продукт-менеджеры
  • PipPipPipPip
  • 105 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 18 Март 2016 - 11:21


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

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

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

Необходимо скачать дистрибутив продукта с сайта nanocad.ru. В нашем примере мы будем работать с дистрибутивом nanoCAD СПДС 6 NC60Px32_2434.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 Plus 6.0\ru-RU
На инсталляционном дискеnanoInstall \LocalEx\AppData\UserTemplates\ru-RU
Представляет собой двоичный файл, хранящий в себе данные записной книжки (рис. 4).
Данные настраиваются через интерфейс программы.

Рис. 4. Записная книжка nanoCAD СПДС

tinfo.xml


На ПКC:\Users\User\AppData\Roaming\Nanosoft\nanoCAD Plus 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

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

Рис. 5. База объектов nanoCAD СПДС

Settings.xml


На ПКC:\ProgramData\Nanosoft\nanoCAD СПДС 6.0\DataRO\ru-RU
На инсталляционном дискеnanoInstall \LocalEx\CommonAppData\DataRO\ru-RU

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

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

Добавление своего масштаба в список:
<Scale name="400:1" val="400" />

Присваиваем значение по умолчанию масштабу 1:400:
<source lang="xml"><Scale name="400:1" val="400" default="-1" /></source>


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

Добавление масштаба измерений в список стандартных масштабов
Чтобы добавить nanoCAD значение нестандартного масштаба измерений, надо найти в файле Settings.xml соответствующий код (рис. 7.1) и добавить в существующий список масштабов аналогичные строки со своими параметрами. В xml-файле указаны комментарии о назначении параметров.
Добавление своего масштаба в список:
<Scale name="200:1" val="200" />

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

AppOptions.xml


На ПКC:\Users\User\AppData\Roaming\Nanosoft\nanoCAD Plus 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 Plus 6.0
На инсталляционном дискеnanoInstall \LocalEx\Program
В прошлой статье мы создали свои команды, которые позволяли вставлять два готовых блока. Теперь мы можем добавить эти команды в наш дистрибутив. Для этого нужно поместить nsf-файл в нужную директорию инсталлятора. Таким образом можно распространить ваши собственные приложения, написанные для среды nanoCAD, среди всех пользователей вместе с дистрибутивом.

ncadbase.cfg и userdata.cfg

На ПКC:\Program Files (x86)\Nanosoft\nanoCAD Plus 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 Plus 6.0
На инсталляционном дискеnanoInstall \LocalEx\Program
В этом файле содержатся настройки самой платформы nanoCAD. Чтобы в строках кода было легче ориентироваться, советую зайти в Сервис ? Настройки и ознакомиться со структурой и последовательностью параметров.
В нашем примере мы разместим стандартные папки 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.xm

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

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

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

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

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

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

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


Рис. 8. Создание bat-файла для запуска инсталлятора

Заключение

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

#2 doctorraz

    Активист

  • Пользователи
  • PipPipPipPip
  • 654 сообщений
  • Пол:Мужчина
  • Город:Волгоград
  • Интересы:всё понемногу

Отправлено 18 Март 2016 - 22:27

Классная статья так и просится сюда http://blog.spds.ru/

#3 dows

    Активист

  • Продукт-менеджеры
  • PipPipPipPip
  • 2 666 сообщений
  • Пол:Мужчина
  • Город:Москва
  • Интересы:САПР

Отправлено 19 Март 2016 - 01:13

Нет проблем - вы можете опубликовать. Только потом не забудьте обновлять с выходом новых версий и изменений (например, скорее всего в 8-ке будут усовершенствования и дополнительные тонкости по интерфейсу).
С уважением,
Денис Ожигин

Сайты: www.archicad.ru, www.nanocad.ru





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей