Happy New Year of the Rabbit, xīnnián hǎo, 新年好! Pondering the looming possibility of a dark theme in the Revit UI and API – Dark theme switching – API – icons – Code example: handling themed ribbon icons – New public roadmaps... Read more →
Happy New Year of the Rabbit, xīnnián hǎo, 新年好! Pondering the looming possibility of a dark theme in the Revit UI and API – Dark theme switching – API – icons – Code example: handling themed ribbon icons – New public roadmaps... Read more →
Posted on January 18, 2023 at 11:00 in News, Ribbon, Roadmap, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A new team member, new Revit API and WPF tutorials, and new insights on handling extensible storage – Welcome, George! – WPF form UIApplication access – Mazri's Revit, Dynamo, web and WPF playlists – Extensible storage schema deletion – Extensible storage schema conflict... Read more →
Posted on November 24, 2022 at 11:00 in .NET, News, Purge, Storage, Update, User Interface, WPF | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Interesting hints from the forum and thoughts on feedback, community and communication – Unload IFC links to delete extensible storage – Picking, selection and UI design – Feedback is always a great gift – Scott Peck and community building... Read more →
Posted on September 08, 2022 at 11:00 in Book, Deletion, IFC, Job, Philosophy, Selection, Storage, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Let's look at accessing point cloud points and colouring individual triangles and faces – Assigning material to each face – DirectContext3D colorized triangles – Pick and access point cloud points... Read more →
Posted on September 02, 2022 at 11:00 in Cloud, Data Access, Geometry, Material, Python, User Interface, VB | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Non-API Revit Server access, exporting Outlook email text, and using a view filter to alert to missing data... Read more →
Posted on November 25, 2021 at 11:00 in Filters, Getting Started, Properties, Server, User Interface, View, Win32 | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
An invitation to the upcoming AEC collaboration webinar and overviews over dockable panels, dialogue handling, decompilation and railing geometry
– AEC collaboration webinar
– Dockable panels and WebView2
– Dismissing Revit pop-ups
– Check API changes using decompilation
– Railing geometry...
Read more →
Posted on July 14, 2021 at 11:00 in .NET, 360, BIM, Geometry, Getting Started, User Interface, Win32 | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
How are reflections like flip and mirror reflected in the BIM element transform? – Transient elements hack – Temporary incanvas graphics API video – Shared versus non-shared parameter creation – Direct PDF export and DA4R... Read more →
Posted on May 26, 2021 at 11:00 in 2022, AVF, DA4R, Element Creation, Export, Geometry, Parameters, PDF, User Interface, View | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
An example of real-time live graphical user input feedback, cloud model functionality, the ever important need to regenerate and other important topics for this holiday day – Line angle and direction jig – Determine cloud model local file path – How to refresh GroupType.Groups – Online access to RevitAPI.chm help files – C++/C# frontend engineer... Read more →
Posted on May 13, 2021 at 11:00 in 360, BIM, Cloud, Docs, Group, Job, Regen, SDK Samples, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Revit 2022 has been released – Revit 2022 SDK coming soon – What's new – Enhancements – Bimsmith take – Microservices and serverless architecture – Questioning the standard model theory... Read more →
Posted on April 08, 2021 at 11:00 in 2022, News, Physics, Update, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Here are some exciting Forge, Revit API and other topics for today – Forge online training in April 2021 – RevitApiDocs support for Revit 2021 – Welcome, AEC BIM Tools – Visual materials API in Dynamo – 24x24 stacked ribbon items – Innovative drone fly-through film... Read more →
Posted on March 23, 2021 at 11:00 in Docs, Forge, Material, News, Ribbon, Training, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A lengthy and fruitful conversation on implementing valid rebar stirrup constraints and more advice on determining boundary elements for the entire building and individual rooms – Rebar stirrup constraints – Exterior bounding walls – All walls including non-bounding interior walls – Floors and ceilings – Revit API and UX style guide – Today's collective action problem... Read more →
Posted on March 15, 2021 at 11:00 in Algorithm, Analysis, Geometry, Philosophy, RST, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A quick look at various methods to integrate transient graphics into Revit and pointers to articles of interest on other current non-API-related topics such as chess AI, basic income and the effectiveness of lockdowns – Transient graphics – AI learns to emulate human-style chess – Basic income as fault-tolerant engineering – Lockdown effectivity... Read more →
Posted on January 14, 2021 at 11:00 in AI, AVF, News, User Interface, View, Win32 | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Many interesting topics on pure Revit API, Forge, BIM360 and AI – Custom export precision – Dismissing a Windows dialogue with JtClicker – AU classes for construction customers – Retrieve sheet metadata in Forge viewer – Determining the BIM 360 project id – AI solves partial differential equations – AI-enhanced video editing... Read more →
Posted on November 03, 2020 at 11:00 in 360, AI, Algorithm, AU, BIM, Data Access, Forge, User Interface, Win32 | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Autumnal topics for this week – The Onbox cross-platform Revit API framework – DirectContext rectangle jig – Creating reports from AutoCAD and Revit – RevitApiDocs statistics – Stop using JavaScript CDN... Read more →
Posted on October 28, 2020 at 11:00 in BIM, Cloud, Docs, JavaScript, SDK Samples, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I am busy as ever in the Revit API discussion forum. Today, let's highlight a couple of items that were not discussed there – ContextualHelp with space – On renaming a shared parameter – Build a minimal neural network from scratch... Read more →
Posted on September 21, 2020 at 11:00 in AI, Parameters, Ribbon, User Interface | 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
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 we pick up two recent MEP related discussions, on creating a new pipe connector for a hydraulic fitting family and on automatic pipe system routing, and a couple of other odd items
– The names they are a-changin
– Getting a ReferencePlane
for CreatePipeConnector
– Auto-routing a pipe system between plumbing fixtures
– Handling dialogue and failure messages
– Retrieving a geometry reference...
Read more →
Posted on March 26, 2020 at 11:00 in Algorithm, Element Creation, Failure, Geometry, News, RME, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today, let's pick up two recent discussions on the UV
coordinate space on a face and the replacement of add-in command bindings
– Understanding the Face BoundingBoxUV
– Handling add-in command binding conflicts...
Read more →
Posted on March 20, 2020 at 11:00 in Dynamo, Geometry, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
We recently shared a brief note on using the BreakCurve
API for splitting a pipe.
Matt Taylor now pointed out a much more comprehensive discussion asking, is there any API available to split a duct programmatically?
That is not just an example, but an entire tutorial, so I think it is very useful to share here as well for all to enjoy..
Read more →
Posted on March 17, 2020 at 11:00 in Element Creation, Family, RME, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A short note on splitting pipes... Read more →
Posted on March 11, 2020 at 11:00 in RME, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Another inspiring guide to getting started with the Revit API, creating interior elevations and revisiting the Revit command line switches – Learning to code with interior elevations – Revit command line switches updated – World-wide connectivity... Read more →
Posted on March 03, 2020 at 11:00 in Getting Started, User Interface, Utilities, View | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Let's start the week with some ribbon button item and encoding topics – How to create 24x24 stacked ribbon items – Update on moving a ribbon button between panels – Revit journal file character encoding... Read more →
Posted on February 25, 2020 at 11:00 in I18n, Journal, Ribbon, User Interface, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
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
Today, we discuss duplicating legend components in Python, my own non-API Python work and some undocumented utility methods – Duplicate legend component in Python – Convert latitude and longitude to metres in Python – UIFrameworkService utility methods – Exceptions should be exceptional... Read more →
Posted on February 19, 2020 at 11:00 in Algorithm, Element Creation, GIS, Python, Units, User Interface, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
The long-standing topic of WinForms versus WPF for Revit add-in user interface seems to be nearing a conclusion – WinForms or WPF? – Revit WPF template – Readme – Build – Customize – Documentation... Read more →
Posted on January 30, 2020 at 11:00 in Architecture, Getting Started, User Interface, WPF | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
So many interesting things going on in the Revit API discussion forum.
Also, the newest DA4R recording is now available online
– Forge Design Automation API for Revit recording
– Design Automation for Revit supports IFC
– What does the FindInserts
includeShadows
flag do?
– Easiest solution to deploy add-in
– Always show the same button in SplitButton
...
Read more →
Posted on December 19, 2019 at 11:00 in DA4R, Deployment, Forge, Installation, Ribbon, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
The ultimatively painless introduction to the Forge Design Automation API, a solution for creating two stacked ribbon items, reinitialising filtered element collectors and picking a face in a linked file
– Forge Design Automation API webinars
– Stacking two 24x24 ribbon items
– Reinitialising the filtered element collector
– Use CreateReferenceInLink
to select a face in a linked file...
Read more →
Posted on November 28, 2019 at 11:00 in Cloud, DA4R, Forge, Ribbon, Selection, User Interface | 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
As high-resolution monitors grow ever more common, an important question arises on handling add-in scaling for 4K high resolution screens – Problem adapting a Revit add-in for 4K displays – Application properties for stand-alone apps – Application manifest – Separate UI component with IPC – Two solutions for adjusting Revit for 4K displays – Method 1 – Run hires monitor in low resolution – Method 2 – Adjust how Revit handles 4k displays – Discussion of the results... Read more →
Posted on September 17, 2019 at 11:00 in Settings, User Interface, View, Win32 | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Let's look at a couple of scaling and triangle orientation issues that recently came up
– Transform and scaling in Forge
– ModPlus and scaling text in dockable panel
– Exporting view image extents
– Mesh triangle orientation
– PlanarFace
normal...
Read more →
Posted on March 20, 2019 at 11:00 in 2018, Export, Forge, Geometry, User Interface, View, Viewer | 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
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... Read more →
Posted on October 22, 2018 at 11:00 in Element Creation, Geometry, Migration, Ribbon, RST, SDK Samples, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today I highlight two of Fair59's numerous solutions in the Revit API forum, and also mention a joke I picked up in a Swedish cartoon – Fadaesen on racism versus realism – Retrieving a reference plane location in a family instance – Accessing the Revit ribbon icons... Read more →
Posted on September 05, 2018 at 11:00 in Data Access, Family, Fun, Geometry, User Interface | 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 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... Read more →
Posted on June 11, 2018 at 11:00 in 2011, Failure, Labs, SDK Samples, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Every time I created a ribbon button, I was faced with the task of creating appropriately scaled icons for it to populate the PushButton
large and small image icon properties LargeImage
and Image
.
They seem to expect a 32 x 32 and 16 x 16 icon, respectively.
I finally solved that once and for all by implementing a couple of methods to perform automatic bitmap scaling
– BitmapImageToBitmap – convert a BitmapImage
to Bitmap
– BitmapToBitmapSource – convert a Bitmap
to a BitmapSource
– ResizeImage – resize an image to the specified width and height
– ScaledIcon – scale down large icon to desired size for Revit ribbon button
– Usage sample – putting them together...
Read more →
Posted on May 02, 2018 at 11:00 in .NET, Ribbon, User Interface, Utilities, Win32 | 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
Two recent Revit MEP related cases brought up some new information on the pipe K
factor table and custom calculations for pipe fittings, the Forge DevCon class recordings are now available, and I discovered Konrad Sobon's wonderful archi+lab Revit API blog, which helps resolve an installation and setup issue
– Pipe K
factor table
– Custom K
factor calculation for pipe fittings
– Dynamo code to change loss coefficient
– Forge DevCon 2017 class recordings
– Archi+Lab
– Revit add-in installer and buttons...
Read more →
Posted on December 13, 2017 at 11:00 in AU, Data Access, DevCon, Forge, Getting Started, Installation, Ribbon, RME, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I am back from a nice break in Italy. Next, I am attending the European Autodesk University in Darmstadt, Germany. Meanwhile, solutions for two issues on keeping Revit focused and on top when working with a modeless form, and an important heads-up warning from the Revit development team on a future change coming. We here at Ideate Software are seeing what appears to be Revit add-in ownership issues with Revit's main window. The behavior has changed between Revit 2017 and Revit 2018 for modeless add-ins. For Revit 2018, when a modeless add-in is closed, Revit does not retain is focus; it is pushed behind another application... Read more →
Posted on October 15, 2017 at 11:00 in .NET, 2018, Modeless, Photo, User Interface, Win32, WPF | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
In Revit 2018, cancelling family instance placement during a call to PromptForFamilyInstancePlacement
throws an OperationCanceledException
exception
– Easily fixed, once discovered
– Question
– Change in Behaviour
– Exceptions Should be Exceptional
– Answer
– The Building Coder samples CmdPlaceFamilyInstance
...
Read more →
Posted on May 11, 2017 at 11:00 in .NET, 2018, Element Creation, Family, Migration, SDK Samples, Update, User Interface, VB | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Blogging despite having already exceeded my work quota for the week, but there is so much to share – ForgeFader user interface – RevitLookup builds – Purging types, families and materials – Retrieving all family instances in a room... Read more →
Posted on April 06, 2017 at 11:00 in Algorithm, Deletion, Element Relationships, Events, Family, Filters, Forge, Material, RevitLookup, Threejs, User Interface, Viewer | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today is the last day of the Forge accelerator, and I am still working on the ForgeFader project. The topics today are mainly related to Revit, though – Google prettifier on GitHub – WTA mechanical family placement add-in – Provision for void – What is a provision for void? – Creating a provision for void... Read more →
Posted on March 31, 2017 at 11:00 in Algorithm, Element Creation, Events, Family, Geometry, JavaScript, Modeless, Parameters, Regen, Ribbon, User Interface | 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
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
RevitLookup sports two new useful enhancements since adding support for the NuGet Revit API package in mid-December
– Close all forms using the Escape
key
– Support for spot dimension...
Read more →
Posted on January 10, 2017 at 11:00 in Git, RevitLookup, SDK Samples, Update, User Interface, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I continued my activity in the Revit API discussion forum and had lots of interesting discussions there. One recent thread caused me to bring up a favourite topic of mine, on keeping things simple. I'll also mention two other less recent recurring questions – Distance between two points in a specific direction – Revit command-line switches – Keeping things simple with the Revit API – Dino pondering lengthening days... Read more →
Posted on January 09, 2017 at 11:00 in Algorithm, Dynamo, Geometry, Getting Started, Journal, Philosophy, Photo, Python, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Topic: a C# .NET Revit add-in demonstrating use of a split ribbon button to access a secondary command, e.g., option settings. In the Revit API discussion forum thread on using a StackButton
as a PushButton
with options, Allan 'aksaks' Seidel recently proposed a neat UI trick, saying: Perhaps this idea might be usable for others. The StackButton
ribbon control is a stack of different PushButton
instances where the last used PushButton
remains visible to be used again. That visible button is reflected in the stack button's CurrentButton
property. Imagine if the StackButton
control always shows the first button in the stack, and the other button(s) are secondary to the first button's purpose...
Read more →
Posted on September 06, 2016 at 11:00 in Ribbon, Settings, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Last night, I migrated The Building Coder samples to Revit 2017 – Flat Migration – Updated RvtSamples Include File – Automatic Transaction Mode is Obsolete – Obsolete Plane Constructors and NewPlane Methods – Obsolete NewPlane Method Taking a CurveArray Argument – Replace View.SetVisibility by SetCategoryHidden – Use DirectShape ApplicationId and ApplicationDataId – All Obsolete Revit API Usage Eliminated... Read more →
Posted on May 03, 2016 at 11:00 in 2017, Getting Started, Installation, Migration, SDK Samples, Update, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API