Тема: Как программно (Lisp) сменить Профиль ?
Как программой на Lisp-е сменить Профиль в ACAD2000 ? Системная переменная CPROFILE доступна только на чтение.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → LISP → Как программно (Lisp) сменить Профиль ?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Как программой на Lisp-е сменить Профиль в ACAD2000 ? Системная переменная CPROFILE доступна только на чтение.
На мой взгляд, именно из Лисп, на лету этого сделать нельзя. Диалог опций не имеет варианта с командной строкой, CPROFILE - read only
В описаниях всяких недокументрованных возможностей такого также не встречал.
Autodesk в Tech-Note td305173.html приводит пример изменения профиля. Но из Лиспа там просто вызывается программа на VBA
Можно сделать (с ухищрениями) вариант, требующий перезапуска Автокада. Но не стоит.
Обычно варианты профиля указывают в ярлыках в параметре командной строки. У нас, в BestIA, Автокад всегда запускается из оболочки-стартера (в которой много всяких функций), с требуемым профилем в параметре.
К полуночи мне это всетаки удалось:
(vl-load-com) ;;;инициализация
(setq Prof(vlax-get-property(vlax-get-property(vlax-get-acad-object)'Preferences)'Profiles)) ;;;получил указатель на профиль
(setq ActiveProfile(vlax-get-property Prof 'ActiveProfile))
(vlax-put-property Prof 'ActiveProfile "Мой новый профиль")
Перед выходом восстановил изначальный профиль:
(vlax-put-property Prof 'ActiveProfile ActiveProfile)
Да, я тоже попробовал через ActiveX (VBA может, почему же не сможет VLISP) и все получилось.
Вот и преимущества VisualLisp! Хотя "Visual" - громко сказано.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → LISP → Как программно (Lisp) сменить Профиль ?
Форум работает на PunBB, при поддержке Informer Technologies, Inc