Показаны сообщения с ярлыком Enterprise. Показать все сообщения
Показаны сообщения с ярлыком Enterprise. Показать все сообщения

27 октября 2009 г.

Setting up AutoCAD Enterprise Environment. Part 2 (Настройка AutoCAD'a для корпоративной среды. Часть 2)

Недавно я описывал свой метод настройки AutoCAD'ов пользователей для работы в корпоративной сети. С того времени прошло более чем полгода и, надо признать, что метод хранения файлов кастомизации в сети не является наилучшим решением (по крайней мере в моей организации).
Изучив подходы иностранных коллег пришел к выводу что наиболее оптимальным решением является метод, который предлагает STEVE BENNETT в серии постов How to deal with 300 users that all want it their way. Метод основан на банальном импорте настроенного профиля AutoCAD на рабочем компьютере пользователя.
Вкратце суть такова:
  1. Настраиваем AutoCAD на своем комьютере так как хотим чтоб он был настроен на компьютерах пользователей.
  2. Экспортируем настроенный профиль.
  3. Создаем дистрибутив при помощи Inno Setup куда помещаем все впомогательные файлы, необходимые для работы с настроенным профилем, в том числе и настроенный профиль.
  4. Распространяем программу по рабочим компьютерам пользователей.
Пока не решил еще как обновлять файлы кастомизации: отдельным файлом обновлений или посредством скрипта, выполняемого при входе пользователя в домен, который бы сверял версии файлы у пользователей с последними файлами на сервере....

21 апреля 2009 г.

Tool Palettes. Enterprise Level

Созданные и размещенные в сетевом окружении Tool Palettes представляют собой довольно таки мощный инструмент для поддержания корпоративного стандарта предприятия. Они позволяют всем пользователям использовать одни и те же блоки, типы линий, штриховок и т.д. и т.п.. Но есть и свои минусы. Например, не получится сгруппировать должным образом палетки так, как мы привыкли их группировать, имея их на локальном диске. Поэтому приходится идти на кое-какие ухищрения, подробно расписанные неким John'ом из Австралии, здесь и здесь ;)
Итак, групировать будем просто раскидав палетки по папкам:
Имеем главную папку на сервере, например, \\Server\CADMAN\Toolpalettes. А в ней следующие папки, которые будут служить группами (рекомендую всегда называть папки на английском или использовать транслит, но для данной статьи оставляю имена на русском):
  • Генплан
  • Конструкторские
  • Архитектурные
  • ОВ и ВК
  • Электрика
  • и др.
В общем, создаем в каждой папке соответствующие palettes. Для этого в AutoCAD'е заходим в Options -> Files -> Tool Palettes File Locations и временно указываем ту папку, palettes которой в данный момент будем создавать. Проделываем все это для каждой из папок.
А теперь создадим быстрое переключение между Tool Palettes. Мы же в конце концов не так жестоки к пользователям чтоб принуждать их всякий раз заходить в Options и менять Tool Palettes File Locations на нужную в данный момент папку ;) Не знаю как у вас, но метод John'а, описанный во второй статье под названием Toolpalette Swapping у меня не сработал, но принцип остался тем же.
Вместо переключения папок с palettes посредством макроса типа "^C^C_ToolPalettesClose *_toolpalettepath "S:/!_ToolPalettes/ToolPalette" я использовал lisp-routine ToolPalettesPathSwapping.lsp следующего содержания:

