Hi all, given the export limit of the free version of DiRoots ProSheets, I’m making a PDF & DWG exporter (while I try and debate to my management that it’s worth paying for!).
I’ve got examples that work nicely for Revit 24 & 25, however our office has a stubborn project that is still in 22, and I can’t seem to get any Export PDF nodes to behave?
I’ve tried Crumple and Genius Loci.
There is no PDF export function in Revit 2022, you should use the PrintPDF tool instead
edit: Sorry, PDF export was added in 2022, i was wrong.
The PDF export was added in 2022 and the API seems to align from 2022 to 2024 on first glance. However there are deprecations in 2025 which might mean that a newer method was introduced in 2023 or 2024 which wouldn’t exist in 2022 and therefore would always fail.
That said, try 2023 and ignore 2022. That team should have upgraded by now (they are missing 3-4 months of security patches already and 2022 has had it’s fair share of bigger security issues due to the new PDF tools it introduced). As a minimum standard of care (not even best practice but literal minimum standard of care) the team should wrap up all work in the next two weeks or update to 2024 or later, or move to a black box environment where no data goes into or out of the systems which use 2022 beyond what is manually added (meaning no imports) or passes security review. Keeping projects active while in an unsupported version puts the entire project team at risk of an infosec incident.
1 Like
I know this is offtopic but..
Could you elaborate on this?
My company has several clients simply demanding we keep working in Revit2022 or even 2021.
What would you tell your client when they demand you continue the work in Revit 2022?
Whilst I no longer test in Revit 2022, all the necessary API is there and I don’t believe I’m using anything exclusive to 2023+.
Try this file and let me know if it throws an error, it’s using my Python code insitu with no pacakge dependency. Should attempt to export the first 5 sheets it finds:
TryToExport.dyn (15.1 KB)
My Python code for reference (I’ve hard set the options whereas in my package it takes a list of booleans from another node):
# Made by Gavin Crump
# Credit to Sean Page for sharing these methods via the forums
# https://forum.dynamobim.com/t/export-pdf-in-revit-2022-quick-example/62697
# Free for use
# BIM Guru, www.bimguru.com.au
# Boilerplate text
import clr
import os
clr.AddReference('System')
from System.Collections.Generic import List
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
# Import the references
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)
# Preparing input from dynamo to revit
directoryPath = IN[0]
sheets = uwlist(IN[1])
fileNames = tolist(IN[2])
# Collect and set export options
opts = PDFExportOptions()
opts.HideCropBoundaries = False
opts.HideScopeBoxes = False
opts.HideReferencePlane = False
opts.HideUnreferencedViewTags = False
opts.MaskCoincidentLines = False
opts.PaperFormat = ExportPaperFormat.Default
# Variables to append to
results, filePaths = [],[]
sheetList = List[ElementId]()
# Execute the batch export
for s, n in zip(sheets, fileNames):
# Set file name
opts.FileName = n
# Add sheet to a list
sheetList.Add(s.Id)
# Export and append the result
result = doc.Export(directoryPath, sheetList, opts)
filePath = os.path.join(directoryPath, n + ".pdf")
results.append(result)
filePaths.append(result)
sheetList.Clear()
# Preparing output to Dynamo
OUT = results
1 Like
Thanks! Given the dark mode I suspect that’s 2023 or higher which the user’s going OK with. Good to see it getting used though 
1 Like
For elaboration, see here: Security bulletins and advisories | Autodesk Trust Center
Look at the frequency of security updates for any given year, and know that for every month you are unsupported you are missing that many updates on average. When people complain of having to pay for subscriptions this is what they aren’t understanding. Unless you are in the black box environment (meaning never working with data you didn’t produce in the system, so never using a PDF or image from a 3rd party) you need to keep updated to stay secure.
What would you tell your client when they demand you continue the work in Revit 2022?
Perfect world? Get two quotes for cyber insurance: one for only using supported environments and one for unsupported environments. Then start including the cost differential as a line item on all your contracts which kicks into place the second you are asked to use unsupported software. In life insurance terms this is like the difference between a five year old with a clean bill of health and a blind 95 year old smoker who is taking up a career as a motorcycle stuntman.
Realistic world? Educate the person requiring this version on the reasons why they shouldn’t use old builds, and dispel the myths around why updating is problematic, and help them devise an update plan. Your Autodesk reps/resellers should be able to help with this if your IT/infosec team isn’t able to do so already.
It is 2026, everyone who has a valid license for Revit has the option of a modern build; no reason to version lock to anything unsupported other than being lazy or not planning ahead.
2 Likes
If only we had patches versus yearly versions like nearly every other vendor in AEC out there. I wont make this a rant about forced annual version bumps, but just sayin…
It’s rough convincing every firm they should be upgrading all teh models all teh time in reality. APS, ACC hub upgrades etc. but it’s still a manual hit of a button, reviews of why models didn’t upgrade etc. It’s not that idyllic in practice unless firms planned well ahead, and most didn’t.
But… if a firm demands someone holds back in an old build that’s a different story, and I agree that’s not a good strategy for them to force upon others - in fact I regularly have to say no to these types of requests from larger clients, and it’s never a fun discussion. But I get why it doesn’t play out in reality, especially for clients and owners who are lucky to even have a full time CAD manager let alone BIM/APS/ACC capable resource. Doesn’t help that upgrading large/complex models can be temperamental and slow as heck.
It would help if behind the scenes Autodesk was clearer in this recommendation, versus giving a lot of firms access to old builds if they complain loudly enough. At the tall end of town we can still get access to as far back as Revit 2019.
Anyway on topic I look forward to seeing if there’s any 2022 specific errors in the python/node in Crumple.
2 Likes
It would help if behind the scenes Autodesk was clearer in this recommendation
Please point me to any of my colleagues who says ‘just use the unsupported version’ so I can do some educating. 
It has been ages since I have seen them (new role makes this irrelevant to me), but if I recall the big firms who get the old builds usually sign something indicating they realize that the old version isn’t suitable for standard production environments (i.e. use outside of black sites which is a real use case everyone needs supported or critical infrastructure doesn’t get built due to the timeline for software environment approval sometimes taking 3 years).
2 Likes
Yes there is an agreement along those lines. As someone with other decision makers that can trump me I mean it’s be cool if didnt have that fallback as its path of least resistance and kicks the can down the road. Architects tend to take easy way out until the waters at the neckline.
2 Likes
@GavinCrump @jacob.small
Thank you both for the thorough replies. Very helpful!
2 Likes
Architects tend to take easy way out until the waters at the neckline.
This is 90% of AEC tech problems if you change ‘architects’ to ‘project decision makers’, as engineers, owners, GCs, subs, and fabrication shops always use what is already there even if the upgrade will save them 20% of the total billable hours…
1 Like