-
Notifications
You must be signed in to change notification settings - Fork 636
Dynamo 2.0 Language Changes
Racel edited this page Apr 30, 2018
·
7 revisions
- Change list@level syntax from "@-1" to "@L1"
- New syntax for list@level, to use list@L1 instead of list@-1
- Motivation: Aligning Code Syntax with preview/UI, user testing shows this new Syntax is more comprehensible
-
Implement Int and Double types in TS to align with Dynamo types
-
Don't allow overloaded functions where arguments only differ by cardinality
- Old graphs that use overloads that have been removed should default to the higher ranked overloads.
- Motivation: Remove ambiguity about which specific function is being executed
-
Disabling array promotion with replication guides
-
Make variables in imperative blocks local to imperative block scope
- Variable values defined inside of imperative code blocks will not be altered by changes inside of Imperative blocks that reference them.
-
Make variables immutable to disable associative update in code block nodes
-
Compile all UI nodes to static methods
-
Support return statements without assignment
- “=” not needed in either function definitions or imperative code.
- Migration of old method names in CBN’s
- Many nodes have been renamed to increase legibility and placement in Library browser User Interface
- List as dictionary cleanup
Known issues:
- Namespace conflicts in Imperative Blocks cause unexpected input ports to appear. See the Github issue for more info. To get around this, define the function outside of the Imperative Block like this:
pnt = Autodesk.Point.ByCoordinates;
lne = Autodesk.Line.ByStartPointEndPoint;
[Imperative]
{
x = 1;
start = pnt(0,0,0);
end = pnt(x,x,x);
line = lne(start,end);
return = line;
};
Looking for help with using the Dynamo application? Try dynamobim.org.
- Dynamo 2.0 Language Changes Explained
- How Replication and Replication Guide work: Part 1
- How Replication and Replication Guide work: Part 2
- How Replication and Replication Guide work: Part 3