from pyfbsdk import *
FBApplication().FileNew()
lCube = FBModelCube( "Cube" )
lCube.Show = True
lTranslation = lCube.PropertyList.Find( 'Lcl Translation' )
lTime = FBTime()
lPlayerControl = FBPlayerControl()
lTime.SetFrame( 0 )
lPlayerControl.Goto( lTime )
lTranslation.Data = FBVector3d( 2 , 3 , 4 )
lTranslation.Key()
lTime.SetFrame( 30 )
lPlayerControl.Goto( lTime )
lTranslation.Data = FBVector3d( 5 , 9 , 2 )
lTranslation.Key()
lTime.SetFrame( 60 )
lPlayerControl.Goto( lTime )
lTranslation.Data = FBVector3d( 9 , 5 , 5 )
lTranslation.Key()
lTranslation.SetMemberLocked( 1 , True )
print 'Number of keys on each channel before everything : '
lIndex = 0
for lNode in lTranslation.GetAnimationNode().Nodes:
print ' Node #' + str(lIndex) + ' : ' + str( lNode.KeyCount )
lIndex = lIndex + 1
print 'All keys are there.'
print ''
lCube.Selected = True
lOptions = FBPlotOptions()
lOptions.PlotLockedProperties = False
lSystem = FBSystem()
lSystem.CurrentTake.PlotTakeOnSelected( lOptions )
print 'Number of keys on each channel after ploting #1 : '
lIndex = 0
for lNode in lTranslation.GetAnimationNode().Nodes:
print ' Node #' + str(lIndex) + ' : ' + str( lNode.KeyCount )
lIndex = lIndex + 1
print 'Nothing is plotted on locked channel.'
print ''
lCube.Selected = True
lOptions = FBPlotOptions()
lOptions.PlotLockedProperties = True
lSystem = FBSystem()
lSystem.CurrentTake.PlotTakeOnSelected( lOptions )
print 'Number of keys on each channel after ploting #2 : '
lIndex = 0
for lNode in lTranslation.GetAnimationNode().Nodes:
print ' Node #' + str(lIndex) + ' : ' + str( lNode.KeyCount )
lIndex = lIndex + 1
print 'Keys on locked channel are also plotted.'
print ''
lSystem = FBSystem()
lSystem.CurrentTake.ClearAllProperties( False )
print 'Number of keys on each channel after clearing #1 : '
lIndex = 0
for lNode in lTranslation.GetAnimationNode().Nodes:
print ' Node #' + str(lIndex) + ' : ' + str( lNode.KeyCount )
lIndex = lIndex + 1
print 'Keys on locked channel are not cleared.'
print ''
lSystem.CurrentTake.ClearAllProperties( False , True )
print 'Number of keys on each channel after clearing #2 : '
lIndex = 0
for lNode in lTranslation.GetAnimationNode().Nodes:
print ' Node #' + str(lIndex) + ' : ' + str( lNode.KeyCount )
lIndex = lIndex + 1
print 'All keys have been cleared.'
print ''