Sneak peek into Dynamo 2.0

It’s been a while since the last “major” Dynamo update (Dynamo 1.0 was released way back in 2016). And if you are tired waiting for something new, you can download and install one of the latest Dynamo 2.0 daily builds from the Dynamo development builds webpage.

Starting from this year’s daily builds, Dynamo team has changed the way Dynamo installs, so that it doesn’t interfere with existing 1.x installs:

  • DynamoCore and DynamoRevit will be installed in the folder named using DynamoCore major version instead of major version point minor version;
  • Installing the new Dynamo 2.x build should not affect your existing Dynamo 1.x installed;
  • Installing a new Dynamo 2.x build with a larger minor version will overwrite the content in major version folder.

Considering that Dynamo 2.0 will save files to a format that is not compatible with earlier versions, it is highly important to backup your existing Dynamo content folders. Please read this safety note from Dynamo team before downloading and installing daily builds:

These are the early stage builds that are leading to the Dynamo 2.0 release. Please keep in mind that it is early days for these builds, there are still a number of large moving pieces and, as always, this area should be treated as an active construction site. If you do decide to participate, please wear your hardhat!

Dynamo 2.0 brings a plenty of changes, including:

  • New JSON file format instead of XML-based one;
  • Updated node library with different organization:  Dynamo2.0_Library
  • New OOTB (out of the box) dictionary nodes:Dynamo2.0_Dictionary nodes
  • Custom packages have been moved to the dedicated “Add-ons” submenu;
  • Usability fixes for those who work with Python (code execution button, custom templates, multiple editor windows, etc.).
  • And, of course, a lot of tweaks under the hood. You can view the full list of the future changes here.

Dynamo 2.0 can be installed side-by-side with existing 1.x versions, allowing you to experiment with the early pre-release tools without interfering with your existing workflows. You will be prompted to choose which version you wish to run when first launching Dynamo in Revit:

Dynamo2.0_Launch

This setting will be saved per-session of Revit. Restarting Revit will enable you to switch to a different version of Dynamo. Please don’t forget to back up your existing Dynamo workflows, packages and files. And do not use unstable software in the real project environment!

Revit RFO benchmark fails with journal error on localized Revit installs

Revit Forum’s RFO benchmark is a super handy (and possibly the only one) tool to measure Revit performance on different machines. The most recent version is 3.1 and it can be downloaded after logging in to the RevitForum (RFO benchmark v3.1). This tool is based on the Windows PowerShell script which uses Revit journal files to run the tests.

The only problem is that these journal files included in RFO package are built for English Revit. This means that if you try to launch RFO benchmark in localized Revit, you’ll end up with the journal error like this:

RFO benchmark error

Luckily we don’t need to modify Revit installation to get benchmark working, as far as Revit comes packed with different languages. All we need to do is temporarily switch Revit language in the ‘Revit.ini’ file, which is located in the current user AppData folder. Depending on whether you use roaming profiles or not, AppData paths may be different.

Local user profile folder:

C:\Users\USERNAME\AppData\Roaming\Autodesk\Revit\Autodesk Revit 2017\Revit.ini

Roaming user profile folder (in case you use Microsoft’s roaming profiles):

\\SERVERNAME\Profiles\USERNAME\AppData\Roaming\Autodesk\Revit\Autodesk Revit 2017\Revit.ini

Find and open the Revit.ini file and scroll down to the language section that looks like this:

[Language]
Select=DEU

[Applications]
Mechanical=
Electrical=
Architectural=
Structural=

[InstallationSettings]
Language=DEU

Make sure to backup your Revit.ini file before making any changes. 

Change the highlighted language code inside the ‘Language’ section to ENU and save the file. Do not change the second language code inside the ‘InstallationSettings’!

Make sure to save the ‘Revit.ini’ file, then launch the RFO benchmark. Now it will successfully cycle through the testing process.

When you are finished with tests, either restore or modify your ‘Revit.ini’ file to bring back localization. And in case you’ve forgotten your language code, here is an article @ Autodesk knowledge network  with available Revit languages.

Autodesk Building Performance Analysis Certification Retirement

Today is the last day to finish your Autodesk Building Performance Analysis Course and earn the certificate before the entire course gets retired.

BPAC-Badge

If you are currently enrolled in the course, you’ll have time until December 15th, 2017 to finish it. Any non-completed courses will be de-activated together with the training portal after December 15th, 2017.

