Revit 2019.1, CEFSharp, Forge Accelerator in Rome

I am back from a multi-day hike of about 70 km along the Swedish Sörmlandsleden, the Sörmland trail (English version) through mostly wilderness south of Stockholm.

In the meantime, lots of noteworthy things happened:

Before diving into that, let me share two pictures from the hike.

Mossy stones framed by trees:

Mossy stones framed by trees

Dawn beside a lake, still in my sleeping bag, just after the whole sky was brilliantly illuminated in pink by the rising sun:

Pink dawn

Revit 2019.1 Update Features

The Revit 2019.1 update has been released.

It focuses on three main areas:

Read all about them in detail in the tour of the Revit 2019.1 new features.

The release notes are provided in Autodesk_Revit_2019_1_Readme.htm.

I downloaded Autodesk_Revit_2019_1.exe from my Autodesk account and installed it. The about box now lists it as Revit version 19.1.0.112, build number 20180806_1515(x64).

Revit 2019.1 also sports an updated SDK that is in the process of being posted to the Revit Developer Center right now.

We'll discuss detailed information about what's new in the Revit API anon.

If you are in a hurry, the first place to look is in the SDK documentation, as soon as you get your hands on it, in Revit Platform API Changes and Additions.docx. The same information is also included in the What's New section of the Revit API help file RevitAPI.chm.

Revit Add-Ins using the CEFsharp Library

From a developer's perspective, Revit 2019.1 includes new API entry points and other enhancements. We will discuss them in detail soon. Right now, however, I would like to point out up front one important aspect that might affect your Revit add-ins if they make use of the CEFsharp web browser library. If so, please read on.

Revit and Autodesk add-ins use the CEFsharp library internally for several features. Some third-party add-ins do so as well.

Occasionally, when different versions of the library are used, it leads to instability issues for Revit.

In order to avoid version conflicts, we are clarifying what CEFsharp version is being used: Revit uses CEFsharp version 57.0.0.

In addition, Revit 2019.1 now forcibly loads a version of CEFsharp prior to add-in initialization.

This means that add-ins which load a different version of the CEFsharp library may not function as expected.

Autodesk recommends realigning add-ins to use the version provided by and loaded by Revit.

The Revit 2019.1 features that use the CEFsharp library include the new Revit Home and the Site Collaboration with Civil 3D.

This information was already shared by Mikako Harada in the Revit API discussion forum thread on Revit 2019.1 add-ins and CEFsharp library, and also discussed in the thread describing how some developers struggled after the Revit 2019.1 update broke add-ins using CEF.

BIM 360 Issues API

Turning towards some Forge related news, we also have a new product release:

The BIM 360 Issues API is now live on production.

For full details, please refer to the BIM 360 API overview.

Forge Accelerator in Rome and Elsewhere

I will be attending the next Forge accelerator in Rome end of next month.

Can you guess what I will be looking at?

It is pretty easy if you have been following the discussion on Forge Design Automation for Revit at all.

Here are the other upcoming accelerators scheduled for 2018:

I hope one of them fits your interests and schedule.

Looking for a Forge Development Partner

The use of Forge for BIM is growing.

This leads to an increasing number of queries from people looking for savvy development partners.

Here is one of them:

Question: Our friends at Autodesk Research have identified an Italian green building initiative that looks ripe for Forge. The project is looking for European Autodesk channel partners who know our BIM APIs very well, and can function as consultant ISV’s for Forge application development.

Any recommendations from your side?

Answer: Autodesk Forge certifies system integrators, so businesses have access to trusted support resources that can help them build solutions with Forge. These partners have been trained by Autodesk experts and have a proven track record of successfully helping customers deploy cloud-based solutions that use Forge. They can help to innovate and build software integrations with existing systems or help develop custom Forge-powered solutions.

You can look them up in the list of Autodesk Forge system integrators.

New Way to Retrieve a Parameter Id

For certain filtering and other purposes, you need the element id corresponding to a parameter definition.

One example is provided in the discussion on using an ElementParameterFilter with a shared parameter.

To retrieve the parameter id, you need a reference to a parameter, and for that, you need an element that has such a parameter defined on it.

Dante van Wettum just made a very useful suggestion to address this need using the CreateSharedParameterApplicableRule method in his comment on that post:

Maybe an interesting reference here in case anyone is looking for it.

You can also take a shortcut, so you don't have to get an element first and find the parameter on it:

  string parm = "YourSharedParmName";

  FilterRule rule = ParameterFilterRuleFactory
    .CreateSharedParameterApplicableRule( parm );

  ElementParameterFilter filter 
    = new ElementParameterFilter( rule );

Many thanks to Dante for sharing this!