02/07/2014
Отключение online-синхронизации для AutoCAD 2015
В AutoCAD 2015 в настройках профиля появилась новая вкладка - "Online". Предположительно, в этой вкладке указывается, надо ли AutoCAD'у синхронизироваться с облаком, и, если надо, то что именно синхронизировать.Учитывая реалии, в которых лично мне приходится жить, подобное "богатство" не потребуется. Мало того, оно вообще вредно и его надо бы отключить.
Если пользователь не авторизован в службе Autodesk 360, то беспокоиться не о чем - вкладка попросту недоступна. Если же это не так (ну, ситуации-то разные бывают), то изменить или отключить эти параметры несложно.
Флажок "Enable automatic sync" регулируется системной переменной ONLINEDOCMODE. А вот флажок "Sync my settings with the cloud" регулируется только записями в реестре. К сожалению, мне не удалось (по крайней мере пока) найти, где и как хранятся настройки - что именно хранить в облаке (все данные, или какие-то выбранные). Но отключить все это дело вполне реально.
Итак, сделаем, чтобы AutoCAD не пытался ничего закинуть в облако. Прежде всего установим системную переменную ONLINEDOCMODE в 0:
Код - Auto/Visual LISP: [Выделить]
- (if (getvar "onlinedocmode")
- (setvar "onlinedocmode" 0)
- ) ;_ end of if
После этого лезем в реестр, раздел реестра для текущего продукта с учетом его локализации, подветка Varibales, ключ ONLINESETTINGSSYNC. Если такое значение есть - удаляем:
Код - Auto/Visual LISP: [Выделить]
- (if (vl-registry-read
- (setq hive (strcat "HKEY_CURRENT_USER\\"
- (vlax-product-key)
- "\\Variables"
- ) ;_ end of strcat
- ) ;_ end of setq
- (setq key "ONLINESETTINGSSYNC")
- ) ;_ end of vl-registry-read
- (vl-registry-delete hive key)
- ) ;_ end of if
Но, к сожалению, только этого шага недостаточно: необходимо еще и "обнулить" значения для зарегистрированного пользователя Autodesk 360. Записи о зарегистрированных в Autodesk 360 пользователях хранятся в реестре, ключ
Код - Auto/Visual LISP: [Выделить]
И там внутри каждой подветки надо найти ключ OnlineSettingsSync и установить ему значение 0.- (strcat "HKEY_CURRENT_USER\\"
- (vlax-product-key)
- "\\WebUsers"
- ) ;_ end of strcat
Удаление всех подветок WebUsers не уничтожает факта подключения к Autodesk 360, придется искать другие пути для этого.
В результате мы получим код наподобие:
Код - Auto/Visual LISP: [Выделить]
P.S. Есть пара моментов, которые хотелось бы отметить особо.- (vl-load-com)
- (defun no-online-sync (/ hive key)
- (if (getvar "onlinedocmode")
- (setvar "onlinedocmode" 0)
- ) ;_ end of if
- (if (vl-registry-read
- (setq hive (strcat "HKEY_CURRENT_USER\\"
- (vlax-product-key)
- "\\Variables"
- ) ;_ end of strcat
- ) ;_ end of setq
- (setq key "ONLINESETTINGSSYNC")
- ) ;_ end of vl-registry-read
- (progn
- (vl-registry-delete hive key)
- (foreach subhive (vl-registry-descendents
- (setq hive (strcat "HKEY_CURRENT_USER\\"
- (vlax-product-key)
- "\\WebUsers"
- ) ;_ end of strcat
- ) ;_ end of setq
- nil
- ) ;_ end of vl-registry-descendents
- (if (vl-registry-read (strcat hive "\\" subhive) "OnlineSettingsSync")
- (vl-registry-write (strcat hive "\\" subhive) "OnlineSettingsSync" 0)
- ) ;_ end of if
- ) ;_ end of foreach
- ) ;_ end of progn
- ) ;_ end of if
- ) ;_ end of defun
- (no-online-sync)
- Все параметры, с которым мы сейчас работали, хранятся в реестре и касаются всех профилей AutoCAD и ПО на его основе. Без вариантов.
- После внесения изменений в реестр крайне желательно перезапустить AutoCAD: в окне настроек AutoCAD не покажет новые параметры, хотя и будет их использовать. При закрытии AutoCAD значения в реестре (по крайней мере пока) не перезаписываются.
Автор: Алексей Кулик
Обсуждение: http://adn-cis.org/forum/index.php?topic=841
Опубликовано 02.07.2014