But don’t worry, all of the course content (excluding quizzes) is already available in Autodesk Sustainability Workshop: Building Performance Analysis Course page.

The course itself won’t disappear: the authors are currently working on bringing BPAC to Autodesk Design Academy portal in the next coming year.

Continuous orbit in Navisworks

This tip shows how to present Navisworks model in a merry-go-round style. Open Navisworks menu (the “N” application button) > Options:

Navis_options_ToggleTurntable

In options menu, open “Interface” > “Display” sublist and select “Navigation Bar” item. Make sure the “Use classic Constrained Orbit (Turntable)” option is checked, then click “OK” to close Options menu.

While in 3D view, hover the Orbit tool in the floating panel, press the small arrow below and toggle “Constrained Orbit”:

Navis_view_ToggleConstrainedOrbit

Notice that the mouse cursor has changed and now shows the turntable.

Finally, click and hold left mouse button somewhere in 3D view, and “push” your model in desired direction. The model starts constantly spinning around the pivot:

Navis_view_AnimatedOrbit

Note that rotation speed depends on the strength of your mouse “push”.

Revit 2017.2.3 update is now available

This update contains an update to the FBX SDK and provides a number of security improvements related to processing FBX, DAE, 3DS, and DXF format files. It also brings a number of bug fixes, which could be found at the release notes page.

For Revit 2017.2.3 update instructions visit readme page. Update is available to subscribers and current maintenance plan customers via the Autodesk Desktop App & Autodesk Account.

Navisworks 2018.2.1 update is now available

Navisworks 2018.2.1 update (available via the Autodesk Desktop App) comes with the following list of bug fixes and improvements:

Enhancements
LMV users will now see a clear error message when the Navisworks extractor fails
• In Recap, a viewpoint is saved at the origin of each scan
• Navisworks now supports the ability to outline cross-sections

Fixes
IFC Loader
• Imported IFC files now include classification data so that it can be used to create search sets
• Model hierarchy is now preserved when using the Revit_IFC loader, to help find information more efficiently
• Resolved an issue where Revit AddIns for IFC Loader cannot work if Navisworks 2018 is uninstalled, then reinstalled
• Resolved an issue where Navisworks 2018 crashes when an IFC file with reinforced bars is imported

Navisworks 2018.2.1 update is now available

How to sort Navisworks selection tree?

Navisworks interface is somewhat overwhelmed with features and buttons. That’s why some really useful things like sorting become overlooked for years. So here is how you can make your Navis tree look cleaner:

NavisworksSelectionTree_Unsorted

Open an *.NWF file with unsorted selection tree, select the ‘Standard’ option from the drop-down list. Then right-click on any item in the tree, and select ‘Scene’ > ‘Sort’:

NavisworksSelectionTree_Sort

Navisworks will notify you that this operation can’t be undone. You can save your file if you want, then click ‘OK’:

NavisworksSelectionTree_Warning

That’s it! Now your selection tree looks clean and structured:

NavisworksSelectionTree_Sorted

 

Revit railing enhancements with Dynamo

Lately I’ve been working on some Revit railing enhancements. This is still work in progress, but some of the Dynamo nodes are already available online in my updated Zhukoven.com (rev.2017.8.17) package. Below you can see available railing Dynamo nodes (please note that currently all of these nodes support only one railing instance at a time):

Railing.CalculateBalusterProfile

RailingBalusterProfile

Currently there’s no direct link between the railing element and its hosted balusters through the Revit API. So in order to get the baluster profile data, we have to explode railing geometry and extract surfaces. Output values are diameters / widths of baluster elements.

Railing.CountBalusters

RailingCountBalusters

This node calculates the number of railing balusters. See this post that explains the logic: Count railing balusters in Revit with Dynamo

Railing.GetHost

RailingGetHost

Check if the railing element is hosted, and get this host element as an output (if applicable).

Railing.GetPath

RailingGetPath

Get the list of lines that form the railing path.

Railing.GetTopRail

RailingGetTopRail

Get top rail element (instance) from the input railing instance.

Railing.TypeInfo

RailingTypeInfo

Input railing instance to get its type, primary handrail type, secondary handrail type, and top rail type. The node returns null values if selected railing type doesn’t contain handrails.

