| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программное переключение профилей

Программное переключение профилей

Ответ
Поиск в этой теме
Непрочитано 30.10.2008, 11:40 #1
Программное переключение профилей
480725
 
Москва
Регистрация: 06.10.2007
Сообщений: 132

Переключение профилей через настройки - многодельная операция.
Хотелось бы научиться делать это при помощи Лиспа но вот проблема: у Полещука написано, что свойство Profiles - только для чтения. Интуитивно чувствую, что выход должен быть, т.к. мне нужно не изменение, а переключение уже имеющегося профиля на другой, тоже уже имеющийся. Просьба ответить достаточно детально, т.к. в VLA я совсем слаб.
Просмотров: 3546
 
Непрочитано 30.10.2008, 12:25
#2
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Код:
[Выделить все]
(vla-put-ActiveProfile (vla-get-Profiles (vla-get-Preferences (vlax-get-acad-object))) "profilename")
Alaspher вне форума  
 
Автор темы   Непрочитано 30.10.2008, 12:51
#3
480725


 
Регистрация: 06.10.2007
Москва
Сообщений: 132


Цитата:
Сообщение от Alaspher Посмотреть сообщение
Код:
[Выделить все]
(vla-put-ActiveProfile (vla-get-Profiles (vla-get-Preferences (vlax-get-acad-object))) "profilename")
Спасибо! Если кто-то будет этим пользоваться - не забудьте вначале написать (vl-load-com)

Вот бы еще список профилей научиться получать для выхода в автокад: ведь может быть <<Профиль без имени>>, а может <<unnamed profile>>
480725 вне форума  
 
Непрочитано 30.10.2008, 13:03
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Код:
[Выделить все]
(VL-REGISTRY-DESCENDENTS (strcat "HKEY_LOCAL_MACHINE\\" (vlax-product-key) "\\Profiles"))
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.10.2008, 13:38
#5
480725


 
Регистрация: 06.10.2007
Москва
Сообщений: 132


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Код:
[Выделить все]
(VL-REGISTRY-DESCENDENTS (strcat "HKEY_LOCAL_MACHINE\\" (vlax-product-key) "\\Profiles"))
Что-то не то. Результат - nil.
480725 вне форума  
 
Непрочитано 30.10.2008, 13:49
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Тьфу, не то скопировал. Надо:
Код:
[Выделить все]
_$ (VL-REGISTRY-DESCENDENTS (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles"))
("SPDS 4" "AutoCAD Architecture (US Metric) debug" "AutoCAD Architecture (US Metric)" "AutoCAD Architecture (US Imperial)" "AutoCAD" "<<Unnamed profile>>")
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.10.2008, 13:56
#7
480725


 
Регистрация: 06.10.2007
Москва
Сообщений: 132


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Тьфу, не то скопировал. Надо:
Код:
[Выделить все]
_$ (VL-REGISTRY-DESCENDENTS (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles"))
("SPDS 4" "AutoCAD Architecture (US Metric) debug" "AutoCAD Architecture (US Metric)" "AutoCAD Architecture (US Imperial)" "AutoCAD" "<<Unnamed profile>>")
Спасибо! Все работает. На русском А2002 и на Русском A2009. Видимо, и в промежуточных тоже.
480725 вне форума  
 
Непрочитано 30.10.2008, 14:06
#8
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


как вариант:
Код:
[Выделить все]
(vla-GetAllProfileNames (vla-get-Profiles (vla-get-Preferences (vlax-get-acad-object))) 'res)
(vlax-safearray->list res)
результат, вроде бы должен быть неотличим от обращения через реестр
Alaspher вне форума  
 
Автор темы   Непрочитано 30.10.2008, 17:17
#9
480725


 
Регистрация: 06.10.2007
Москва
Сообщений: 132


Цитата:
Сообщение от Alaspher Посмотреть сообщение
как вариант:
Код:
[Выделить все]
(vla-GetAllProfileNames (vla-get-Profiles (vla-get-Preferences (vlax-get-acad-object))) 'res)
(vlax-safearray->list res)
результат, вроде бы должен быть неотличим от обращения через реестр
Спасибо! Работает.
Список в обраном порядке получился по сравнению с первым вариантом.
480725 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программное переключение профилей

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Горячие клавиши. Где "хранятся"? Artiznov AutoCAD 40 22.02.2024 11:23
NanoСПДС gest Другие CAD системы 401 15.07.2008 14:50
AutoCAD Architecture 2008 переключение профилей. Backbird Вертикальные решения на базе AutoCAD 10 11.02.2008 20:58
Можно-ли с помощью профилей создать 3D поверхность? Гиорги AutoCAD 11 24.05.2007 10:07