[Request for Feedback] Dynamo Node AutoComplete

Hello Dynamo Community!

We are very proud to introduce you a new experimental feature in Dynamo 2.9, Node AutoComplete. This capability is being introduced to lower the barrier to entry for new users and to help advanced users construct Dynamo workflows faster. The Dynamo team wants to ask for your feedback on this new feature.

To try this new feature:

  1. Download Dynamo 2.9 from https://dynamobuilds.com/
    (To install DynamoCoreRuntime2.9.0.zip files on windows operating systems, please use 7zip to extract the files or alternatively, manually unblock the zip archive before unzipping it. For more information on the DynamoCoreRuntime builds and how to setup your machine please see our wiki page.)

  2. Open Dynamo Sandbox and start a new graph. Place a node from one of the following suggestions and build the graph until you have the node working
    1). Line.byStartpointDirectionLength
    2). Curve.Extend
    3). Geometry.Translate

  3. Enable Node AutoComplete feature by clicking on “Settings” -> “Experimental Menu”-> “Enable Node Auto Complete”. Place the same node you chose and use node autocomplete feature to build the graph until you have the node working. Press “Alt” + Left mouse click on any input port to open the node autocomplete UI and look for suggestions to use. Try filter the node suggestions provided by Node AutoComplete dialog by using search. Feel free to try other nodes as well!

After you’ve compared the experience of building the graph without and with Node AutoComplete. We would like to ask you -

  • How would you rate your overall satisfaction with Dynamo Node AutoComplete feature? [Scale from 1-Not at all satisfied to 5-Very satisfied]

  • How do you think the Node AutoComplete feature could be helpful for you? What do you like about this new feature?

  • Which part of the Node AutoComplete feature do you think needs more improvement?

We look forward to hearing your thoughts! Thank you!

Cheers,
Dynamo Team

20 Likes

Hi !
Thank you for this great feature !
I would rate it 4.
It make build the graph faster.
But sometimes the proposals seems to be not very relevant, for example with node like List.LaceLongest, it is not easy for a beginner to undestand what is a combinator and which nodes are valid


Some more relevant proposals in that case could help in learning (however i know there is the dynamo dictionary which is great !).

3 Likes

Hi,
I’d like to congratulate the Dynamo Team on this feature.
I’d rate it 4 as well.
It’s a feature all beginners have been asking for. It is a gamechanger for them, but it is also a fantastic tool for advanced users to write scripts faster. Still, I have an impression not all of the nodes are listed there. Best idea would be to search through the library looking at the output type. Ofcourse, things will get more problematic when it would be a part of Dynamo 4 Revit, since there are Elemtents which have Categories, etc.

3 Likes

Thank you for the feedback @Francois_Labonne :slight_smile:

Agreed that the current results coming back are not as relevant as they could be. We have been doing a lot of improvement work in Dynamo 2.10 which will land… with more to come!

Some nodes are of a more advanced nature, such as List.LaceLongest and we are also looking to bring more documentation inside of Dynamo in the not-to-distant future, namely an expression of the dynamo dictionary :muscle:

1 Like

Appreciate the feedback immensely @oliwer.kulpa :slight_smile:

Currently we are hard at work on the hierarchical ranking system. Indeed not all nodes will propogate and we’re also looking for sensible solutions to this here. For example, we have omitted Code Blocks from all responses as they already have the canvas shortcut of double left-click.

We are also exploring how to best remove the popular, but not necessarily relevant cases from the inputs, how to appropriately rank the results (Which will go hand-in-hand with some improvements to Search) and how to enable relevant per-user results based on how you, individually, build graphs.

We are looking to get the foundations right in Sandbox so that all of our hosts (Revit, Civil 3d, FormIt, Alias, Advance Steel, Robot Structural Analysis) will flow smoothly. But yes, extensive testing in Revit will be key for Phase 2!

1 Like

Thank you @solamour for thoses improvements, i can’t wait to use it and others like the new graphic framework ! :slight_smile:

1 Like

@solamour No complaints. None. This will shave off tons of time for ppl picking nodes quickly. Is it choosing all possible nodes? Naa but of course that’ll improve. Baby steps are tiny strives. And B. It shows users the other nodes to connect for future graphs. “Ooh, I can connect that one too?!”

2 Likes

Awesome, glad to hear it @gurump! :smiley: We are for sure iterating on this over time - the MVP is but the first step. So yes, big plans for the future on this one!

There were two primary drivers for this work; Education (How can we lower the barrier to entry in Dynamo) and Fidelity (How can we build graphs faster, with less errors and more consistency). MVP hints at this for sure, but Phase 2 and beyond will realise it.

as i always begin from the end of my script, then back step by step of what required to fulfill what i want to do in the end. this feature will help me alot, i have recently tested it and yes i love it without any issues for now , i Vote 5
thanks team :+1:

4 Likes

Awesome, glad to hear it @khuzaimah.ElecEng! This is just the MVP and we are looking to improve much more as we iterate over the next couple of phases :slight_smile: But super happy to hear you already use it and find it valuable.

step to 3.x bravo

1 Like

Cool feature, some feedback:

  • How would you rate your overall satisfaction with Dynamo Node AutoComplete feature?
    4/5, it’s easy to use but you have to look up how — This could be easier, for instance right clicking instead of alt-click. Also a higher chance you would stumble upon this feature

  • How do you think the Node AutoComplete feature could be helpful for you? What do you like about this new feature?
    Yes, would make graph creating faster, also for experienced users

  • Which part of the Node AutoComplete feature do you think needs more improvement?
    I would like to know if I can set suggestions for autocomplete in ZT an NM nodes

Thanks!
Michael

2 Likes

Is there a way to turn off autocomplete for code block design script?

In Dynamo Revit: 2.13.1.3891 the DS autocomplete jumps too far and is substantially incomplete in the amount of predictive options.

For example:

Element.Parameters(e); must now be Revit.Element.Parameters(e);

1). Why the “Revit.” prefix?
2). Once you type “Revit”, the period key stroke automatically populates “Revit.Area”. User must then backspace four characters to continue… or add a space key stroke, then backspace the space to disable the autocomplete.

Thats not autocomplete in Dynamo, its intellisense i think. something else

Hi @Brian_Fraumeni this is not Node Autocomplete, but rather Intellisense as @Marcel_Rijsmus mentioned above. Intellisense (The editor understanding you are writing some code and providing assistance) and Dot Notation (Putting a period after a method and surfacing options) have been present in Dynamo Code Blocks and the Python Node for a very long time. This is not a feature you can turn off in Dynamo right now.

I hear you that the current experience isn’t ideal, and I will file a bug report to our backlog to fix it :slight_smile:

Regarding the need to clarify what Namespace it comes from (i.e. the Revit. prefix), this is telling Dynamo what source the command should come from (i.e. the DLL, such as DynamoRevitDS) and is needed to clarify namespaces when there are conflicts.

In the case of a “Revit.Area” and “MyCoolPackage.Area” just using the latter half doesn’t give Dynamo enough knowledge as to which particular function you are looking to call, so it needs to qualify the namespace. This is typically only present when there is a conflict within Dynamo from loaded DLL’s, either natively in the Dynamo build, or from packages you may have downloaded.

In short, it tells Dynamo the specifics of what you are trying to do, so that next time you open up Dynamo with the intention of your graph running on a “Revit.Area”, it doesn’t run a “MyCoolPackage.Area” which may or may not return the same results and change the node and thus graph outputs.