Skip to content
Octo × Revit PT Request an assessment

Octo for Revit

Dozens of models. Not a single click.

Revit desktop has no headless mode: the batch runs in an open Revit, except no one clicks in it. Octo can write, test and run these batches through pyRevit, RevitBatchProcessor or a .NET add-in, or in the cloud, through Design Automation. You approve the plan and each batch; it prepares the script, the files and the report of what failed for your team to review.

A three-story BIM building, with columns and slabs; from the roof, Octo sends out flows that become IFC, DWG and PDF *.RVT ROOF LEVEL 2 GROUND IFC model.ifc DWG per sheet PDF combined errors.log pyrevit run task.py --models=list.txt --purge OCTO × REVIT BATCH · NO CLICKS R-01
No interfaceNoonly in the cloud, in Design Automation
LinuxNoonly through the APS (Autodesk Platform Services) cloud or a Windows virtual machine
LanguagesC#, PythonIronPython and Dynamo graphs
Sources22listed at the end of the page
01

What Octo does in Revit.

Six possible deliverables, drawn from the research. In all of them, Revit actually opens on a Windows machine; Octo proposes the approach, writes the script and tests it on a sample before the batch.

IFC, DWG and PDF from every model

Writes a C# add-in that reads the model list, opens each one without activating it on screen, detaches it from the central when it's workshared, exports IFC (an open BIM model exchange format), DWG of the sheets and a combined PDF, and closes without saving. Dialogs that would hang the batch are closed through the DialogBoxShowing event.

Deliverable: C# add-in + .addin manifest

Batch through pyRevit

Writes a Python script for pyrevit run --models=list.txt: pyRevit opens the right Revit version and hands the model list to the script. With --purge, it deletes the temporary files at the end. Revit actually opens; no one just clicks in it.

Deliverable: .py script + model list

Scheduled, resilient batch

Sets up RevitBatchProcessor on the command line for Windows Task Scheduler. It opens each model, runs the task, closes, records the closed dialogs in the log and can use one Revit session per file, so a crash doesn't take down the batch.

Deliverable: .py task + .json configuration

Dynamo graphs across many models

Runs your .dyn as a RevitBatchProcessor task, model by model. For people who don't code, it organizes the graphs in Dynamo Player, which runs on the open model.

Deliverable: .dyn graph + batch task

Cloud and Revit Server models

Opens in batch models from Autodesk Docs, in ACC (Autodesk Construction Cloud), or from BIM 360 by project and model identifiers, with a signed-in account that has access. For Revit Server, it creates local copies with the server's own command-line tool, on the same version.

Deliverable: add-in or script for ACC + local copies

Moving to the cloud

The only headless Revit Autodesk offers is Design Automation, in the cloud, called through a REST API from a Linux server. The add-in has to be rebuilt without interface dependencies. Octo compares the paths and proposes the migration when it pays off.

Deliverable: APS migration study
02

Eight arms, one batch of models.

The same Octo cycle, applied to Revit. Each arm has a narrow role; the decisions are made by a person at your company.

  1. Discovery

    Inventories the models

    How many .rvt and .rfa files, which version each was saved in and whether it's workshared, read before opening. Which Revit versions are installed and where the centrals live: on the network, on Revit Server or in the cloud.

  2. Data

    Defines the outputs

    Which formats (IFC, DWG, PDF), which sheets are included, whether the PDF comes out combined, the name and folder of each file and where the error log goes.

  3. Security

    Checks license and access

    Revit LT doesn't accept add-ins or Dynamo, so it won't work. Asks your company to read the current license agreement (EULA) before any server batch. Opens centrals detached, without touching the original.

  4. Architecture

    Chooses the path

    pyRevit or RevitBatchProcessor for a local batch; a .NET add-in for an internal tool with a button; Design Automation when there's no Windows. Revit 2025 and later use .NET 8; older add-ins need to be recompiled.

  5. Development

    Writes the script

    Open, export, close without saving. Creates the output folder first, exports only printable sheets and answers every dialog, so Revit doesn't sit waiting for a click.

  6. Review

    Tests on a sample

    Runs on a few models and checks by the result: the IFC exists, there's a DWG per sheet, the PDF opens, the log has no errors. The PDF export warns when a view fails, and that warning is read, not ignored.

  7. Release

    Runs the approved batch

    With your OK, it runs the whole list and checks model by model what came out and what failed, without taking a success message as proof.

  8. Documentation

    Records what applies

    Revit, pyRevit or RevitBatchProcessor versions, the dialogs that came up and how they were answered, and what was confirmed on your machine. The next batch starts from this record.

