Skip to content

schauh11/revit-cloud-uploader

Repository files navigation

Revit Cloud Uploader

Batch convert local Revit models (.rvt) to Autodesk Construction Cloud (ACC) using the Revit API SaveAsCloudModel method. Built as a pyRevit extension.

What it does

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 Cloud Uploader dialog

Requirements

  • Revit 2023 or newer (uses the 4-parameter SaveAsCloudModel API)
  • 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)

Installation

  1. Copy or clone this repository into your pyRevit extensions folder:

    %APPDATA%\pyRevit\Extensions\Revit Cloud Uploader.extension
    
  2. In Revit, reload pyRevit: pyRevit tab > Reload.

  3. The button appears under Revit Cloud Uploader tab > Revit Cloud Uploader panel.

Usage

  1. Click the Revit Cloud Uploader button in the Revit ribbon.
  2. Enter your ACC destination IDs (or use one of the quick-fill options below).
  3. Add RVT files via Add Files, Add Folder, or drag-and-drop.
  4. Set options (worksharing, close after upload).
  5. Click RUN.
  6. Monitor progress in the log panel. A full log is written to disk.

Quick-fill options

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.

Getting the required IDs

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):

  1. Open your browser and navigate to the target folder in ACC Docs.
  2. 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...
    
  3. Paste it into the Folder URL field and click Parse.

Step 2 -- Admin URL (fills Account ID):

  1. In ACC, go to Account Admin (any page).
  2. Copy the URL from the address bar. It looks like:
    https://acc.autodesk.com/account-admin/projects/accounts/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/active
    
  3. 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.

Log files

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.

Known limitations

  • 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.

Project structure

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

License

MIT License. See LICENSE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages