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]