Batch convert local Revit models (.rvt) to Autodesk Construction Cloud (ACC) using the Revit API SaveAsCloudModel method. Built as a pyRevit extension.
Opens a WPF dialog where you queue up local RVT files, enter your ACC destination (account, project, folder), and click RUN. The tool opens each file, optionally enables worksharing, uploads it to ACC via Document.SaveAsCloudModel(), and logs the result -- all in one pass.
- Revit 2023 or newer (uses the 4-parameter
SaveAsCloudModelAPI) - pyRevit 4.8+ (Revit 2020-2024) or pyRevit 5.0+ (Revit 2025)
- Signed into ACC in the active Revit session before running
- ACC account, project, and folder IDs (see Getting the IDs below)
-
Copy or clone this repository into your pyRevit extensions folder:
%APPDATA%\pyRevit\Extensions\Revit Cloud Uploader.extension -
In Revit, reload pyRevit: pyRevit tab > Reload.
-
The button appears under Revit Cloud Uploader tab > Revit Cloud Uploader panel.
- Click the Revit Cloud Uploader button in the Revit ribbon.
- Enter your ACC destination IDs (or use one of the quick-fill options below).
- Add RVT files via Add Files, Add Folder, or drag-and-drop.
- Set options (worksharing, close after upload).
- Click RUN.
- Monitor progress in the log panel. A full log is written to disk.
The dialog has two URL fields and a helper button:
Folder URL -- Navigate to the target folder in ACC Docs in your browser. Copy the URL from the address bar and paste it into the Folder URL field, then click Parse. This fills Project ID and Folder URN.
Admin URL -- Navigate to ACC Account Admin (click your name or the gear icon in ACC, then Account Admin). Copy the URL from the address bar and paste it into the Admin URL field, then click Parse. This fills Account ID.
Use Active Cloud Model -- If you have a cloud model open from the same ACC project, click this button to auto-fill all three fields in one click.
The tool needs three values: Account ID, Project ID, and Folder URN. The easiest approach is to paste two URLs:
Step 1 -- Folder URL (fills Project ID + Folder URN):
- Open your browser and navigate to the target folder in ACC Docs.
- Copy the URL from the address bar. It looks like:
https://acc.autodesk.com/docs/files/projects/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx?folderUrn=urn%3Aadsk.wipprod%3A... - Paste it into the Folder URL field and click Parse.
Step 2 -- Admin URL (fills Account ID):
- In ACC, go to Account Admin (any page).
- Copy the URL from the address bar. It looks like:
https://acc.autodesk.com/account-admin/projects/accounts/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/active - Paste it into the Admin URL field and click Parse.
Alternative: If you already have a cloud model open from the same ACC project, click Use Active Cloud Model to fill all three fields at once.
Manual entry (if the above methods don't apply):
| Field | What to enter |
|---|---|
| Account ID | Your ACC account GUID. Found at ACC > Account Admin > Settings. |
| Project ID | Project GUID. Found in the ACC Docs folder URL after /projects/. |
| Folder URN | Full folder URN, e.g. urn:adsk.wipprod:fs.folder:co.XXXXXXXX |
The tool strips b. and a. prefixes automatically if you paste them.
Each run writes a timestamped log to:
%TEMP%\CloudUploader\cloud_uploader_YYYYMMDD_HHMMSS.log
Logs include [HEARTBEAT] entries every 30 seconds during long operations. If Revit appears frozen, check the latest log to confirm whether an upload is still in progress.
- Sequential processing only. The Revit API is single-threaded; models are uploaded one at a time.
- English workset names. The worksharing option creates worksets named "Shared Levels and Grids" and "Workset1". On non-English Revit installations, this may fail silently -- the tool logs a warning and continues without worksharing.
- Local RVT files only. Family files (.rfa) and files already in the cloud are not supported.
Revit Cloud Uploader.extension/
Revit Cloud Uploader.tab/
Revit Cloud Uploader.panel/
Revit Cloud Uploader.pushbutton/
script.py # Main logic
ui.xaml # WPF dialog layout
bundle.yaml # pyRevit button metadata
docs/
prd.md # Product requirements
install.md # Detailed install guide
lessons.md # Development notes
extension.json # pyRevit extension metadata
readme.md
LICENSE
MIT License. See LICENSE.
