Using variables with python tag



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 08/06/2012 at 09:36, xxxxxxxx wrote:

    I am beginning to think I do not quite understand the relation between cinema 4d and python.
    I have a python tag with a some simple code (see below).
    What I want to achieve is store data on frame x and use in frame x+1.

    For frame 0 it is ok, but for other frames I get the message "referenced before assignment".
    I do understand the message and why it is given, but it tells me that the code is executed every frame and the variables are initialized every time.

    I can use userdata or the BaseContainer, that solves my issues, but I would like to understand.
    I also tried global variables, but that didn't help either.

    What to do?

    def main() :

    print "\n----------\n"

    frame = doc.GetTime().GetFrame(doc.GetFps())
    if (frame ==0) :
      varx = 0
    else:
      varx = varx + frame

    print "varx: ", varx



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 08/06/2012 at 09:43, xxxxxxxx wrote:

    Sorry, I did not search the forum before asking.

    The solution is simple.
    Just init the variable outside main and define it as global within main.

    varx=-1

    def main() :

    global varx


Log in to reply