Export to PDF, Multiple Combined Assemblies Sheets to Multiple files

Gavin,

Wondering if you can help me out again, I am now trying to send the PDF’s to different Directories.

I don’t know if it is possible, I have looked at other Python scripts but most are directed towards one Directory.

Made by Gavin Crump

Credit to Sean Page for sharing these methods via the forums!

Export PDF in Revit 2022 - Quick Example

Free for use

BIM Guru, www.bimguru.com.au

Boilerplate text

import clr

clr.AddReference(‘System’)
from System.Collections.Generic import List

clr.AddReference(“RevitNodes”)
import Revit
clr.ImportExtensions(Revit.Elements)

clr.AddReference(“RevitServices”)
import RevitServices
from RevitServices.Persistence import DocumentManager

clr.AddReference(“RevitAPI”)
import Autodesk
from Autodesk.Revit.DB import *

Current doc/app/ui

doc = DocumentManager.Instance.CurrentDBDocument

Define list/unwrap list functions

def tolist(input):
result = input if isinstance(input, list) else [input]
return result

def uwlist(input):
result = input if isinstance(input, list) else [input]
return UnwrapElement(result)

def todir(input):
result = input if isinstance(input, list) else [input]
return result

Current document

doc = DocumentManager.Instance.CurrentDBDocument

Collect inputs

sheetsList = uwlist(IN[0])
fileNames = tolist(IN[1])
dirPath = todir(IN[2])

Collect and set export options

opts = PDFExportOptions()
opts.HideCropBoundaries = 1
opts.HideScopeBoxes = 1
opts.HideReferencePlane = 1
opts.HideUnreferencedViewTags = 1
opts.MaskCoincidentLines = 1
opts.Combine = 1
opts.ColorDepth = ColorDepthType.GrayScale

This will uses the Sheet Size for Paper size, or default to Letter

opts.PaperFormat = ExportPaperFormat.Default

Results list

results =

Execute the batch export

for sheets, n in zip(sheetsList, fileNames):
# Set name
opts.FileName = n
# Make idList
idList = ListElementId
# Build idList
for s in sheets:
idList.Add(s.Id)
# Export
result = doc.Export(dirPath, idList, opts)
results.append(result)

Preparing output to Dynamo

OUT = [results, fileNames ,dirPath]