Revit batch print plugin: export PDF and DWG for every sheet, across every model, without limits
How to batch export Revit sheets to PDF and DWG: what Revit does natively, which plugins exist, and how your own plugin works, with no limits.
Revit · PDF · DWG
Printing 300 sheets shouldn't take your afternoon. Or happen again for every model.
What Revit does natively, where it falls short when a submittal spans several models and hundreds of sheets, which plugins exist, and what your own plugin looks like when it exports PDF and DWG in a single pass, without limits.
The bottleneck nobody budgets for
A mid-size project submittal can hold hundreds of sheets spread across several models: architecture, structure, MEP. And it's never exported just once: every revision, every round of client comments and every bid package asks for the full set again, as PDF for review and as DWG for whoever works in AutoCAD.
Exporting involves no engineering judgment. It's opening each model, picking sheets, checking names, waiting, repeating it for DWG and sorting folders. Exactly the kind of task worth automating.
A full submittal in a single pass
Model list
Every RVT in the project
Sheets by rule
Discipline, revision or set
PDF + DWG
Your naming and folders
Submittal log
What exported and what failed
Batch exporting PDF and DWG in Revit, in 6 steps
What Revit does natively, where it falls short, which tools exist, how a batch export plugin works, its code, and what it means for it to have no limits.
- 01Native
What Revit already does
PDF since 2022, background since 2025, and DWG
- 02Limits
Where it falls short
One model at a time, two processes, rigid names
- 03Market
Tools
ProSheets, Revit Batch Processor and your own plugin
- 04Plugin
How the plugin works
Models, rules, checks, PDF + DWG and a log
- 05Code
The core in code
PDFExportOptions and DWGExportOptions
- 06Action
No limits
No cap on sheets, models or users
Native PDF, since Revit 2022. Under File › Export › PDF you select views or sheets, or a saved set, and choose whether they go into one PDF or separate files with the combine option. For separate files there are naming rules built from parameters, such as sheet number and sheet name, with the separator of your choice. Options are saved as an export setup.
Background PDF, since Revit 2025. The Export in Background option lets you keep working while the PDF is generated. It's off by default, and progress shows on the status bar.
Native DWG. Under File › Export › CAD Formats › DWG you choose an export setup, with layers, lineweights and whether to use shared coordinates or the internal origin, and the sheet set. Each file name is a prefix plus an automatic name. One option exports the views on sheets as external references, or keeps everything in a single file.
Before 2022, the only route to PDF was printing to a PDF printer installed in Windows.
For one sheet or one model, native export is enough. For a real submittal, the limits show up:
- One model at a time. You open each model, export and close it. Five models means five rounds.
- PDF and DWG are two processes. You pick everything twice: sheets, setup and folder.
- DWG naming is rigid. A prefix plus an automatic name. If the client wants its own code, say project, discipline, number and revision, you rename by hand.
- No check before exporting. If a sheet's revision isn't current, it goes out anyway.
- Folders and transmittals by hand. Splitting by discipline or revision and building the list of issued sheets is still manual work.
- It ties up the machine. Apart from background PDF, Revit is blocked while it exports.
The step before has the same problem: building the sheets. We cover it in automated plan production in Civil 3D and Revit.
| Tool | What it does | Keep in mind |
|---|---|---|
| Native Revit export | PDF with naming rules and DWG with export setups | One model at a time, two separate processes |
| DiRoots ProSheets | Exports views and sheets to PDF, DWG, DGN, DWF, NWC, IFC and images | Freemium since October 2024: features such as scheduled exports need an annual per-user subscription |
| Revit Batch Processor | Runs Python or Dynamo scripts across many models | Free and open source, but you have to write the script |
| Your own plugin | Exports with the firm's exact rules | Built once; after that, the firm owns it |
Commercial tools handle the general case well. The trouble starts when the firm's process depends on a per-user license, on features that move to a paid tier, or on a naming format the tool doesn't support.
A plugin built for full submittals does in one run what takes an afternoon today:
- Model list. You pick the project's RVT files. The plugin opens each one in the background, detached from the central model so it's never touched, and closes it without saving when done.
- Sheets by rule. Every sheet in a discipline, the ones on a given revision, a saved set, or those matching a number filter.
- Pre-export check. It flags sheets whose revision isn't current, missing title block parameters, or two files that would end up with the same name. How to bring revisions and title blocks up to date on every sheet is in Revit revisions on multiple sheets.
- PDF and DWG in the same pass, each with its own export setup.
- The firm's or client's naming, built from any parameter: project code, discipline, number, revision and date.
- Organized folders by discipline, format or revision.
- Submittal log: an Excel file with every exported sheet, its revision, its file and anything that failed, without stopping the rest of the batch.
Because it runs unattended, you can start it at the end of the day and find the submittal ready the next morning.
The Revit API has an export method for each format. This snippet exports each sheet to PDF and DWG with a name the firm defines:
// Export each sheet to PDF and DWG with the firm's file name
var pdf = new PDFExportOptions { Combine = true };
var dwg = DWGExportOptions.GetPredefinedOptions(doc, "Firm-DWG");
foreach (ViewSheet sheet in sheets)
{
string rev = sheet.get_Parameter(BuiltInParameter.SHEET_CURRENT_REVISION).AsString();
string name = $"{projectCode}-{sheet.SheetNumber}-R{rev}";
pdf.FileName = name;
doc.Export(pdfFolder, new List<ElementId> { sheet.Id }, pdf);
doc.Export(dwgFolder, name, new List<ElementId> { sheet.Id }, dwg);
}
What each part does:
PDFExportOptionsandDWGExportOptionsare the same options as the export dialogs;GetPredefinedOptionsloads a DWG export setup saved in the model.- Exporting sheet by sheet lets you use any file name, without relying on the native rule.
- The rest of the plugin is what makes it reliable: opening and closing models, checking before export, logging errors and carrying on with the batch.
If you want the Autodesk APIs from the ground up, start with Revit and Civil 3D add-in development.
Whether a plugin is "unlimited" doesn't depend on a sales promise; it depends on who owns it. When the firm has the source code:
- No cap on sheets or models. The limit is Revit's export time, not a license.
- No per-user licenses. It goes on every machine in the office.
- No surprise changes. If a vendor moves features to a paid plan, your submittal process isn't affected.
- It fits your rules. Naming, folders and pre-export checks are your firm's, not generic ones.
What you do need to plan for is maintenance: each new Revit release may require recompiling the plugin. That's why updates should be included from the start.
| Criterion | Your own plugin | Native export |
|---|---|---|
| Several models in one run | Yes, in the background | No, one at a time |
| PDF and DWG | In the same pass | Two separate processes |
| Client naming | Any parameter, for PDF and DWG | Rules for PDF; prefix for DWG |
| Check before export | Revision, title block and duplicate names | No |
| Submittal log | Automatic Excel | By hand |
| Per-user cost | None, you own the code | Included in Revit |
Related resources
- Before you export: automated plan production in Civil 3D and Revit.
- Revisions and signatures: Revit revisions on multiple sheets, add and sign.
- Other tasks worth automating: the 12 Revit tasks that save the most time.
- The complete guide: Revit and Civil 3D add-in development.
- Budgeting: how much a Revit or Civil 3D add-in costs.
Frequently asked questions about batch exporting PDF and DWG in Revit
Since Revit 2022, under File › Export › PDF: select the sheets or a saved set, clear the combine option if you want separate files, and set up a naming rule from parameters such as sheet number and sheet name. In earlier releases you have to print to a PDF printer.
Technical note: export options match Revit 2026. Third-party tool terms can change: check each vendor's page.
Keep reading on this topic
Revit and Civil 3D Add-in Development: The Complete Guide (2026)
The complete guide to Revit and Civil 3D add-in development: what add-ins are, what to automate, C# and the Autodesk API, deployment and cost.
How to Build a Civil 3D Plugin with Claude Code Without Being a Programmer: End-to-End 2026 Guide
How to build a Civil 3D plugin with Claude Code without coding experience: architecture, prompts that work, and how to compile and deploy it.
Dynamo vs C# in Civil 3D and Revit: when to use each + automations that save hours
Dynamo or C# for automating Civil 3D and Revit: the real differences, when each one is worth it, and automations that save hours, with examples.
How much does a Revit or Civil 3D add-in cost? 2026 pricing and timeline guide
How much a Revit or Civil 3D add-in costs to build: what drives price and timeline, and how to calculate whether it pays for itself in hours saved.