AdaptiveComponent.ByPoints - Element Deleted

I have an issue when creating a successive adaptive component, the previous component is deleted. I have tried closing and re-opening the script but still get the previous element deleted. It seems the only way around this is to completely close the model and re-open but I’m working with large cloud based models. I’m running Dynamo 2.0.1 and have included a simple example…

Close script, re-open and change input x…


Previous element is deleted.

I have attached the sample files, this is a project critical issue and would appreciate any help!

Geometry Test 1.rvt (1.2 MB) Forum 2.dyn (10.4 KB)

While placing family instances, it deletes one instance already placed?

1 Like

Yes exactly, unlike normal family types the undo method which I have used successfully with other scripts doesn’t work here.

I can overcome the problem by deleting the “Bindings” content in the dyn file using a text editor. This is a terrible workflow but I can get the job done this way. Close the dyn file, delete the bindings and reopen the dyn and run with new inputs.

image

My recommendation (beyond coming to one of my AU classes next week to learn more than you ever wanted to know about bindings) is to remove all the bindings, and then use Dynamo Player or another creation method to remove the possibility of bindings being introduced. It’s possible to remove the bindings via:

UI: remove an input from the nodes which create elements, run the graph, save the graph, wire the input back in, save the graph without running it.
*manual file edits: open the file in text editor, search for "Bindings":, and delete everything in the associated square brackets, then save the file.
bulk file edits: write a Dynamo graph to perform the same steps as the manual file edit.
node replacement: copy the node which creates elements and paste it in place (note the input wires are still attached, and a shift+click should allow you to easily reroute output wires), then save the file.

Once removed, cross session element bindings can be circumvented via:

  • Multiple layers of nested custom nodes.
  • Custom code in Python with ToDSType correctly.
  • Zero touch nodes which intentionally avoid bindings.
  • Using Dynamo Player to execute the graph
  • Closing and reopening the DYN between runs without saving.

For in-session bindings you can use python nodes or zero-touch nodes which explicitly avoid any degree of binding ownership.

2 Likes

Looks like a very interesting convention and workshops, unfortunately I’m on the wrong side of the planet for this. Will you be recording your classes?

I won’t but sometimes they record them. Content will be posted online though. :slight_smile:

1 Like