RenderData
objects are objects stored with the BaseDocument
, representing a set of render settings.
GetActiveRenderData()
returns a reference to such an object. So calling GetActiveRenderData()
twice just returns two references to the same object.
If you want to store the previous state, you could simply get a clone:
rd_saved = doc.GetActiveRenderData().GetClone()
and use that clone to restore the original state:
rd_saved.CopyTo(rd, c4d.COPYFLAGS_NONE)
But without knowing what you actually want to achive, it is hard to say if that is a good solution or not.
Also, assuming this is a Script Manager script: doc = c4d.documents.GetActiveDocument()
is useless.