Element Tracking - using the same GH script for two different pipelines

I am sorry for such a basic question–if it has been answered elsewhere, I can’t find it.

How does Element Tracking actually happen? Where is the list of relationships stored? In the GH component inside the GH file?

If so, does that mean that I cannot use the same GH R.i.R. script/file for two different Rhino-Revit pipelines?

In other words, if a GH component is used to create a family, for example, in Revit model A, and populated with geometry from Rhino model A, and then I use the same GH file and component to do the same for Revit model B and Rhino model B, will the element tracking become mixed up? What happens if I then switch back to Revit model A and Rhino model A, and back and forth?

Thanks

Brian

This should work. The data is saved on the objects themselves.

@scottd great, thank you. On the Revit objects the source info is saved?

I don’t recall the exact way tracking is stored, Kike will have to answer that one.

If you are switching projects it would be best to be untracked, per this example. Switching to Project 2 will remove the objects in Project 1.

RiR-SwitchProjects.gh (11.5 KB)

Oh, ok. Interesting. So for tracking to work there should be a 1:1 relationship between a GH script and a Revit file.

By default the GH definition will work on the active Revit file.

But with a Grasshopper definition it can talk to multiple Revit files at the same time. So, the Document input can be added to the Revit components so that interaction can be controlled with specific Revit documents.

Understood. But my point is that Japhy is saying that as soon as you do switch the interaction to another Revit document, Tracking will be broken, and the objects sent to Revit doc 1 will be deleted.