Hot from the press: pyRevit 5 🍾

Highlights

  • All versions of Revit, 2025 up and down, are supported, YES!
    It has been the case for 6 months, but we were greedy and tried to fix as much as we could before releasing. Huge thanks to @dosymep
    and @sanzoghenzo :pray:
  • New Iron Python Engines:
    • Default is 2.7.12
    • 3.4.2 available (expect bugs as this version dropped some of the modules used by some of the tools)
  • Cpython is still not fully supported, the task at hand is way too big for our current manpower
  • New Code Signing Certificate with Azure Trusted Signing

Changes

Tools

  • Preflight Checks
    • Extra preflight checks thanks to our hackathon participants ( @tay0thman @andreasdraxl @nasmovk )
      • CAD checks
        • Resolved #2423: Create CADAUDIT_check.py
      • Wall naming convention check ( Resolved #2453: walltypes_naming_convention_check)
        • Resolved #2453: walltypes_naming_convention_check
      • Coordinates check
        • Resolved #2425: Update radar_check.py - Code Cleanup, expanding tabulated info
    • New full audit tools, scans all linked models and report plenty of data + allow exporting that data to CSV
    • Improved #2348: Create levels_check.py
    • Improved #2349: Create grids_check.py
  • Color Splasher
    • Thanks to @NonicaTeam lots of fixes and a nice save and load scheme function
    • Complete cleaning and a dose of refactor to better match pyRevit standards
    • Resolved #2514: Color Splasher: Unwanted characters in filter name
    • Resolved #2494: fixes 2479 - color splasher
    • Improved #2457: color splasher update
    • Resolved #2355: Color splasher ‘DataTable’ issue : full_frame: true
  • Copy Sheets
    • Resolved #2513: Precision on the tool behaviour: copy sheets
  • Convert lines
    • Resolved #2509: Convert lines closing event
  • Resolved #2387: New Tool - Move Viewport label
  • Fixes
    • Resolved #2461: cycle family types

Engines

  • Resolved #2538: fix: Handle netcore/netfx folders in CLI runner path resolution

Runtime

  • Resolved #2427: Loader refactor
  • Resolved #2363: fix net folder
  • Resolved #2356: Update HyperlinkEngine.cs

Python 3

  • Improved #2422: IronPython 3 Compatibility and Update for xlrd & xlsxwriter

IronPython

  • Improved #2422: IronPython 3 Compatibility and Update for xlrd & xlsxwriter

DotNet API

  • Resolved #2395: Update ScriptConsole.cs

Command Line Utility (CLI)

  • Brought back the DLLs in the repo to maintain the usability of clones for now
  • Resolved #2539: loading pyRevitLabs.json in PyrevitCLI manually if assembly is not found
  • Resolved #2510: Update pyrevit-hosts.json
  • Resolved #2427: Loader refactor

Wiki

  • Complete review adding the docstring for better documentation and usability
    • Improved #2523: query module docstring review
  • Developer Guide by @sanzoghenzo :champagne:
    • Resolved #2511: Update dev-guide.md
  • Fixes
    • Resolved #2517: docs: make the text in the logo follow the site theme
    • Resolved #2515: docs: remove doc_mode

Runtime

  • Resolved #2516: fix(config): allow concurrent access to pyrevit_config.ini @sanzoghenzo
  • Resolved #2428: CRITICAL [pyrevit.runtime] Can not find required reference assembly: System.Drawing.Common

Extensions

  • Resolved #2460: Added Pam Building Design+ extension
  • Resolved #2430: fix for update button in Revit 2025

Languages

14 Likes

Kudos.
Worth crossposting over on the DynamoBIM site…(?)

1 Like

I won’t but you can if you feel like it.

Great work!

In a bittersweet way the release delays also encouraged me to learn C# and migrate my companies tooling from pyrevit to inhouse addins, so an awkward thanks there also.

A lot of hard work and no doubt learning went into this process. Well done.

RE Dynamo forums i would only post it if the dyn capabilities of pyrevit are functional currently. We struggle a bit with taking some of the traffic there that should be coming to pyrevit forums lately.

1 Like

Massive thanks for all the effort @eirannejad @Jean-Marc @dosymep and all those who are worth mentioning but I forgot!

2 Likes

Thank you!
but the download link is not working… getting a 404

which one, the one on this page does.
Oh I see, the links in the release description.
Fixed
Please do try again

That’s good, right ;p
Kind of the way forward for any computational designer (to give it a name)

We could not put any energy into this one. This will be something that will be resolved in the coming weeks eventually, if so, this will be a dedicated release.
I got access to the wealth of knowledge of autodesk devs through ADN not long ago. I will try to leverage it as much as possible to get it fixed.

2 Likes

A valuable contact for dynamo via python and/or c# in netcore8 is likely John Pierson. He has a similar project called Relay which runs Dynamo scripts from command buttons:

He recently joined the dynamo team officially.

1 Like

Thanks @Jean-Marc (And all the other Busy Bees) for the hard work and coordination of the new update, I’m pumped to continue my great delving of this beautiful REVIT extension. :partying_face:

1 Like

I’m going to try and install PyRevit new version now. The previous version didn’t work in Revit 2025. I hope this one will ! Fingers crossed !

Unfortunately it still doesn’t work.

Revit 2025 crashes. I will open a thread hopefully someone can help me

It works for many of us.
You may want to check revit’s journal files

I really hope we can make it work too. We are baffled as to why it just refuses to work on our Revit 2025. Tested on 3 machines in our company, Revit 2025 crashes everytime, even when disabling all other plugins. We currently have 2 IT people looking into it + our Revit guy + myself. I really hope and pray the gods that we can make it work ! I’ll send the journal files tomorrow

1 Like

is the crash only related to 2025? or on every version? If it is a company-wide I have a feeling that it may have something to do with security platforms such as Sentinel-one

Yep, hard crash = probably sentinel one

1 Like

I just installed the latest version of pyRevit (5.1.0.25094) to use the Color Splasher Save/Load Color Scheme for my MEP spaces and Zones and noticed it is detecting less elements.

Latest version: 6 types detected

Older/previous version (v4.8.16.24121): 9 types detected

Bug or were these removed?

The color splasher was refractored extensively almost rewritten from scratch. and the exclusions you are referring to are intentional, if you disagree, submit an issue on Github and the good people here are willing to help you.

# Categories to exclude
CAT_EXCLUDED = (
    int(DB.BuiltInCategory.OST_RoomSeparationLines),
    int(DB.BuiltInCategory.OST_Cameras),
    int(DB.BuiltInCategory.OST_CurtainGrids),
    int(DB.BuiltInCategory.OST_Elev),
    int(DB.BuiltInCategory.OST_Grids),
    int(DB.BuiltInCategory.OST_IOSModelGroups),
    int(DB.BuiltInCategory.OST_Views),
    int(DB.BuiltInCategory.OST_SitePropertyLineSegment),
    int(DB.BuiltInCategory.OST_SectionBox),
    int(DB.BuiltInCategory.OST_ShaftOpening),
    int(DB.BuiltInCategory.OST_BeamAnalytical),
    int(DB.BuiltInCategory.OST_StructuralFramingOpening),
    int(DB.BuiltInCategory.OST_MEPSpaceSeparationLines),
    int(DB.BuiltInCategory.OST_DuctSystem),
    int(DB.BuiltInCategory.OST_Lines),
    int(DB.BuiltInCategory.OST_PipingSystem),
    int(DB.BuiltInCategory.OST_Matchline),
    int(DB.BuiltInCategory.OST_CenterLines),
    int(DB.BuiltInCategory.OST_CurtainGridsRoof),
    int(DB.BuiltInCategory.OST_SWallRectOpening),
    -2000278,
    -1,
)

logger = get_logger()  # get logger and trigger debug mode using CTRL+click