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:
- Revit 2019.1 update and features
- Revit Add-Ins using the CEFsharp library
- BIM 360 Issues API
- Forge Accelerator in Rome and elsewhere
- Looking for a Forge development partner
- New way to retrieve a parameter id
Before diving into that, let me share two pictures from the hike.
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:
Revit 2019.1 Update Features
The Revit 2019.1 update has been released.
It focuses on three main areas:
- Connect – Our goal is to improve the processes by which you collaborate and exchange information. By building better experiences for sharing data across Autodesk tools and helping teams work together, we strive to help you get things done more efficiently.
- Create – This category of Revit features is focused on delivering better tools, capabilities, and experiences central to authoring of project data, generating and using models.
- Optimize – Optimize means several things in the context of Revit – it’s how we can improve your ease in working by making the software work better and by improving your interaction with the software. It’s also in delivering tools that you can use to analyze and conduct simulations to get the insights you need to make the best design decisions.
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.
Autodesk_Revit_2019_1.exe from my Autodesk account and installed it.
The about box now lists it as Revit version 126.96.36.199, 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
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:
- Rome, Italy – September 24-28 (workshop full, wait list only)
- Boston, USA – October 1-5
- Bangalore, India – October 9-12
- Tel Aviv, Israel – December 10-13
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: I am an experienced desktop developer and have an idea for a project that looks ripe for Forge. I am therefore looking for European partners who know the Autodesk web-based 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
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
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!