Pickles for Dynamo/Revit

Hey hey Dynamo community, just dropping a thread to share that I’ve finally released the first version of my new Dynamo package to the package manager in Revit 2025-2027, Pickles.

For anyone that has used my other package Crumple in the past, this is effectively its spiritual successor, written entirely in C#/zero-touch node style. In keeping in the spirit of the open community that helped me learn how to do most of this, I’ve kept the source code open on github to assist others, but will do my best to use Package manager as its ‘home’ for deployment for now:

I’d be keen to get feedback or thoughts from any users currently benefiting from Crumple, or just curious to try out a new package. In addition to Crumple’s previous range of nodes, you will also now find features such as:

  • A data pickling system (under the Data nodes), which will let you cache Elements in Revit and core data types to either the Dynamo graph, or your local machine. This in turn allows you to ‘bind’ these pickled objects to the graph or machine for future sessions, which you can collect using dedicated nodes or even a set of dropdowns which let you pick from the pickled Elements in Dynamo or Dynamo player.
  • A range of straightforward Wpf based UI nodes, such as a ListView, Dropdown, EnterText, Message, Select folder, Select File(s). They’re more rigid than Data-Shapes, but pack some additional utility - particuarly the ListView which has an integrated text filtering system for the keys
  • Nodes for defining location settings (or getting them from Revit), and using them to construct vectors for the position of the sun, without depending on Revit’s own systems
  • Family processing nodes, which are now built to work with levels/lacing instead of rigid matrix structures like Crumple
  • A wide range of fixed dropdown nodes, and a few that overlap with the ones in Dynamo OOTB but with arguably clearer keys to choose from (e.g. View Templates prefixed by their ViewType)
  • Any nodes that collect from Documents also accept other Documents and LinkInstances as inputs to collect from them instead
  • I’ve wrapped Revit.DB outputs into native Dynamo wrapped objects wherever possible, enabling better cross integration with Dynamo OOTB and other custom packages than what Crumple did before

Fingers crossed V1 (26.9.20XX) is relatively clean and functional, but feel free to leave any feedback here or on the github if it’s an issue specifically that you come across.

A big thanks to @JacobSmall for guiding me through some of the hurdles, and a massive thanks to @john_pierson for guidance as well as providing Rhythm’s source to the community - it was pivotal in helping me learn how to put Pickles together, definitely standing on the shoulders of giants here.

For those that do use Crumple, it is effectively being shelved in lieu of Pickles in future (but will remain on the package manager). I appreciate all the users and feedback for the package, and hope this package continues to server your needs as AEC professionals out there.

In my day-to-day work, I find myself using Dynamo less often each year, but it still remains a crucial tool in my tool belt - whether that’s testing geometric concepts in the Revit API or turning around a quick solution for another user who needs it right now. I still stand by it being the BEST entry point into AEC programming for non-programmers, AI be damned.

Pickles will personally help me carry some of the power of my add-in work back into Dynamo, and in that sense it feels like a bit of a culmination of my time as a Dynamo content creator. I think I am probably hanging up a few of those shoes now, at least for the time being.

I’ll certainly maintain Pickles going forward, and I hope it becomes a useful culmination of the work I’ve done over the years as the Aussie BIM Guru. I’m incredibly grateful to everyone who has used Crumple, followed along with my tutorials, read something I’ve written, answered one of my noobier questions in my early days, put up with my Python tunnel vision, or helped me learn something along the way. Here’s what I can give back, for now.

I’m still here - just stretched across a few more places at once than I used to be.

Enjoy!

Amazing stuff @GavinNicholls ! Will have to check it out some more!

Appreciate you open sourcing and sharing with the community as well. Definitely love seeing these kinds of posts on here.

Great work as always @GavinNicholls!

One more note. Adding package compatibility info would be awesome. It can be done on dynamopackages.com

Yes i did notice 2026+ offered it in the pubpish options but 2025 didnt. Currently im doing the publish lowest r25 version then publishing new versions after using the 26/27 dlls, will 2025 just have to exist prior to the compatibility changes or does dynamopackages get around it?

Yeah, using dynamopackages.com works around it.

For the recent archilab updates I actually published from Revit 2025-2027 and made sure it was all there in dynamopackages.com

