Transaction.Start and Transaction.End

I’m trying to perform a routine with some different scripts, using the nodes “passThrough,
Transaction.Start, and Transaction.End”, in order to run one script at a time. But after a few attempts I was unsuccessful.
Could you help me with information on how to use these nodes? I read some posts (like this one: https://forum.dynamobim.com/t/passthrough-node-infinite-loop-issues-with-sastrugi-pick-points-node/35779/8 ) here on the forum, but I keep with error.
After the dialog do I follow the same order for the next script? Is this sequence always the same, regardless of the type of routine?
If you can help me, I really appreciate it!


teste2.dyn (124.7 KB)

And I finished this way in the second image, but the routine only runs backwards, even without executing the functions, but the messages that I put in the dialog box appear from the last to the first. And with that consequently it will not work at all, since one depends on the other.
How to fix?

With the break in you graph as shown below, the second part of your graph is not being forced to wait on the first part to finish.

Change to have your level designation wait to be passed after the python script has executed. Use this method at other points in your graph where you need information passed after a specific function.

Not sure you need the transaction nodes in conjunction with the passthroughs.

Maybe this will help with understanding the passthrough method. Popup message Step3 doesn’t execute until popup message Step2 executes and message Step2 doesn’t execute until Step1 message executes.

1 Like

From what i understand of it,
suppose you create new elements in revit via dynamo
you cannot set the parameters of those elements before you end the transaction (make it real)

1 Like

Wow… Thank you so much again! In fact, I had already made all kinds of connections in these nodes but not taking the level to the sequential one.
Show! You are wild!

1 Like

Yes, exactly that!

This is close. Some elements have all of their information calculated before the transaction is committed. Take a wall as an example - you can create the wall and set the top offset in one transaction. However others require a complex calculation before they can be fully generated, such as creating a view and placing it in a sheet with a newly set number. In these instances the current transaction has to be committed and a new one started before we can work with the new objects.

Generally speaking the objects which require a separate transaction:

  1. Are complex objects which are generated automatically from another object.
  2. Require regenerating the database for pulling the information.
  3. Involve multi-threaded aspects of Revit, such as geometry calculation, view generation, or analytical systems.
3 Likes