-
Notifications
You must be signed in to change notification settings - Fork 1
0.6.3 Upgrade to 0.7 version
The shift from Dynamo 0.6 to 0.7 represents a significant refactoring of the original code base. The new software architecture that we are now using will allow, among other things, for better performance, more robust geometry, sophisticated interactions between traditional scripting and visual programming , and loading of external software libraries. 0.7.0 was the initial release to demonstrate some of these capabilities, but we were not initially able to offer automatic upgrading of 0.6.3 files. In 0.7.1, users can now open 0.6.3 files and preserve most of their original workflows. The migration of 0.6.3 nodes and connections is often quite straight forward, with things like numbers, sliders, and list operations becoming the same thing. Some notes on what to expect when upgrading from 0.6.3:
Automatic Graph Reorganization: Because there isn’t a precise 1 to 1 correspondence between 0.6.3 nodes and 0.7, some graphs may upgrade with nodes piled on top of each other. For example, in some cases what was previously handled in a single node may now take 2 or more. Please try our automated graph reorganization tool to clean up your graph organization.
Recursion: Recursive workflows within custom nodes are not yet working. It is on our radar and we hope to have it back up and running soon.
Python nodes: Automatic upgrading of Iron Python code inside of nodes was not feasible. However, please check this document for instructions on how to adjust your old Python code to fit the new standards. The changes are relatively minor, but really on users looking at the particular way that import statements have been structured in the 0.6.3 version. https://github.com/DynamoDS/Dynamo/wiki/Python-0.6.3-to-0.7.x-Migration
Geometry Nodes: The Geometry tools in Dynamo 0.7 are fundamentally different than those available in 0.6. While the upgrade process from 0.6.3 to 0.7 will preserve low level, fundamental elements, like Points and Lines/Curves, more sophisticated Geometries like Solids and some intersection events will not be preserved. The 0.6 geometry tools relied on the relatively limited Revit geometric palette, which had very specific needs around things like the configuration of curve lists and workplanes. The new geometry tools have a much broader range of geometric entities, and are generally much more forgiving in terms of the kind of acceptable inputs.
Vectors: Revit Geometry does not make a distinction common to most geometry systems between Points (xyz Coordinates) and Vectors, which leads to some confusion about the proper functioning of geometry used for direction and placement. Upgrades attempt to handle this by automatically adding a point to vector conversion for upgraded nodes that take a vector input. In some situations, your upgraded workflows requiring vectors may have multiple conversions to and from points and vectors, which looks silly, but can be easily corrected when you see it.
Surfaces: Revit geometry does not have a great concept of Surfaces. Lofted Form Element creation nodes can create Revit elements (as opposed to abstracted geometry) that are surface, but they have a convoluted reliance on Model Curve geometry and are unstable with repeated design changes. While we have attempted to preserve these workflows, there are better ways to create Surface geometry in 0.7 that are not as fragile as the direct creation of Revit elements that were the only option in 0.6
Solids: 0.6 solid geometry creation relied on very Revit specific inputs and could only be used by writing back into Revit as a “Freeform Element” using “Bake Solid as Revit Element”. Freeform elements could only be created in the Family environment, and only works for Solids . Furthermore, the “Freeform Element” API only allows deletion and creationi, rather than modified, thereby deleting any hosted elements on Dynamo modification. Because of these limitations, we are not supporting the upgrade of Solids from 0.6.3 workflows into 0.7. Older workflows should be easier to create in the new tools, and solids can still be created in Revit Mass Environment using the Form.ByLoftCrossSection in Revit>Elements>Form, or in any Revit file using ImportInstance.ByGeometries in the Revit>Element>ImportInstance category. Import instances in any Family environment can be turned into manually editable elements in Revit by selecting and “Exploding” these to manually editable FreeForm Elements