;;;Глобальная перменная #CADMAN# назначается в acad.lsp
;;;и указывает на расположение главного каталога с файлами
;;;кастомизации на сервере (например "\\\\Server\\CADMAN")
;;;
;;;Загрузка ToolPalettes из папки "Конструкторские"
(defun C:TP_Structural (/ path)
(command "_ToolPalettesClose")
(setq path
(strcat
#CADMAN# "\\ToolPalettes\\Конструкторские"
)
)
(vla-put-ToolPalettePath
(vla-get-files (vla-get-preferences (vlax-get-acad-object)))
path
)
(command "_ToolPalettes")
)
;;;
;;;Загрузка ToolPalettes из папки "Архитектурные"
(defun C:TP_Architect (/ path)
(command "_ToolPalettesClose")
(setq path
(strcat
#CADMAN# \\ToolPalettes\\Архитектурные
)
)
(vla-put-ToolPalettePath
(vla-get-files (vla-get-preferences (vlax-get-acad-object)))
path
)
(command "_ToolPalettes")
)
;;;Я думаю суть ясна, проделываем то же самое для остальных папок.
;;;Естественно, что этот файл должен находится в соответствующей папке,
;;;путь к которой прописан в Support Files Search Paths AutoCAD'a.

Создаем панель инструментов, называем соответствующим образом, располагаем на ней кнопки, обозначающие группы palettes. К кнопкам прикручиваем макрос вида: ^C^C(if (not C:TP_Structural) (load "ToolPalettesPathSwapping"));TP_Structural;
Можно также последовать примеру John'а и сделать кнопку для загрузки локальных пользовательских palettes с таким макросом: ^C^C(command "ToolPalettesClose" "*_toolpalettepath" (strcat (getvar "ROAMABLEROOTPREFIX") "Support/ToolPalette") "ToolPalettes")
В итоге должно получиться что-то в этом роде ;-D

13 апреля 2009 г.

Setting up AutoCAD Enterprise Environment. Part 1 (Настройка AutoCAD'a для корпоративной среды. Часть 1)

Долго искал оптимальный вариант для получения желаемого результата и в итоге остановился на связке программы Acad Install и небольшой lisp-routine под названием Enterprise_setup.lsp.
Итак схема такова:
1. Acad Install прописывает папки в Support Folders Search Paths AutoCAD'a, и первой в этом списке папок идет папка Admin, в которой лежат файлы acad.lsp и acaddoc.lsp. Он также устанавливает custom.cui пользователя в качестве Main CUI и создает новый профайл.
2. В acad.lsp есть строка на запуск Enterprise_setup.lsp. Routine устанавливает Enterprise.cui или Enterprise172.cui в качестве Enterprise CUI для версий AutoCAD'a 2008 и 2009 соответственно и подгружает остальные Partial CUI если необходимы.

Собственно Enterprise_setup.lsp:
;;;Глобальная перменная #CADMAN# назначается в acad.lsp
;;;и указывает на расположение главного каталога с файлами
;;;кастомизации на сервере (например "\\\\Server\\CADMAN")
;;;
;;;УСТАНОВКА КОРПОРАТИВНОГО CUI
;;;
(vl-load-com)
(defun whatAcadVer ()
(if (= 17.2 (atof (substr (getvar "ACADVER") 1 4)))
(vla-put-EnterpriseMenuFile
(vla-get-files (vla-get-Preferences (vlax-get-acad-object)))
(strcat #CADMAN# "\\CUI\\Enterprise172")
)
(vla-put-EnterpriseMenuFile
(vla-get-files (vla-get-Preferences (vlax-get-acad-object)))
(strcat #CADMAN# "\\CUI\\Enterprise")
)
)
)
;;;
(defun c:whatAcadVer ()
(WhatAcadVer)
(princ)
) ;_ end of defun
(whatAcadVer)
;;;
;;;УСТАНОВКА ДОПОЛНИТЕЛЬНЫХ PARTIAL МЕНЮ
;;;
(and (not (menugroup "PARTIAL1"))
(setq #fil_Partial1 (findfile "Partial1.cui"))
(command "menuload"
#fil_Partial1
)
)
(and (not (menugroup "PARTIAL2"))
(setq #fil_Partial2 (findfile "Partial2.cui"))
(command "menuload"
#fil_Partial2
)
)
(and (not (menugroup "PARTIAL3"))
(setq #fil_ Partial3 (findfile "Partial3.mnu"))
(command "menuload"
#fil_Partial3
)
)
(and (not (menugroup "EXPRESS"))
(setq #fil_acetmain (findfile "acetmain.cui"))
(command "menuload"
#fil_acetmain
)
)