Okay, the pre render script is definitely acting capriciously
In order to investigate, I've made a small test case.
Simple scene with only one object: nurbsSpehre1
all scripts are in external file: pre.py
CODE
import maya.cmds
def preFrame():
maya.cmds.move( 3, 0, 0, "nurbsSphere1", r = True)
x = maya.cmds.getAttr( "nurbsSphere1.tx" )
file = open( "log.txt","a")
file.write ( "x = " + x
+ "\r\n" )
file.close()
pre render scripts are assigned in render globals:
Pre render MEL: python( "import pre" )
Pre render frame MEL: python( "pre.preFrame()" )
I render 3 frames from command line and all 3 frames are identical, i.e. the sphere is not moved. But values written from preFrame() to the log file indicate that value of translateX actually changed on each frame:
CODE
x = 0.0
x = 3.0
x = 6.0
I'm probably missing something about the way the pre render scripts operate scratches head
Any clues?