New Autodesk show reels, a solution to the lack of an add-in manager in the Revit 2020 SDK, an update for the SpatialElementGeometryCalculator and an interesting observation on English spelling – 2019 Autodesk show reels – The Add-In Manager for Revit 2019 still works – Spatial element geometry calculator update – English spelling...
Yet another eagerly awaited update for the Revit 2020 API, a couple of interesting Revit API discussion forum threads, and some thoughts on how AI might affect and be used in an architectural context
– RevitApiDocs updated with the Revit 2020 API
– More room boundary segments than expected
– How to get width and height of a
– AI and architecture...
Question: What can we do with the new Revit 2020 API features? Well, just like most of the existing functionality, the enhancements and some typical yet simple use cases for them are demonstrated by the updated SDK samples. Revit 2020 sports five brand new SDK samples – AttachedDetailGroup – CreateTrianglesTopography – Custom2DExporter – PathOfTravel – ViewTemplateCreation – This list also highlights some the most exciting areas of enhancement...
Still getting up to speed with Revit 2020 and my new virtual machine that I set up for it...
First, however, an interesting adaptation of RvtSamples to run in zero document state
– RvtSamples adapted for zero document state
– Migrating The Building Coder samples to Revit 2020
– Installing PowerTools Copy HTML Markup
PostCommand to close document...
The Revit 2020 API includes exciting enhancements for add-in developers, including numerous developer wishes and requests that have now been explicitly addressed – Information sources – Installation and migration from previous versions – What's new in previous versions – Detailed TOC of major changes and renovations – API Changes – API Additions...
The post on What's New in the Revit 2020 API is overdue... for the time being, of course, you can refer to the documentation included with the Revit 2020 SDK, either Revit Platform API Changes and Additions.docx or the corresponding section in the help file
I promise you there is some really juicy stuff in there!
Here are some other quick notes as an Easter present for you
– RevitLookup for Revit 2020
– Revit 2020 SDK posted
– Generative Design with Philippe Starck...
Revit 2020 has been released, and we go through the same procedure as every year, looking at the DevDays online presentations highlighting the API news, getting the system requirements set up, installing, compiling the Revit SDK samples and setting up RvtSamples to load them – Revit 2020 first customer shipment – Revit 2020 DevDays Online – Setting up Windows 10 – Installing Revit 2020 and the new SDK – Visual Studio and .NET 4.7 – Compiling the Revit 2020 SDK samples – Setting up RvtSamples...
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...
I'll start this week with several solutions from the Revit API discussion forum and elsewhere, especially two different approaches to create rotated rebar stirrups – Embedded tooltip icon resource – Revit 2019 tooltip videos are MP4 – How to read and write bolt, plate and weld – Creating rotated rebar stirrups...
Still at the Forge Accelerator in Rome and looking further into
the Forge Design Automation API for Revit.
Althpough it is not yet available or documented, you can still start preparing your add-in for the day when it comes
– Aspects to consider
– Accessing the Revit
– DB application add-in manifest
– Next steps...
One important step to take before trying to run your Revit API code fully automated and unattended is to ensure that it does not create or modify UI in any way. For example, you must ensure that it does not cause Revit to display any warnings. This can be achieved with a warning swallower. Let's implement one for the StairsAutomation SDK sample...
The Revit 2019.1 update has been released. It is equipped with an updated API that includes several exciting enhancements for add-in developers. Many relate directly to explicit developer wishes and requests – Information sources – What's new in previous versions – What's new in the Revit 2019.1 API – API Changes – API Additions...
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...
Apparently, the Revit SDK REX Visual Studio templates are obsolete. Let's fix that problem. Also, two little notes on a C# optimisation trick for math-heavy code, and the current status of the Forge Design Automation API for Revit – Revit Structure 2019 REX Extension SDK Visual Studio Templates – Improve C# Performance Using Struct Instead of Class – Update on the Forge Design Automation API for Revit...
The Failure API enables both failure definition and handling capabilities – The ability to define and post failures from within API code when a user-visible problem has occurred – The ability to respond to failures posted by Revit and by API code through code in your application This also enables the creation of a modeless warning message to the user...
I am busy in the Revit API discussion forum.
However, you can check the discussions there yourself.
Here and now, I'll mention some different topics – oops, one of them is from there after all
– RST and the Structural Analysis SDK
– Determining the path of a recently exported file
– Driving NavisWorks programmatically via
– The Autodesk assistant Ava and the uncanny valley...
After the significant struggle I had to compile the initial release of the Revit 2019 SDK samples and set up RvtSamples 2019, I am happy to report that installing and compiling the Revit 2019 SDK April 27 update is a lot easier
– Downloading the April 27 SDK update
– Initial compilation – 41 warnings
– Processor architecture mismatch suppressed – 5 warnings
– Update reference to
RevitAPISteel.dll – 3 warnings
– Setting up
How to export all the Revit data to an external database?
It is very simple to extract all the parameter data.
Let's implement a solution to do so
– Existing sample implementations
– Black box input
– Choices for the output and its structure
– Retrieve parameter values from an element
– FilterCategoryRule versus category filters
– Category description extension method
– Retrieve parameter data for all elements of given categories
– External command
– Sample run results
The Revit 2019 API includes numerous exciting enhancements for add-in developers. Many relate directly to explicit developer wishes and requests – Information sources – Installation and migration from previous versions – What's new in previous versions – What's new in the Revit 2019 API – API Changes – API Additions...
I set up RvtSamples for the Revit 2019 SDK samples. Just like the migration to previous versions, this is not a trivial undertaking. To cut a long story short and simply share my current working RvtSamples source code for the Revit 2019 SDK, here is RvtSamples_2019.zip containing my modified files...
I already described how I installed Revit 2019, compiled the Revit 2019 SDK samples and migrated RevitLookup to the new version.
I now migrated some of the other basic samples and utilities and have some Forge news to share
– The Building Coder samples for Revit 2019
AdnRme MEP HVAC and electrical samples for Revit 2019
– AdnRevitApiLabsXtra for Revit 2019
– Convert RVT to IFC via Forge
– Forge accelerators
– Forge webinars
– Open position for an infrastructure BIM implementation consultant...
I installed Revit 2019 and compiled the Revit 2019 SDK.
That was quite a struggle
– Installing Revit 2019
– Installing the Revit 2019 SDK
– Installing the .NET Framework 4.7
– Compiling the Revit 2019 SDK samples
– Processor architecture mismatch warnings
– Numerous Revit API assembly reference conflicts
– SampleCommandsSteelElements lacks components
– AppearanceAssetEditing using deprecated API...
Let's discuss the Revit API enhancements added since the initial release of Revit 2018 – Revit 2018.2 Product Update and Resolved API Issues – Revit 2018.2 SDK Update – Major Additions to the Revit 2018.1 API – Material API additions – Geometry API additions – BrowserOrganization API additions – IFC additions – Rebar API additions – Major Additions to the Revit 2018.2 API – Fabrication API additions...
Question: How can I set the Material Render Appearance through the API?
I can see there is the
Autodesk.Revit.DB.Visual.Asset class, but how do I add to the list of
Autodesk.Revit.DB.Visual.AssetProperty objects for a new material?
Answer: The good news is that this is possible in Revit 2018.1 using the Visual Materials API.
Check out Boris Shafiro's class at AU to learn about it...
An updated version of the Revit SDK was published, I set up
RvtSamples for Revit 2018, which I use to load The Building Coder samples, and we present a useful employment of the
DatumPlane class methods
– Revit 2018 SDK Update
– RvtSamples for Revit 2018
– How to Modify Grid Curve End Points...
The Revit API discussion forum thread on drawing or rendering over the active view brought to my attention that an important new SDK sample created to demonstrate the use of the Revit 2018 functionality
DirectContext3D for display of externally managed 3D graphics in Revit is missing in the SDK.
I added it right here, in DuplicateGraphics.zip, and also provide an overview of the new SDK samples
– Structural Analysis CodeCheckingConcreteExample and CalculationPointsSelector
– REX SDK DRevitFreezeDrawing...
In Revit 2018, cancelling family instance placement during a call to
PromptForFamilyInstancePlacement throws an
– Easily fixed, once discovered
– Change in Behaviour
– Exceptions Should be Exceptional
– The Building Coder samples
The Revit 2018 includes numerous exciting enhancements for add-in developers. The What's New section always provides very important information, both for discovering and exploring the newly added API functionality and for later reference. If you encounter any issues migrating your existing add-ins between different versions, this is one of the first places to look...
Revit 2018 has been released. The Revit 2018 SDK is available from the Revit Developer Centre. I migrated RevitLookup and The Building Coder samples. Finally, the call for proposals has opened for the Forge DevCon at Autodesk University in Las Vegas – Revit 2018 Software Developers Kit – RevitLookup 2018 – The Building Coder samples 2018 – Forge DevCon call for proposals...
Today, let's recap the Revit API discussion forum thread on moving the location of a section vie raised by Danny Bentley, BIM Structural Technician at SOM in California, since Danny very kindly created a video and GitHub repo to demonstrate and share the solution, which will certainly be of use to others as well. By the way, Danny also writes Bentley's Revit Dynamo & API blog on his personal exploration of the Revit API and Dynamo...
I have probably asked developers for reproducible cases a couple of thousand times by now. Let's discuss that and also return to the topic of how to research a Revit API problem in general. Finally, I'll point out a Revit 2017 API MEP electrical feature. Oh, and I continued my research into deep learning for a Revit API question answering system – Creating a reproducible case may well solve the issue at hand – How to research to find a Revit API solution – Access to cable tray and conduit settings – Getting started implementing a question answering system – First impression from IBM Bluemix – Open source QAS options – Building a Revit API ontology...
Most of the work of the year has been done, and it is time to settle down and clear out for the new. Tomorrow is the winter solstice, followed by Christmas and Yuletide, ending with the Twelfth Night. For me, this is a time of retreat, calm, reflection, and renewal of energy. Today brings a nice gift from Andrey Bushman – NuGet Revit API package – RevitLookup using the NuGet Revit API package – Creating a NuGet package from assembly DLLs – More NuGet packages...
I am happy to present a pretty comprehensive overview and explanation of the process of defining a shared parameter by Scott Conover.
Question: What do I need to do to programmatically create a shared parameter? I would like to set the
SetAllowVaryBetweenGroups flag on it.
Answer: You create the details needed to define a shared parameter from
Existing shared parameter file entries can be read to become an
ExternalDefinition in your code, or you can create a new entry in the current shared parameter file using the
How to attach a shared parameter to Material elements?
– Updated ADN Xtra labs to remove all deprecated API usage
– A new addin that creates and populates a shared parameter to provide material information for each element
– Autodesk University 2016 class materials have now been posted, including the recording of my session on connecting desktop and cloud
Material elements to external database entries
– Binding a shared parameter to elements
– Attaching a shared parameter to
– Create and populate a shared parameter
– Cornelius story – cured by natural remedies...
I recently mentioned the updated Revit 2017.1 SDK and its API enhancements. They are documented in full detail in the section Major additions to the 2017.1 Revit API of the Revit 2017.1 API help file
RevitAPI.chm included with the SDK, which is also provided there in the separate stand-alone document Revit Platform API Changes and Additions.docx. For convenient, easy and effective web searching, here is the online version of that information...
I returned from the Munich Forge accelerator, travelling back to Switzerland by train. For ecological reasons, I prefer to avoid flying whenever I possibly can. Last Friday was the deadline for submitting my Autodesk University handout, so that kept me busy. I still need to improve it a bit, and I hope a post-deadline update is feasible. I am presenting two classes, and I have a special discount to offer you. Lots of other things are happening as well – My classes at Autodesk University – $400 AU registration discount – Revit 2017.1 SDK – REX SDK FreezeDrawing sample – Determining the height of a column...
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...
I submitted the handout for my presentation on connecting the desktop and cloud for the RTC Revit Technology Conference Europe in Porto next month. I still have to finish my work on the
roomedit3dv3 sample to demonstrate connecting the desktop with the cloud by enabling a real-time round-trip modification of the BIM via the Forge viewer; yesterday I integrated the transform viewer extension; now I have to hook up the
socket.io messaging back to the Revit add-in to update the BIM
– Create solid from bounding box
– Forge webinar series 4 – Viewer...