Revit 2025 has been released and the new Revit API is now based on .NET Core
– PackageReference versioning support
– RevitLookup 2025
– Revit developer starter kit
– Revit 2025 macros with Visual Studio 2022
– Cheap Chinese AI chip...
Read more →
Looking at Revit macro usage, add-in manager debug/trace functionality and journal analysis in Python and Dynamo
– Revit macro study shareback
– Add-in manager with debug trace
– Journal file analysis
– Plugging the HSL colour format...
Read more →
Exciting news around debugging and loading add-ins and adding formulas and scripting support to your own apps
– Open source Add-In Manager
– FormulaManager and scripting support
– Happy New Year of the Tiger 虎...
Read more →
I am too busy! Ouch! Here are just a few of today's topics
– BIM360 Question? Join Accelerator!
– What language to choose for a Revit Add-In?
– The Building Coder samples 2021 migration...
Read more →
Getting started material and questions galore.
Please search before asking, and work through the available material before trying to shoot yourself in your feet, knees, and elsewhere
– Marko's plugin development playlist
– Overview
– Table of contents
– Getting started with an API script
– Getting started with a macro
– OBJ mesh import with materials
– 2D Booleans in the Revit API...
Read more →
Joshua Lumley pointed out the recording he made for his BILT submission on five secrets of Revit API C# coding.
Before getting to that, here are a couple of pictures from this last weekend's mountain tour
– Ruessigrat, Brotmesser and Matthorn
– Five secrets of Revit API Coding...
Read more →
Today, we explore how to retrieve visible DWG geometry, i.e., geometry elements contained in a CAD import instance on a layer that is visible in the currently active view, and how to import an image to the foreground instead of the default background setting
– Retrieve CAD import geometry on visible layer
– Import image using foreground option...
Read more →
I am still in Munich supporting the one-week Forge accelerator workshop, returning back to Switzerland by train tonight. For ecological reasons, I prefer to avoid flying whenever I possibly can. Lots of exciting development is going on here, and we are making great progress. I have another important detail to report from the the RTC Revit Technology Conference Europe in Porto last week, and other little titbits to share as well
– Use AddInManager and attach to process to edit and continue
– Can I replace myself by artificial intelligence?
– Autodesk Design Graph
– Artificial intelligence recognises conversational speech
– Good portable loudspeakers...
Read more →
I am answering Revit API discussion forum threads and developer cases like crazy. Instead, as usual at this time of the year, I should be focussing and putting higher priority on the exciting upcoming events. I keep promising myself to do so and stop answering cases. Then I address just one more... Here are some of the upcoming events and recent Revit API issues
– Events – Forge Accelerators, DevDay, RTC and AU
– Accessing the MacroManager to Delete Document Macros
– Getting Started and Changing the Colour of a Wall
– Getting Started and Using the Visual Studio Revit Add-In Wizard Auto-Installer...
Read more →
I recently received requests for a migration of the macro samples provided in the Revit_Macro_Samples.rvt project. The version included in the Revit 2017 SDK miraculously is still based on Revit 2013 pre-release version, according to the update message displayed when opening it, and the macros cannot be executed successfully due to a number small Revit API enhancements made in the intervening years
– Problem
– Solution – Sam comes to the rescue
– See the diffs on GitHub...
Read more →
@kfpopeye discovered and fixed an issue with complex fill patterns in the venerable old WPF Fill Pattern Viewer Control, part of the AddMaterials Revit add-in to load new materials into a project based on a list defined in an Excel spreadsheet
– Original implementation for Revit 2011
– Reimplementation for Revit 2014
– Improved error messages and reporting
– WPF FillPattern viewer control
– Check for already loaded materials
– FillPattern viewer benchmarking...
Read more →
I am presenting three classes at the Revit Technology Conference RTC
– Autumn walk over Schauenburg
– Full moon fire
– Revit 2016 R2
– Session #44 Connecting the Desktop and the Cloud
– Session #130 The Building Coder Chatroom
– Session #161 Getting Started with Revit Macros...
Read more →
Let's reiterate a question that comes up quite regularly, on live development, i.e. debugging and editing your code without having to restart Revit and reload a model every time you make a change. First, however, let me say a few words about the new share bar. The Building Coder Share Bar I spent a couple of hours last night adding the share bar that you now see on the right hand side. Kean Walmsley added a ShareThis button to Through...
Read more →
Here is a write-up by Andy Holmes, Integration Specialist at OPX design consultancy on a Ruby project that uses a lot of different Revit API features, e.g., revisions on sheet, DMU updaters, Idling and document events, and creating a Ruby 'add-in' by using an application-level macro that has no macros in it. This write-up will soon be made available on the redesigned OPX website, and the code is already freely available on GitHub. Andy adds that Mat is colleague who...
Read more →
Here is a recent surprising little issue on using the Revit PreviewControl widget in the macro environment, brought up by Stephen Faust of Revolution Design: Question: I would like to use the preview control to display previews of parts of the model. However, whenever I try to create a preview control it gives me the error "Revit does not support more than one preview control and there is already one active": I have searched online and I found the UI...
Read more →
How to reload an external Revit command without having to restart the Revit session has been a subject of discussion many times in the past, e.g. in reloading an add-in for debug without restart, which lists four possibilities: Set up Visual Studio to efficiently load the desired project and the debugee, use the standard cycle hitting F5 to start debugging, and stop debugging when you need to make code changes. Use the RevitRubyShell or RevitPythonShell to work interactively with the...
Read more →
You can close an open Revit document programmatically. Unfortunately, though, this only works for all except the last one. People keep running into this issue, of course. It even motivated René Gerlach to implement a workaround using SendKeys.SendWait to send an Alt-F4 keystroke to Revit to close the active window, and Arnošt Löbel to warn gravely against its use and even publish a Windows message workaround disclaimer. Well, happily, such an adventurous workaround is not at all required. Another workaround...
Read more →
Advent, advent! Yet another Revit API focused blog is born! Harry Mattison, ex Revit API development team, has initiated Boost Your BIM and kicked it off with a series on using the built-in SharpDevelop development environment Revit macros to resolve duplicate tags: Finding elements Finding only family instances Get & set parameter values Transactions and wrapping up Thank you, Harry, and the best of luck to you and your new blog! Dances with Elephants Also, for a more high-level strategic...
Read more →