Nothing runs in batch before your OK. The export scripts don't save the model: they open, export, close.

03

Each task, its own path.

The criteria Octo uses to choose. Apart from Design Automation, every path needs Revit open on a Windows machine.

TaskRecommended pathLocal Revit?
Export IFC, DWG or PDF from dozens of models on a Windows machinepyrevit run --models=list.txt or RevitBatchProcessorYes
Recurring scheduled batch (Windows Task Scheduler)RevitBatchProcessor on the command line or pyrevit runYes
Run a Dynamo graph across many modelsRevitBatchProcessor with a .dyn taskYes
Run a Dynamo graph on the open model, for people who don't codeDynamo PlayerYes
Run .dyn without Revit (pure geometry)DynamoCLI.exe -oNo (Dynamo only)
Internal tool with a button, events and automatic dialogs.NET add-in (IExternalApplication + DialogBoxShowing)Yes
Process models from a Linux server or SaaSDesign Automation for RevitNo (cloud)
ACC or BIM 360 models in a local batchAdd-in or pyRevit with ConvertCloudGUIDsToCloudPathYes
Create local copies of Revit Server modelsRevitServerTool createLocalRvtYes (Revit Server tool)
04

From script to service.

Three steps. Each one only makes sense after the previous one has shown results in your operation.

A proposal, not a promise

1 Today

On-demand batches

On a Windows machine with Revit and pyRevit or RevitBatchProcessor, you ask in business terms and get the proposed batch, to approve before it runs.

  • A request like “IFC of every model” becomes a script + list
  • Test on a sample before the whole list
  • Log per model and a list of what failed
Goal: take repetitive exporting off the team's hands
2 Next

Scheduled pipeline

The batch is no longer requested; it runs on schedule, through Windows Task Scheduler.

  • One Revit session per model, so a crash doesn't stop the rest
  • Dialogs closed and logged; logs summarized in a batch report
  • A model that fails goes back to the queue or to a person
Goal: the team moves to reviewing the batch report
3 Later

Cloud service

The same routines in Design Automation for Revit, called by API, with no local Windows or Revit.

  • Add-in rebuilt without interface dependencies, as the cloud requires
  • Called from a Linux server, the ERP or a portal
  • Autodesk billing by usage
Goal: model processing becomes a company service
05

Confirmed by sources.

Each point below has a source published by the vendor, the project or the responsible agency. The sources are in the next section.

4

points with a published source, each with its reference alongside.

ConfirmedRevit desktop has no headless mode
Autodesk's documentation describes no headless mode or command line for Revit desktop: the API runs inside a Revit.exe session, on Windows. The headless Revit Autodesk offers is Design Automation, in the cloud.Source: Revit API guide; Design Automation documentation
ConfirmedpyRevit and RevitBatchProcessor use a journal
pyRevit and RevitBatchProcessor open Revit and inject the work through a journal, a script Revit replays when it opens.Source: pyRevit source code (PyRevitRunner.cs); RevitBatchProcessor
ConfirmedRevit LT doesn't accept add-ins
Revit LT doesn't accept add-ins or Dynamo. To process models as a service, Autodesk offers Design Automation.Source: Autodesk support article; Design Automation documentation
ConfirmedRevit 2025 and later add-ins are .NET 8
Up to 2024, .NET Framework 4.8. Older add-ins need to be recompiled.Source: Autodesk blog on the .NET 8 migration
06

What Octo does and what stays with you.

Octo prepares everything, but doesn't sign. The document of record stays with whoever is accountable for it.

Octo prepares

Surveys, calculates, organizes and generates the documents: spreadsheets, reports, drawings and drafts.

Deliverable: material ready to check

Your team checks

The licensed professional checks what Octo delivered before signing. If something doesn't add up, it goes back to Octo with the correction.

Step: review by the signer

Who signs

Octo does not sign. Designs, technical reports, ART/RRT (Brazil's professional responsibility records), accountability reports and any official document are still signed by the company's or agency's licensed professional: here, the designer or the engineer responsible for the project.

Sign-off: designer or responsible engineer
07

Sources.

Documentation published by Autodesk and by the pyRevit and RevitBatchProcessor projects, used on this page.

Your models, no clicks.

The assessment starts by reading your models and your Revit installation, without changing anything. You get a map of what can be automated and decide with it in hand.