ADN Club > AutoLisp / VisualLISP и DCL
Проблема с изменением стандартного пути шаблонов
Peacemaker_kiss:
Появилось желание изменить стандартную папку шаблонов в Autocad 2015 на свою собственную, но не просто "руками" а lisp`ом который будет все делать при формировании развертывания в едином файле lisp настройки "голого autocad`а, итак нашелся lisp, он, как настоящий парень, все меняет славно в реестре, но в перечне папок автокада пути не меняются, что удивительно, что таким же способом были изменены пути для временных файлов, для временных ссылок, для файлов автосохранения. Но с параметрами шаблонов никак. Путь сетевой, возможны какие-нибудь заморочки с этим, но в случае с папками, отвечающими за временные файлы, ссылки, автокад не остановило это, и он славно прописал в перечень папок мои пути!
Помогите, если кто сталкивался, ибо создаю группу адаптаций для "вновь установленного автокада" и остался последний путь, чтобы все получилось
Прикладываю скрин паранойи!
Алексей Кулик:
Приветствую на форуме.
Скрин не поможет никаким образом. Код бы глянуть...
---
Добавлю: временные файлы в сетевом каталоге - это как-то не очень, я думаю. Проще и дешевле сделать локальные каталоги: головняка будет значительно меньше.
Александр Ривилис:
--- Цитата: Алексей Кулик от 09-10-2014, 21:01:26 ---Добавлю: временные файлы в сетевом каталоге - это как-то не очень, я думаю.
--- Конец цитаты ---
Я буду более категоричен - это полный бред. Так делать нельзя потому что нельзя. То есть конечно можно, но если очень ищешь приключения...
--- Цитата: Peacemaker_kiss от 09-10-2014, 19:30:43 ---итак нашелся lisp, он, как настоящий парень, все меняет славно в реестре, но в перечне папок автокада пути не меняются
--- Конец цитаты ---
Значит не так меняет. Показывай код.
Этот работает:
--- Код - Auto/Visual Lisp [Выбрать] ---(defun С:Change_TemplatePath( / newdir acadObj currTemplateDWGPath preferences) (vl-load-com) (setq acadObj (vlax-get-acad-object)) (setq preferences (vla-get-Preferences acadObj)) (setq currTemplateDWGPath (vla-get-TemplateDwgPath (vla-get-Files preferences))) (princ (strcat "\nСейчас путь к папке с шаблонами: " currTemplateDWGPath)) ;; Меняем значение пути к папке шаблонов (if (and (setq newdir (getstring T "\nУкажите новый путь к папке с шаблонами: ")) (/= newdir "")) (progn (vla-put-TemplateDwgPath (vla-get-Files preferences) newdir) )) (princ))
Peacemaker_kiss:
У меня совсем другой код, представляю на круг общественности
--- Код - Auto/Visual Lisp [Выбрать] ---(defun aiku_settemplatepath (/ x00)(vl-registry-write (setq x00 (strcat (setq x00 (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\profiles\\"))(vl-registry-read x00)"\\General"))"TemplatePath" "\\\\192.168.1.201\\projects\\!ШАБЛОНЫ\\Сетевые настройки Autocad")(princ))
Александру спасибо за решение, не ожидал что и такое можно при помощи vla-put? странно, что когда смотрел методы для сессии автокада и для текущего документа не увидел возможности работы с параметрами шаблонов, воистину, век живи-век учись
Алексей Кулик:
Вносить изменения в реестр из-под AutoCAD достаточно плохая идея: далеко не всегда данные читаются из реестра все время. Нередко бывает, что AutoCAD при старте читает данные, запоминает, а при корректном завершении перезаписывает имеющимися в памяти.
Навигация
Перейти к полной версии