Долго искал оптимальный вариант для получения желаемого результата и в итоге остановился на связке программы 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))
Комментариев нет:
Отправить комментарий