An especially interesting Forge accelerator is coming up, and how to handle Revit add-in language resources – Upcoming Forge accelerators – AEC focused Forge accelerator Waldspirale – Internationalisation using .NET language resources... Read more →
An especially interesting Forge accelerator is coming up, and how to handle Revit add-in language resources – Upcoming Forge accelerators – AEC focused Forge accelerator Waldspirale – Internationalisation using .NET language resources... Read more →
Posted on January 19, 2021 at 11:00 in .NET, 360, Accelerator, Architecture, AU, BIM, Cloud, Forge, Getting Started, I18n | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Philipp Mueller highlights a set of BIM360 user management scripts and Diego Rossi shares two useful GitHub repositories – BIM360 user management scripts – External application with Prism goodies – Revit add-in dotnet template... Read more →
You should always keep things simple (I think).
The opposite can lead to racking your brain.
In one case at least, that can easily be avoided by using a using
statement
– Avoid brain racking by using using
– On the VS operation unspecified error
– Native sons...
Read more →
Posted on October 12, 2020 at 11:00 in .NET, Debugging, Music, Philosophy, Transaction | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A few interesting threads from the Revit API discussion forum and AI news – Revit add-in code signing YAML – Preview control rotates model – Element type predicates – AI ethics... Read more →
Posted on September 01, 2020 at 11:00 in .NET, AI, Filters, Installation, Security, Settings, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Cool topics to wrap up this hot and exciting week – Are you using the derived analytical model? – Pick room in current project or linked model – Determine whether custom export was cancelled – Multi-threading with the single-threaded Revit API – Beginner’s guide to abstraction... Read more →
Lots of exciting items to share – No cost for Autodesk University 2020 – AU voting suggestion – Modeless Revit add-ins – Virtual AEC and BIM360 hackathon – Do not print by category – Using the new unit API to display length of multiple lines – Job opening in Developer Advocacy and Support – Intro to synchronous versus async programming... Read more →
I begin this week with a rather mixed bag of interesting issues from the last – Get MEP duct shape update – Determining differences between DLL versions – BipChecker facelift – Fonts with '@' prefix... Read more →
Posted on June 22, 2020 at 11:00 in .NET, Data Access, Debugging, Parameters, Settings, Update, User Interface, WPF | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today, let's address a couple of quick questions and share a useful utility – How to determine Revit export image coordinates – Problems compiling and installing the Revit SDK samples – RvtVerFileOpen utility opens correct RVT file version – Angular and react tutorials – Give and take... Read more →
Posted on May 29, 2020 at 11:00 in .NET, Algorithm, Export, External, Geometry, Getting Started, Open Source, Philosophy, SDK Samples, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I hope you are happy and healthy and enjoyed your Easter eggs! During the holiday, I updated RevitLookup for Revit 2021, and Harry Mattison added his multi-release building enhancements into the main solution as well – Revit 2021 add-ins require .NET 4.8 – RevitLookup flat migration to Revit 2021 – Support for multi-release building... Read more →
Posted on April 14, 2020 at 11:00 in .NET, 2021, Deployment, Installation, Migration, RevitLookup, Settings, Update | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Here are two important utilities, one eagerly awaited, the other a nice surprise: the updated REX and Structural analysis SDKs and a powerful async
and await
wrapper for the Revit API external event
– REX SDK and Structural Analysis SDK 2020
– Revit.Async
– Background
– Standard approach
– Revit.Async approach...
Read more →
Kennan Chen perfected his family instance placement monitor by elegantly combining the Revit API with additional .NET timer and multi-threading functionality in a novel fashion seldom seen in a Revit add-in... Read more →
Posted on February 21, 2020 at 11:00 in .NET, Algorithm, Events, External, Modeless, Selection, User Interface, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
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 →
Posted on February 11, 2020 at 11:00 in .NET, AppStore, Clipper, Geometry, Getting Started, Macro, Material | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
async
and await
external event wrapper!
Communicating from outside with Revit is often better replaced by the Forge Design Automation API for Revit.
However, it is also possible to make use of Revit as a server in a limited way via an external event
– Communicating with another process
– Autodesk open positions...
Read more →
Quick notes on two recent interesting Revit API discussion forum threads
– Unit testing
– UsesInstanceGeometry
IFC utility method...
Read more →
I successfully made it from Switzerland to Paris and the Forge accelerator in spite of the French strikes. My only worry is how to get back again tomorrow. Again, the train I have booked has been cancelled. Meanwhile, let's take a look at – DA4R room support and new samples – Effective filtered element collection... Read more →
Posted on December 10, 2019 at 11:00 in .NET, Accelerator, Algorithm, DA4R, Element Relationships, Filters, Forge, Performance | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Family symbols, aka family types, should normally be relied on to be constant. However, since families and types can actually be edited at will, they are sometimes not. Hence, the need to check and compare may arise... Read more →
Posted on December 09, 2019 at 11:00 in .NET, Content, Family | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today is my birthday, so I am trying hard to work less. Very kindly, Alexander Ignatovich provided a gift for the day in the form of a new external command CmdElectricalLoad in The Building Coder samples. showing how to retrieve the value of the `Load` column in the electrical system browser for a specific fixture family instance... Read more →
Posted on November 26, 2019 at 11:00 in .NET, Data Access, Parameters, RME | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
This is The Building Coder post number 1800, in its eleventh year of existence. We celebrate by highlighting the integration of a 3D geometry and model viewer in a Revit add-in with a solution making use of several interesting techniques, including the use of IPC for add-in disentanglement from third-party library dependencies and a new custom exporter implementation for OBJ. This issue was raised in two discussions, on a plug-in that displays Revit's 3D window content and using a geometry viewer in a Revit add-in to preview results... Read more →
Today I highlight the following topics – I caved in to smartphone – Handling third party library DLL conflicts – Replicating schedule sort order... Read more →
Posted on November 19, 2019 at 11:00 in .NET, Algorithm, Debugging, External, Installation, News, Schedule | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today, we highlight two contributions by HÃ¥vard Leding and Oliver Green – 2D Boolean interactive real-time sketch viewer – Single-click automated PDF report via InDesign – Abbreviated table of technical contents... Read more →
Posted on November 07, 2019 at 11:00 in .NET, AU, COM, Geometry, Getting Started, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A small enhancement to the Visual Studio Revit Add-in Template, and another interesting little AI surprise – Template tags for Visual Studio 2019 – My wizard works again – OpenAI plays hide and seek and breaks the game... Read more →
A new Revit add-in unit testing framework, a short note on support assembly locations, and an article on importing PDF files
– Revit.TestRunner
runs unit tests in Revit
– Getting started with TestRunner
– Unconfusing support assemblies
– Importing PDFs made easy...
Read more →
Posted on October 08, 2019 at 11:00 in .NET, 2020, Debugging, Docs, Installation, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A search for Revit API related books, a very nice new Revit API starter kit, a richer and much more complex literary AI-related book, and a quick bottleneck steel guitar blues recording not related with any technical topic whatsoever – A very basic book on Revit API – Revit API starter kit – Machines like me – Bottleneck blues guitar... Read more →
Posted on October 07, 2019 at 11:00 in .NET, AI, Deep Learning, Docs, Getting Started, Music, Philosophy | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Preserving another couple of interesting recent threads from the Revit API discussion forum on various extensible and external topics – Extensible storage reading trouble – External event implementation – External DLL loading – External side face of a pipe... Read more →
Posted on September 26, 2019 at 11:00 in .NET, Data Access, Events, External, Geometry, Storage | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Several user interface related topics are being discussed in the Revit API discussion forum – Keep my form on top of Revit! – Creating buttons and getting started with an add-in UI – Integrating a web-based UI... Read more →
Posted on September 25, 2019 at 11:00 in .NET, Events, External, Modeless, Ribbon, User Interface, Win32, WPF | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Please note that the European Forge DevCon in Darmstadt is looming imminent. Furthermore, here are some notes on two recent Revit programming discussions and a pointer to some of the top-rated online classes – DevCon Darmstadt – Personal DevCon invitation from Jim Quanci – Sun direction adjusted for project true north – Reading an RVT file without Revit – The top 100 free online courses... Read more →
An important Revit add-in requirement regarding Transport Layer Security (TLS) settings, a short note on accessing PDF image data from an import instance, and an update of the Collada DAE custom exporter for use in Revit 2020 – Required Transport Layer Security (TLS) settings – Accessing imported PDF image data in Revit – Custom Collada exporter updated and fixed... Read more →
Posted on September 06, 2019 at 11:00 in .NET, Data Access, Export, External, Migration, Settings, Update | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Here are some topics that came up last week – Dynamo Zero Touch Node Revit element wrapper – Loading a .NET assembly from a memory stream – How to become a successful freelancer – Talking about memory streams, I hiked up Rio Chillar in Nerja, Andalusia... Read more →
Posted on August 19, 2019 at 11:00 in .NET, Dynamo, Philosophy | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I am back from my break and picked up the question about creating dimensions for a filled region boundary – Programmatically creating dimensions for a filled region – Coding suggestion – Final solution... Read more →
Posted on August 05, 2019 at 11:00 in .NET, Data Access, Dimensioning, Element Creation, Geometry | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Topics for this week – Revit public roadmap July 2019 – Rebar curves – Built-in zip utility for add-in wizard – Only detail section views can be used for top view direction – Displaying an RFA family instance in DA4R – Revit 2020 alters the TEMP file system variable – Lattice multiplication... Read more →
Yesterday, I implemented a new add-in, RoomVolumeDirectShape, that creates DirectShape
elements representing the volumes of all the rooms
– Request to display room volumes in Forge SVF file
– RoomVolumeDirectShape functionality
– Retrieving all element properties
– Converting a .NET dictionary to JSON
– Generating DirectShape
from ClosedShell
– Complete external command class Execute
method
– Sample model and results
– Challenges encountered underway
– Cherry BIM Services
– On the value of the "Loss Method" property
– AI-generated talking head models...
Read more →
The open source space around the Revit API is continuously growing richer, solutions are shared and exciting discoveries are made, both in the Revit API discussion forum and elsewhere – Debugging, code signing and HOK Mission Control – Creating connectors on a reference line... Read more →
Today, let's present a benchmark monitoring filtered element collector performance. First, however, a quick note on a very useful Forge learning resource – Forge learning resource – Filtered element collector benchmark... Read more →
Posted on May 16, 2019 at 11:00 in .NET, DA4R, Filters, Forge, Performance, Win32 | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
The pyRevit rapid application development environment can be used for the entire add-in lifecycle, supporting rapid debugging, testing and deployment as well. I successfully implemented invoking an external command defined in a stand-alone Revit plugin assembly from pyRevit! It's proving extremely useful... Read more →
Posted on May 09, 2019 at 11:00 in .NET, Debugging, Installation, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today, yet another introduction to Forge, a simple issue of setting the level of a floor element, and the much more complex one of gaining freedom and total independence via IPC – What is Forge? – Changing the level of a floor – Entanglement can be hell – CefSharp entanglement – Disentanglement and independence via IPC – Beer-ware license... Read more →
Posted on April 10, 2019 at 11:00 in .NET, 2019, Architecture, External, Forge, Library, Parameters, Win32 | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today I discuss (once again) an important performance aspect of Revit element filtering, a Python script for tagging JPEG images with EXIF data, prompted by a recent ski tour, and three other interesting topics that caught my eye – Slow, slower still and faster filtering – Python JPEG EXIT filename tagging – TED talks and population growth – Objective reality does not exist – Artificial intelligence judge... Read more →
Posted on April 08, 2019 at 11:00 in .NET, AI, Filters, News, Parameters, Performance, Photo, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today, let's look at the Forge architecture, Revit add-in debug, edit and continue, and yet another RevitLookup enhancement – High-level picture of Forge – Debug and continue in a Revit add-in – Snooping appearance assets... Read more →
Posted on March 26, 2019 at 11:00 in .NET, Architecture, Data Access, Debugging, Forge, RevitLookup, Update | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
As usual, I have been much too active in the Revit API discussion forum recently and worked too little for my taste here in the blog. Here are some of the recent items that I want to share plus a few pictures from my latest mountain outing – Marat's shapka ushanka and Balmer's Graetli – Naveen is a top solution author now – Revit et BIM en Français – Tree view performance optimisation – Underture... Read more →
Posted on March 01, 2019 at 11:00 in .NET, Algorithm, Architecture, BIM, Climbing, Fun, News, Performance, Photo | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Some interesting settings are stored in and can be modified by editing the Revit ini file. Peter @pgerz pointed out yet another possibility in his answer to the Revit API discussion forum thread on adding a project template to 'New Project' via API. Question: I noticed the UI method for adding a project template to the 'New Project' dialog on the Start Window by going to Options > File Locations and clicking the little plus symbol... Read more →
Posted on February 12, 2019 at 11:00 in .NET, External, Settings | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I am working on extracting room and zone information from IFC files, both geometry and relationships, specifically room and zone boundaries and containment.
My new IfcSpaceZoneBoundaries add-in project retrieves this information, exports it to CSV and demonstrates a host of other important aspects
– What happens on linking in an IFC file?
– Read user configuration input settings from a file
– Log messages, warnings and errors to an output file
– Read the IFC properties stored as shared parameters
– Extract the horizontal boundary information from a DirectShape
element
– Export the relevant data to CSV
– Programmatically link in an IFC file into a Revit RVT project
– Retrieve all currently linked-in IFC files from the Revit application...
Read more →
Posted on February 01, 2019 at 11:00 in .NET, Algorithm, Data Access, Geometry, IFC, JSON, Links | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Here are a couple more Revit API discussion forum threads well worth highlighting – Retrieve rebars attached to structural element – Installing the .NET framework 4.7 for Revit 2019.1 add-ins – Importance of fuzz for curtain wall dimensioning... Read more →
Posted on December 11, 2018 at 11:00 in .NET, 2019, Dimensioning, Element Relationships, Geometry, Migration, RST, Update | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Let's tackle a 2D fire rating zone intersection task. Actually, it was originally raised a 3D intersection task. Reducing it to 2D makes it much more tractable – 3D solid extrusion creation and intersection task – 2D area intersection task – Jack's sample and description – Soffit subdivision sample code – Cleanup and GitHub repository... Read more →
The November Forge DevCon keynote address has been published. Fittingly, some new hints on accessing Revit models from BIM360 – Forge DevCon 2018 keynote – Accessing BIM360 models... Read more →
Posted on December 04, 2018 at 11:00 in .NET, 360, BIM, Cloud, Data Access, DevCon, Docs, Forge | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
We need to migrate our tools to AutoCAD Architecture 2019. I see no information on the new API, although it has obviously been modified. Can you share a link? ... Read more →
Posted on December 01, 2018 at 11:00 in .NET, 2019, ACA, Docs, SDK Samples | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Access to the Revit main window handle changed in Revit 2019, raising a couple of questions
– Making Revit the add-in parent
– The Revit 2019 MainWindowHandle
API
– Docking system and multiple main window explanation
– Updating The Building Coder samples...
Read more →
Posted on November 15, 2018 at 11:00 in .NET, 2019, Migration, Update, User Interface, Win32 | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
If you are interested in Forge programming, don't miss the upcoming deadline for proposals for the Boston Forge accelerator! Looking at the Revit API, I migrated my sample demonstrating how to enable ribbon items in zero document state to Revit 2019. Let's look at that, and another recurring topic, on loading add-in support DLLs – Migrating the ZeroDocPanel to Revit 2019 – Loading add-in support DLLs – Rome and Boston Forge accelerators... 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 →
Posted on September 10, 2018 at 11:00 in .NET, Climbing, Events, External, Getting Started, Macro, Modeless, Philosophy, Photo, Transaction | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I updated the Visual Studio Revit C# and VB add-in templates for Revit 2019. They enable you to create a new C# or VB Revit add-in in Visual Studio with one single click on File > New > Project... > Visual Basic/Visual C# > Revit 2019 Addin and define a complete skeleton Revit add-in, ready to immediately compile and run, including an add-in manifest file, external application and external command. Just hit F5 to start debugging; the add-in manifest is installed, Revit launched and the command is immediately available... Read more →
Posted on September 06, 2018 at 11:00 in .NET, 2019, Getting Started, Migration, Update, Utilities, VB | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today is The Building Coder's tenth birthday! The first post was a warm welcome on August 22, 2008. Very many thanks to the entire community for all your support, interest, comments and above all numerous contributions over the years! Today, let's pick up the recurring topic of accessing the Revit API from a modeless context... Read more →
Posted on August 22, 2018 at 11:00 in .NET, Events, External, Idling, Modeless, SDK Samples, User Interface, WPF | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
The UpCodes AI team shared some significant Revit Test Framework improvements – Created a NuGet package – Added the ability to group tests by the model – Added ability to use wildcards for model filenames – Clear messaging and indication of failures... Read more →