October 3, 2016
Autumn is upon us, and we have lots of new functionality in Dynamo 1.2, as well as significant improvements to stability and performance. Some of the most apparent changes are additional tools we have added to enhance list manipulation workflows, and a large number of new Revit functionalities for Annotation and other areas. Download the new Dynamo For Revit build here, or the main download button on the top right of this site. Dynamo Studio updates will be available later this week. Existing Studio users will be alerted via the Autodesk Desktop App, new users can download 1.1 from here and run the patch update from the Desktop App.
Stability is usually measured as a trailing indicator, we can look back on previous releases and make assertions about how we are trending. We can now compare 0.9.1 (the build that was included in Revit 2017) with build 1.1 and can see a +4x improvement in stability in Dynamo for Revit. In concrete terms, this means you can expect to work for more than 4 times as long in 1.1 before seeing “exceptions” (those times where Dynamo thows up a critcal error warning or crash). Improved instrumentation will give us more clarity on these stability improvements going forward.
In addition to regular bug fixes and stability improvements, 1.2 has also made some drastic stability enhancements that are a direct result of previous work done for 1.0 and 1.1 “instrumentation” (the ability to gather usage information based on your usage). Essentially, 1.2 development eliminated 30% of crashes in 1.1 by gathering better data from you. These are the kinds of crashes that are complicated to reproduce, and might be hard to describe, but leave a clear signature in the code. With better data coming back in from users, we now have a steady stream of very actionable bugs. So thanks to everyone who crashed in 1.1, you have made our 1.2 world a better place!
We have lots more to do, but we will continue consistently and vigorously making Dynamo more robust and dependable with each release.
We are introducing “List@Level”, a feature that allows you to directly select which area of a nested list you want to work with right at the input port of the node. This feature will allow you access the “levels” of your list quickly and in a manner that adapts to changing hierarchies. Our hope is that we can greatly simplify many workflows and reduce the need for List.Map and List.Combine in most places.
While there will be a longer post specifically about this feature in a couple days, here are the essentials.
- Users identify the address of where there stuff is in a nested list structure, as it occurs from the inside out.
- Specify this location in the downstream node that is receiving the data
- Pass the data on in the desired shape.
Managing how lists interact with each other requires that you understand the structure of what you have. Preview bubbles now display more information about what they contain, and where that data is located. Those locations are the same as the locations that are defined at the port level inputs to nodes
We have made a big push to extend the Revit toolset. 113 new nodes have been added in a variety of areas.
1.2 has a major fleshing-out of annotation capabilities. New out-of-the-box Revit functionality, including Detail Curves, Dimensions, Filled Region, Filters, Materials, Parameters, Revisions, Rooms, Tag, and Text notes.
A couple of things that I find personally really exciting are the Room tools. While the Lunchbox tools that allow for room extraction are awesome and very convenient, the speed we can achieve with the new out of the box nodes that expose individual properties like boundaries is fantastic.
Other Revit Nodes:
FaceBased Family creation: note, this new capability is restricted to Face Based Families, and does not include Wall, Ceiling, Floor, etc. Face Based is Face based, but we are working on the rest.
Coordinates: Everyone likes to know where they’re at.
Location enhancements and Element queries: Generalized tools for Revit elements (in Revit, Elements, Element) allow to ask better questions and make changes to many different Revit things. GetMaterials, and GetCategory are self-explanatory. Element.GetLocation is a generic method to extract placement information, returning curves or points as appropriate. Element.SetLocation and Element.MoveByVector are perhaps even more exciting, by allowing for the modification of many elements that exist outside of the Dynamo definition. Note: be careful with your logic here. If you GetLocation, then move and SetLocation based on that location, you can set up a recursive loop where your element keeps moving based on the new location. But, uh, you know, not that I have done this personally, just something a friend told me he did.
Click here for a complete list of the new nodes and sample files demonstrating how to use many of them.
These new Revit tools will be available for Revit 2016 and 2017, not 2015. After Dynamo 1.2, we will discontinue installation of Dynamo for Revit 2015.
Frozen nodes and Geometry Preview state of nodes
When a node is set to NOT preview its output geometry in the background preview, it now appears as slightly blue. Frozen nodes are now more evident, with a dotted outline
Dynamo Primer Localization
The German and Japanese versions of DynamoPrimer.com have been updated to 1.0 (Http://dynamoprimer.com)
Important Bug Fixes
- 4 most common crashes identified through crash error reporting have been fixed. These failures were a combination of divide by zero and Null reference exception thrown from preview and some issues during initialization with Revit, which account for 30% of all reported crashes in Dynamo 1.1.
- Graphs with large vertex counts consume 1 processor when program is idle
- All Elements Of Category fails for Views
- Package Manager Crash and upload fixes
- Custom node can only place family instance(s) in isolation. Multiple use of same CN on graph results in ‘last node wins’
- Number from Feet and Inches rounds input text incorrectly and output is confusing
- Circle.ByBestFitThroughPoints is always horizontal
- Preview Control Crash when deleting ObjectSelector node before running completed
- Crashes with adjacent install of some Autodesk products
- Solid By Sweep 2 Rails incorrect with rotated NURBS curve
- Opening dyn file whose dyn extension is missing corrupts Dynamo
- Arc.ByStartPointEndPointStartTangent doesn’t work well with all Tangents
- Graphs with large vertex counts consume whole processor when program is idle
- CoordinateSystem Scale methods do not work
- Add option to Curve.ByBlendBetweenCurves to create G2 continuous blend curves
Known issues in 1.2 and other builds
Thanks Everyone, and we hope you enjoy the new release!
The Dynamo Team
The original article may be viewed on the Dynamo blog.