Standard filtering questions and a typical use of transmission data – Parameter filter to delete viewport type – Cannot delete type in use – Determine coordination model filepath – Unload links with transmission data... Read more →
Standard filtering questions and a typical use of transmission data – Parameter filter to delete viewport type – Cannot delete type in use – Determine coordination model filepath – Unload links with transmission data... Read more →
Posted on October 10, 2024 at 11:00 in External, Filters, Links, Parameters, Purge | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
How to handle problems with solid Boolean operations? – Revit Booleans and OpenCascade – CGAL solid Booleans... Read more →
More aspects of the Revit API from a modeless context – Background process and Revit API – Revit background processor – Effective Revit API context predicate – PostCommand context and view focus – Protect creativity with no AI – European Union AI Act – The Sakana AI Scientist – Plasma in high school nuclear fusion reactor... Read more →
Posted on August 27, 2024 at 11:00 in AI, Algorithm, Events, External, Fusion, Idling, Modeless, Performance | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Topics discussed in the past week – Simultaneous add-in and Revit interaction – Limited PDF printing speed – Family instance code samples – Apple intelligence foundation language models – LLM arena... Read more →
Deep Revit API questions requiring clarification and a simple database connection issue resolved
– Add-in threads
– GeometryObject
comparison methods
– Accessing Access
– The INTERCAL programming language...
Read more →
Posted on September 01, 2023 at 11:00 in .NET, Data Access, External, Fun, Geometry, Performance | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Using WebView2 in an add-in and other interesting little titbits from the Revit API discussion forum
– WebView2 and CefSharp in Revit add-ins
– Retrieve reference plane in element
– Remove revisions on sheets
– LandXML P
tag...
Read more →
Posted on October 27, 2022 at 11:00 in .NET, Data Access, Deletion, External | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
AU 2022 classes are available online now, as well as a new Dynamo book and resources project.
I also present some ongoing nitty-gritty discussions on external events and Idling
– Modern add-in deployment and testing
– Parametric curvature in families
– Awesome Dynamo online book project
– Launching command after closing form
– Chaining Idling events and other solutions...
Read more →
Posted on October 21, 2022 at 11:00 in .NET, Deployment, Dynamo, Events, External, Family, Idling | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Some new topics, and, as always, some recurring – Document session id – Valid Revit API context and external events – Determining RVT file version for DA4R workitem – Revit API via HTTP – Parable of the polygons... Read more →
Posted on November 11, 2020 at 11:11 in Architecture, DA4R, Events, External, Forge, Philosophy, REST, Server | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Topics for today
– Revit 2021 DisplayUnitType
– Eliminated TBC samples deprecated API usage
– Calculating the elbow centre
– FireRevit identifies room location for fire escape routes...
Read more →
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
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
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 →
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
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
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
I had an extensive discussion on automatically driving Revit from outside to auto-execute a simple functionality with no user input, originally implemented by an external command. Also, a big thank you to all for the numerous congratulations on The Building Coder's eleventh birthday – Auto-executing an external command – Eleventh birthday congratulations... Read more →
This post is somewhat overdue and hence rather full of various topics, mainly due to my struggles with my MacBook slowing to an unbearable crawl in the heat last week – Accessing BIM360 cloud links – Retrieve RVT preview thumbnail image with Python – Paolo's Dynamo primer and slide deck compendium – Slow MacBook with kernel_task using several 100% CPU – Failings of the political establishment... Read more →
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
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
Inundated with interesting topics, let's skim a few topmost ones off
– Passing an add-in custom command line parameters
– Useful methods help verify a Face
is rectangular
– Automate complex family creation
– C++ code extracts 3D line segments from point cloud
– Big data visualisation and storytelling...
Read more →
Posted on January 22, 2019 at 11:00 in Algorithm, C++, Cloud, External, Family, Geometry, Getting Started, SDK Samples | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
We return to
the question on how
to combine multiple transactions into one undo with a new answer by Arnošt Löbel, ex Senior Principal Engineer of the Revit development team
– How do I know how many transactions, and which ones, are assimilated into group?
– What if I start a transaction before starting a group (in the same API context) and then call Assimilate
, will this ahead started one also be assimilated into the group?
– I can leave the API context (external event or Execute
method) with the transaction group still open...
Read more →
Posted on November 10, 2018 at 11:00 in Events, External, Group, Transaction | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today, we proudly present a DLL for reading and writing RCP files, announcing the Reality Solutions SDK, providing full access to the Autodesk proprietary point cloud format – Announcing the Reality Solutions SDK – How do I access the SDK? – Discussion and support resources... Read more →
Posted on September 14, 2018 at 11:00 in Cloud, Data Access, External, RCP | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
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
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 →
Here comes another solution for efficiently compiling add-ins for multiple Revit version targets from one single code base, a note on resources for CAD term databases for consistent terminology translation, and a discussion on accessing custom texture maps in Forge and Revit
– Multi-targeting Revit versions using TargetFrameworks
– Further enhancement using the CSPROJ
Import
tag
– CAD terminology resources for consistent translation
– Showing a custom Revit texture map in the Forge Viewer...
Read more →
Posted on June 28, 2018 at 11:00 in .NET, Data Access, External, Forge, I18n, Installation, Settings | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Exciting news from Russia and some mundane updates on other repetitive topics – Driving Revit from a modeless context via a WCF service – Room walls' directions – Retrieving all exterior walls – Getting and setting a shared parameter value... Read more →
Posted on May 14, 2018 at 11:00 in .NET, Algorithm, Data Access, Events, External, Filters, Idling, Migration, Modeless, Parameters, SDK Samples, Server, WCF | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I installed the latest Revit update, and want to highlight two of the numerous interesting ongoing Revit API forum discussions
– Revit 2018.3 update
– Avoid SetValueString
– Passing Data via ExternalEvent.Raise
...
Read more →
Posted on April 10, 2018 at 11:00 in .NET, 2018, Algorithm, Events, External, Parameters, Python, Update | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A discussion with HÃ¥vard Dagsvik on the use of TransmissionData
, standalone access to the BasicFileInfo
without the need for a valid Revit API context, and a Revit-independent method replacing
Family
ExtractPartAtom
– No document required for TransmissionData
access
– TransmissionData
requires a valid Revit API context
– Standalone GetFamilyXmlData
method replacing ExtractPartAtom
– Windows explorer BasicFileInfo
right click utility...
Read more →
Posted on April 05, 2018 at 11:00 in .NET, Algorithm, Data Access, External, Family, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Dragos Turmac of the Revit development team solved the Revit API discussion forum questions on contextual help not working from within a command and on F1 help for add-in only by explaining the current best practice to implement online help – Question: I'm trying to add contextual help for all commands (press F1 to go to a location). It's working fine when the tooltip is shown for my commands, but, when the add-in form is open, pressing F1 opens the Autodesk knowledge site for Revit instead... Read more →
Posted on March 13, 2018 at 11:00 in .NET, Events, External, User Interface, Win32 | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
We discussed several approaches to read the BasicFileInfo
and RVT OLE storage, aka COM Structured Storage, to retrieve stuff like the file version and preview image, and, more lately, alternative access to BIM data via Forge...
Read more →
Posted on June 22, 2017 at 11:00 in .NET, Data Access, External, Python, Storage | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
We are currently being flooded with questions about a topic that has already been discussed repeatedly and in depth in the past, external access to the Revit API. Possibly, the cause is the growing interest in implementing web driven solutions to generate RFA and RVT files. It is in fact possible to implement a web server driving Revit in the background to execute such tasks, as demonstrated by the old sample showing how to drive Revit through a WCF service and other examples listed in the topic group on Idling and external events for modeless access and driving Revit from outside – Revit I/O and Forge – Question – Answer... Read more →
I implemented a neat new little sample add-in, RvtFader, that calculates and displays signal attenuation caused by distance and obstacles, specifically walls. It uses two very interesting pieces of Revit API functionality – AVF, the Analysis Visualisation Framework, for displaying graphical data in a transient manner directly in the BIM – The ReferenceIntersector ray tracing functionality to detect walls and other obstacles between two points. In the course of implementing the AVF part of things, I also resuscitated my trusty old RevitWebcam add-in – RevitWebcam – RvtFader – Task – Implementation – Further Reading... Read more →
I am away on vacation. In the meantime, Roman Lavrov shared his Revit Family Browser, saying: I am working on family browser for Revit using Revit API and WPF. Your blog helps me a lot, so I decide to share my work with you. I think, some ideas will be useful for other coders. If you have time, please take a look my program on GitHub at github.com/RomanLavrov/RevitFamilyBrowser... Read more →
Last week, I presented Andrey Bushman's new Visual Studio templates for Revit add-ins. Furthermore, we discussed many aspects of edit and continue in the past, including the solution to use the Add-in Manager. These two topics have now met and united, because Andrey added support for that and a bunch of other new functionality in his commit... Read more →
Posted on February 20, 2017 at 11:00 in .NET, Debugging, External, Getting Started, Installation, Update, Utilities, Wizard | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I have been maintaining a simple Visual Studio Revit add-in wizard for a number of years. Now Andrey Bushman implemented a set of more advanced and convenient Visual Studio templates for creation of Revit add-ins for his own use. The discussion of those led us to once more revisit the topic of the Visual Studio settings for debugging Revit add-ins – New Visual Studio 2015 templates for Revit add-ins – Use Managed Compatibility Mode or Enable Native Code Debugging? – Machine learning software engineer job in Switzerland – FreeCodeCamp... Read more →
Posted on February 14, 2017 at 11:00 in .NET, Debugging, External, Getting Started, Settings, Utilities, Win32, Wizard | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Here is a summary of the discussion and solution for setting ActiveView
during the Idling
event from the Revit API discussion forum raised and solved by Rudi 'Revitalizer' and Kinjal Desai; As per API documentation, this operation should not be invalid: no open transactions; IsModifiable
is ok; IsReadOnly
is ok; No pre-action events around. However, trying to do so throws an InvalidOperationException
with the message "Setting active view is temporarily disabled"...
Read more →
Posted on February 09, 2017 at 11:00 in 2015, Events, External, Idling, User Interface, View | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A large contribution today from Andrey Bushman, and a couple of upcoming Forge events
– Supporting multiple language resource files
– Creating and using localised resource RESX
files
– Upcoming Forge accelerators...
Read more →
Posted on February 03, 2017 at 11:00 in .NET, Accelerator, Events, External, Forge, I18n, Ribbon, Settings, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I revisited the custom tooltip implementation that I prepared to demonstrate the Revit 2013 API features including the View API and its UIView
class. It class still provides the only possibility to convert back and forth between Revit model coordinates and Windows device screen points. That functionality can be combined with the ReferenceIntersector
to shoot a ray through the model to determine what Revit database element is located under the current cursor position and display a custom tooltip presenting information about it or anything else you please...
Read more →
Lots of information on, from and about schedule parameters, and a new elegant solution to a long-standing challenge – Direct access to shared parameter GUID – Getting parameter information from a schedule... Read more →
Posted on January 23, 2017 at 11:00 in Algorithm, Data Access, External, Parameters, RevitLookup, Schedule, User Interface, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
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 →
Posted on October 27, 2016 at 11:00 in Debugging, External, Getting Started, Macro, News, SDK Samples | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I am in the last stages of preparing my presentation this afternoon on connecting the desktop and the cloud for the RTC Revit Technology Conference Europe. For your and the audience's convenience, here are the materials I am presenting, and some of the main links to further information – Handout – Slide deck – Recording – Samples Connecting Desktop and Cloud... Read more →
I completed the roomedit3dv3
project
– Enhancements to the Forge Node.js boilerplate code
– RoomEditorApp Revit add-in update
– Roomedit3dv3 demo recording
– Samples connecting desktop and cloud
– Forge Webinar Series 5 – Design Automation API...
Read more →
My discussion with Philippe on integrating roomedit3dv3
with the rest of his Forge node.js boilerplate samples continues, as does the Forge hackathon webinar series. Furthermore, the Open Design Alliance made an interesting Revit related announcement
– REST vs WebSocket and Roomedit3dv3 broadcast architecture
– Teigha BIM announcement
– Forge webinar series...
Read more →
Posted on September 28, 2016 at 11:00 in Cloud, Content, Data Access, Events, External, Forge, Getting Started, Hackathon, News, Viewer | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Topics for today
– How does code signing of Revit add-ins increase security?
– What happened to LoadCaseArray
?
– How and where to search for help on a Revit API question?
– Dynamo 1.1 Update...
Read more →
Posted on September 01, 2016 at 11:00 in .NET, 2017, Docs, Dynamo, External, Installation, Migration, News, RST, SDK Samples, Training | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Quite a few issues revolving around IFC came up lately in various ADN cases and in the Revit API discussion forum. Before getting to the technical stuff, some pictures from my latest mountaineering trip to climb Gross Spannort – Autodesk Forge Platform — Little machines – IFC import scaling issue – IFC open source C# library – Customising IFC import – IFC family support... Read more →
Posted on July 22, 2016 at 11:00 in External, Family, Forge, IFC, Open Source | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I am happy to say that I returned safe and sound to Switzerland from my travels for the Forge DevCon and Cloud Accelerator. Since then, I rounded off the hierarchical MEP system exporter to a JSON graph for interaction with it in the Forge viewer, worked on an update of the ADN JSON mesh exporter and helped my son Christopher getting started with C# scripting to drive audio effects for professional spatialized sound design for computer games – More TraverseAllSystems updates – CustomExporterAdnMeshJson updates – ADN JSON Exporter Alternatives to View RVT in WebGL – vA3C – The Forge Viewer – Getting started with Unity C# scripting – Opendesk at Autodesk Forge Accelerator Barcelona... Read more →