SOLVED: Why can't I add simple renderdata?

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

On 15/09/2011 at 17:17, xxxxxxxx wrote:

Hello,

I am making a simple script that does the following

1. Runs through a simple loop that iterates different scene cameras (controlled with User data ID:17)
2. Changes the Renderoutput path (c4d.RDATA_PATH) based upon this loop
3. Renders the image with this filename.

I am able to get steps 1 and 3 working fine. However 2 doesnt update in the render settings. The c4d.RDATA_PATH function won't actually write the change to the render setting. Is there a better method for approching this problem. I thought that there would be a render function that had a path argument, rather than getting it from the render setting.

I know this is somthing really simple, but i cant seem to find out what i am doing wrong guys.

  
import c4d  
from c4d import bitmaps, documents  
  
c4d.CallCommand(1024314) # Clear Python Log  
c4d.CallCommand(1022604) # Open Python Log  
  
def PreviewLoop() :  
  doc          = documents.GetActiveDocument()  
  rd           = doc.GetActiveRenderData().GetData()   
  
  for i in xrange(5) :  
  
      rd[c4d.RDATA_PATH] = r'C:	emp0' + str(i+1) #Iterate Render Path      
      op[c4d.ID_USERDATA, 17] = i+4 #Iterate Seleceted Camera  
      c4d.EventAdd()  
       
      print str(rd[c4d.RDATA_PATH]) # Preview path Confirmation  
   
      bmp = bitmaps.BaseBitmap()  
      bmp.Init(x=1024, y=576, depth=32) #Initiate Render Resolution  
      documents.RenderDocument(doc, rd, bmp, c4d.RENDERFLAGS_EXTERNAL)  
      bitmaps.ShowBitmap(bmp) #Launch Picture Viewer  
  
PreviewLoop()  
  
print 'Done!'  
  

Any ideas? thanks.

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

On 15/09/2011 at 18:34, xxxxxxxx wrote:

Looks like i solved it :slightly_smiling_face:

Had something to do with     rd           = doc.GetActiveRenderData(). I  moved the GetData() to the documents.RenderDocument argument...

Here is the updated code.

  
  
import c4d  
from c4d import bitmaps, documents  
  
c4d.CallCommand(1024314) # Clear Python Log  
c4d.CallCommand(1022604) # Open Python Log  
  
def PreviewLoop() :  
  doc          = documents.GetActiveDocument()  
  rd           = doc.GetActiveRenderData()   
  
  op[c4d.ID_USERDATA, 14] = 0 # Disable any Analaglyph Preview settings  
  
  
  print 'Rendering Preview...' # Preview Confirmation.        
  for i in xrange(5) :  
  
      rd[c4d.RDATA_PATH] = r'C:\ViewX	emp0' + str(i+1) #Iterate Render Path      
      op[c4d.ID_USERDATA, 17] = i+4 #Iterate Seleceted Camera  
      c4d.EventAdd()  
       
      print str(rd[c4d.RDATA_PATH]) # Preview path Confirmation  
   
      bmp = bitmaps.BaseBitmap()  
      bmp.Init(x=1024, y=576, depth=32) #Initiate Render Resolution  
      documents.RenderDocument(doc, rd.GetData(), bmp, c4d.RENDERFLAGS_EXTERNAL)  
      bitmaps.ShowBitmap(bmp) #Launch Picture Viewer  
  
PreviewLoop()  
  
print 'Done!'