The other thing is, Revit 2027 represents the first time we’ve seen this feature supported in 3 Revit versions which is huge for the package manager.

Done!

Well done to the team on the UI/UX for that process, very intuitive and moving forward no doubt a great assist for package downloading.

One to watch out for Gavin, on compatability of the dll’s and .net10 in respects to revit 2025/2026. I have seen the Revit 2026 update being released and this article says Revit 2025 update is out soon.

So may have a dynamo update that includes .net 10 within to V3.7 or V4?

Autodesk Developer Blog : Autodesk Desktop Products 2025/2026: .NET 10 Updates

Help | 2026.5 Update | Autodesk

Once it ships, yes. Until then, we’re stuck in limbo afaik, look forward to seeing the addin fallout. It wont be a clean switch, but once it lands I will be making the jump. I wont support both sides of that fence at once, but it will be great to target one setup on all versions, and gives me access to some nice things like DistinctBy in linq.

Ive intentionally used things that generally run nicely either way (haven’t got any 25/26/27 incompatibilities when I build, with 27 in net10 and prior in net8). Main challenge from what I understand is addins/packages using third party libraries that dont work cleanly between net8/10.

The good news: .NET8 is forward compatible to .NET10.

The bad news: .NET8 security issues will persist into .NET10, so security minded firms will start looking at blocking .NET8 dlls in mid November or sooner as .NET 8 stops being supported November 14th.

The take away: Updating anything you publish (add-in, Dynamo package, application, etc.) to the .NET10 framework early is in your best interest. There are ZERO valid users who don’t have access to the .NET 10 version of Revit, and if you wait until the phone rings about a security issue you’ll be stuck doing it reactively instead of proactively and that’s when errors and problems come out due to the lack of testing.

Lucky for me, most AEC firms arent security minded I guess… once weve got both versions itll happen, all good. My understanding is 2025 update is meant to ship mid September and Microsoft EOL’s net8/9 in November. 2 lines in my csproj, no sweat.

We’re generally on the ball where I work, and I can attest any medium or smaller firm neither has the inhouse expertise or connections to remain even slightly cogniscient of this stuff. Resellers are almost as useless, so many sales people/failed BIM leads masquearading as experts - not going to hold my punches there.

I feel like Autodesk vastly overestimates the willingness/capability of average firms out there to upgrade models or clients to permit upgrades. It’s a total mismatch, the message isn’t getting across to the right people.

We’re prepping for November with the ACC pre-22 switch-off, I know some clients still mandating R21 out there as all their models are in it currently and they don’t have the staff to facilitate the upgrades.

Anyway, popcorn at the ready.

Oh this is good that it is compatible as I was assuming it may not be or may have some issues between versions.

Myself and many other colleagues are working on that. The former gets educated everywhere I can. Owners are also being informed and revising their processes. It’s an education thing to inform ‘what the cost is to do the work’ which is very little (for many it is a single button press) vs the infosec risk if they don’t (significant). That this is the sort of thing that impacts any cybersecurity insurance payout helps as many owners are carrying such lately.

Fortunately the current trend is also moving away from old builds - I can’t share numbers but I can say that without a doubt there is less old builds than there used to be.

Three things on this.

  1. This is a client that needs some education around the cost to do the work vs the risk. I haven’t met an executive who says ‘no’ once they are informed, though you may get them from people lower to the ground. It’s always best the education come from someone they trust (meaning they already have a good relationship) but you can help redirect if need be - just reach out.
  2. If they are asking for models then they have the staff, so the later isn’t true. They just need to prioritize. There hasn’t been a scaled detrimental upgrade since Revit 2016 which introduced the text changes that were mostly automated around (much thanks to this very forum). Don’t let fear of work become the enemy of valid use.
  3. I have seen owners ask about adding contract language to drop firms who’re shown to have unsupported tools in their production environment. Likely an outlier, and likely one of those “put it in there so we can enforce it selectively” clauses, but if that starts to become the norm those clients holding to unsupported versions are going to have to show they’ll pay more than the potential work that’s being missed out on.

But yes…
:popcorn: :popcorn: :popcorn:

Note that compatible doesn’t mean ‘error proof’. Few things are revised enough between 8 and 10 to make it likely we’ll see issues, but I suspect Python based tools in 2025 will take another hit for some packages - most things will be fine though.