Download an updated package (rev. 2017.08.17) from: Zhukoven.com

Dynamo deletes previously placed elements after each run – workaround

If you need to iteratively place multiple Revit elements with Dynamo, like these stadium chairs, then you are in trouble. The problem comes from element binding – a Dynamo feature which preserves the link between DesignScript and Revit elements during the current Dynamo session. This is how Dynamo works by design, preventing your model from an avalanche of element duplicates, created in ‘Auto’ mode:

DynamoBindingOn

Either you run the graph in ‘Auto’ mode (like in the figure above), or re-run the graph manually, Dynamo places new elements while removing previously created ones. This kind of behaviour sounds pretty logical and straightforward – look what you’ll get if there’s no element binding at all (using one of the workarounds):   Dynamo deletes previously placed elements after each run – workaround

Revit 2018.1 update comes with enhanced Dynamo Player

Good news, everyone! Revit 2018.1 update is now available for download from the Autodesk Account portal. It comes with some cool new features (see this article at Autodesk blogs for the full info), including enhancements to Dynamo Player. Now it finally supports changing input values directly through the Player UI, which is super handy:

Dynamo_Player_update_2018.1

As you can see, there may be plenty of inputs that could be changed without even launching Dynamo. But note that there are still some limitations:

  • Code blocks as input strings are not  supported – if you prefer to write text inputs in code block, using quotes, you’ll need to rebuild these Dynamo graphs (swap Code Blocks with Strings) to use with Player;
  • Custom nodes as inputs are not supported – they are not shown in the Player UI;
  • Frozen nodes will be shown as changeable inputs, while they’re not used in the script logic.

Anyway, this is a cool update, and I’m sure that these subtle issues would be fixed in the near future. And by the way, here is the quote from Dynamo community addressing these issues:

We will look into the frozen node and address them in the future.
For the Code Blocks it’s a little more tricky but doable if there is a strong request from the community.
For the custom nodes it would be really nice indeed to have that.
The way I see this as a possibility in the future : a third party will create the custom node on Dynamo and then will have to create the node UI representation in Dynamo Player ( using some Dynamo Player API which doesn’t exist yet ). So the third party will have control over the DB level of the node and also over node UI representation in Dynamo Player.
Good news is that things are designed internally to make this possible in the future.
However , since this still requires a significant development effort we need to have a strong request from the community so that decision factors prioritize this accordingly. So please tweet about it on every occasion !

WhatsApp Dynamo package is now available for download

Today I released my tiny WhatsApp Dynamo package, and it’s now available for download and testing @ dynamopackages.com. WhatsAppDynamo provides integration with WhatsApp Web platform, allowing you to send text data (like URLs, file paths, parameter names, etc.) using Dynamo. Note that due to the platform limitations, images and files are not currently supported – they could be sent only as a hyperlink.

Currently WhatsAppDynamo package consists of a single custom node called “WhatsApp.SendMessage”. This node creates a WhatsApp message (string) in appropriate format to be used in WhatsApp Web platform. As I’ve already said, images and files are not supported due to WhatsApp limitations. Input desired phone number or leave this field blank (“UsePhoneNumber” switch is set to ‘False’ by default) to choose your contact later in browser.

Omit any zeroes, brackets or dashes when adding the phone number in international format: ‘+001-(555)1234567‘ must be converted to ‘15551234567‘ . Also please keep in mind that this phone number must have an active account on WhatsApp, otherwise you won’t be able to send your message.

Please feel free to test the package, and report issues & bugs here: Dynamo packages. It supports Dynamo 1.3.0+ & Revit 2016+

Download links: WhatsAppDynamo_(Rev.2017.7.12)Dynamopackages.com

Using Dynamo to send WhatsApp messages (proof of concept)

Today a lot of companies and AEC professionals use cloud messengers and productivity tools to organize projects and enhance collaboration. Some of these tools have an API to interact with (Trello, Slack, Asana, for instance), making them suitable for instant information delivery. If you use one of the above mentioned tools, you’re lucky! Dynamo community has already introduced a couple of packages that may streamline your data flow:

But what about WhatsApp? Unfortunately, it doesn’t provide us with the official API, but it has a web version that recognizes special URLs. These URLs could be compiled inside Dynamo in  appropriate format, and used to notify your teammates of some significant project issues!

Using Dynamo to send WhatsApp messages (proof of concept)