Тема: Как программно (Lisp) сменить Профиль ?

Как программой на Lisp-е сменить Профиль в ACAD2000 ? Системная переменная CPROFILE доступна только на чтение.

Re: Как программно (Lisp) сменить Профиль ?

На мой взгляд, именно из Лисп, на лету этого сделать нельзя. Диалог опций не имеет варианта с командной строкой, CPROFILE - read only

В описаниях всяких недокументрованных возможностей такого также не встречал.

Autodesk в Tech-Note td305173.html приводит пример изменения профиля. Но из Лиспа там просто вызывается программа на VBA

Можно сделать (с ухищрениями) вариант, требующий перезапуска Автокада. Но не стоит.

Обычно варианты профиля указывают в ярлыках в параметре командной строки. У нас, в BestIA, Автокад всегда запускается из оболочки-стартера (в которой много всяких функций), с требуемым профилем в параметре.

Re: Как программно (Lisp) сменить Профиль ?

К полуночи мне это всетаки удалось:
   (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)

Re: Как программно (Lisp) сменить Профиль ?

Да, я тоже попробовал через ActiveX (VBA может, почему же не сможет VLISP) и все получилось.

Вот и преимущества VisualLisp! Хотя "Visual" - громко сказано.