adc
Wrapping Autodesk Desktop Connector API.
Supports two API surfaces
-
LEGACY (ADC v15-v17): Autodesk.DesktopConnector.API.DesktopConnectorService Full file-level ops (lock, unlock, sync, properties). Requires WCF on .NET Framework; had a dedicated .NET 8 build at FOS/AddInProcess/Civil3DOE (removed in v2027).
-
PUBLIC (ADC v2027+): Autodesk.DesktopConnector.API.Public.DesktopConnectorApiClient Subscription-level ops only (projects, drives, availability). No file-level lock/unlock/sync - degrades gracefully. Native .NET 8 support, no WCF dependency.
Attributes
ADC_NAME = 'Autodesk Desktop Connector'
module-attribute
ADC_SHORTNAME = 'ADC'
module-attribute
ADC_DRIVE_SCHEMA = '{drive_name}://'
module-attribute
ADC_ROOT = 'C:\\Program Files\\Autodesk\\Desktop Connector'
module-attribute
API = None
module-attribute
API_PUBLIC = None
module-attribute
ADC_DEFAULT_INSTALL_PATH = ADC_ROOT
module-attribute
ADC_API_DLL = 'Autodesk.DesktopConnector.API.dll'
module-attribute
ADC_API_DLL_PATH = op.join(ADC_ROOT, ADC_API_DLL)
module-attribute
Classes
Functions
is_available()
Check if ADC service is available. Falls back to process detection if API calls fail.
Source code in pyrevitlib/pyrevit/interop/adc.py
get_drive_paths()
Get dict of local paths for ADC drives.
Source code in pyrevitlib/pyrevit/interop/adc.py
get_local_path(path)
Convert ADC cloud drive path to local path.
Source code in pyrevitlib/pyrevit/interop/adc.py
lock_file(path)
is_locked(path)
Check if file is locked. Returns (False, None) if unavailable.
Source code in pyrevitlib/pyrevit/interop/adc.py
unlock_file(path)
Unlock given file. No-op if only Public API available.
is_synced(path)
Check if file is synchronized. Assumes True if unavailable.
Source code in pyrevitlib/pyrevit/interop/adc.py
sync_file(path, force=False)
Force ADC to sync given file. No-op if only Public API available.