Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    RDATA_PATH problem with NetRender

    Scheduled Pinned Locked Moved PYTHON Development
    11 Posts 0 Posters 1.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H Offline
      Helper
      last edited by

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

      On 24/10/2011 at 23:17, xxxxxxxx wrote:

      Hi everybody,

      I'am trying to set up a little helper script in order to manage all my cameras and rendersettings. When I'm trying the script in C4D R12 directly everything works fine.

      But when I try to render the scene on our servers with NetRender the clients report the following problem:

      File "<Python-Generator>", line19, in main
      Attribute Error; 'module' object has no attribute 'RDATA_PATH'

      Isn't there any active renderdata when rendering with NetRender? That would be very astonishing.
      Does anybody have an idea?

      Here's the code:

      import c4d
      from c4d import documents
      #Welcome to the world of Python

      def main() :
        doc = documents.GetActiveDocument()
       
        rd = doc.GetActiveRenderData()
        rdName = rd.GetName()

      bd = doc.GetActiveBaseDraw()
        rc = bd.GetSceneCamera(doc)
        rcName = rc.GetName()
       
        if rdName != rcName:
            bd.SetSceneCamera(doc.SearchObject(rdName+"_kamera"))
       
        rdOutputFilename = rd[c4d.RDATA_PATH]
        newRdOutputFilename = rdName+"_"+doc.SearchObject("Namenszusatz")[c4d.ID_USERDATA, 1]+"___"
       
        if rdOutputFilename != newRdOutputFilename:
            rd[c4d.RDATA_PATH] = newRdOutputFilename
            rd[c4d.RDATA_MULTIPASS_FILENAME] = newRdOutputFilename
            c4d.EventAdd()
       
        print newRdOutputFilename
       
        pass

      Greetings,
      blutsvente

      1 Reply Last reply Reply Quote 0
      • H Offline
        Helper
        last edited by

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

        On 25/10/2011 at 00:43, xxxxxxxx wrote:

        Ok, after updating...
        The error message doesn't appear anymore.

        But it seem's that there is something strange in my code.
        Because now the application on the clients shutdown without any error prompt and the server needs a few minutes to realize when the job was stopped.

        Is there something special I've to keep in mind when writing scripts with Python for NetRender?

        Greetings,
        blutsvente

        1 Reply Last reply Reply Quote 0
        • H Offline
          Helper
          last edited by

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

          On 25/10/2011 at 04:23, xxxxxxxx wrote:

          I've got it.

          Setting cache optimizing to no solves the problem.

          1 Reply Last reply Reply Quote 0
          • H Offline
            Helper
            last edited by

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

            On 08/02/2012 at 06:22, xxxxxxxx wrote:

            hey!

            i have a similar problem - where do you set cache optimizing to no?

            I keep getting - AttributeError: 'module' object has no attribute 'ID_USERDATA'

            many thanks!

            1 Reply Last reply Reply Quote 0
            • H Offline
              Helper
              last edited by

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

              On 08/02/2012 at 07:01, xxxxxxxx wrote:

              That seems to be a bug in NetRender, the identifiers are not loaded correctly.
              However, we are still waiting for an official statement, maybe they know a workaround. The only that comes into my mind would be replacing the access to the constant identifiers with their actual value, but that will cause the script to loose platform and version independence.

              1 Reply Last reply Reply Quote 0
              • H Offline
                Helper
                last edited by

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

                On 08/02/2012 at 07:11, xxxxxxxx wrote:

                @mchaloner: Please install the latest update on the Netrender clients. Does the problem still occur?

                1 Reply Last reply Reply Quote 0
                • H Offline
                  Helper
                  last edited by

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

                  On 08/02/2012 at 07:13, xxxxxxxx wrote:

                  I'm using the latest R12 NET Render Client, I think! (Build RC32293)

                  1 Reply Last reply Reply Quote 0
                  • H Offline
                    Helper
                    last edited by

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

                    On 08/02/2012 at 08:00, xxxxxxxx wrote:

                    Made a work around that basically dumps all the helper python tags before calling the save project command...

                    included it if it helps anyone

                      
                    import c4d  
                    from c4d         import gui  
                    from c4d         import documents  
                    from c4d         import BaseTime  
                    from c4d         import Vector  
                    from c4d         import gui  
                    from c4d.gui     import GeDialog  
                      
                    def deletePythonTags(obj) :  
                        
                      tagList = obj.GetTags()  
                        
                      for t in tagList:  
                         if t.GetTypeName() == "Python":  
                             obj.KillTag(t.GetType())  
                        
                      return  
                      
                    def main() :  
                        
                      doc = documents.GetActiveDocument()  
                        
                      objList = doc.GetObjects()  
                        
                      camList = []  
                        
                      for obj in objList:  
                      
                          #GET ALL CAMERAS  
                      
                          if obj.GetTypeName() == "Camera":  
                               
                              camList.append(obj)  
                                
                          if obj.GetName() == "[Document Render Path]":  
                               
                              #DELETE HELPER NULL  
                                
                              doc.SetActiveObject(obj)  
                              c4d.CallCommand(12109)  
                            
                      for cam in camList:  
                          #DELETE TAGS  
                          deletePythonTags(cam)  
                        
                      c4d.CallCommand(12255)  
                      
                    if __name__=='__main__':  
                      main()  
                    
                    1 Reply Last reply Reply Quote 0
                    • H Offline
                      Helper
                      last edited by

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

                      On 08/02/2012 at 10:26, xxxxxxxx wrote:

                      @mchaloner: Can you please check if the client version is R12.048. Thx.

                      1 Reply Last reply Reply Quote 0
                      • H Offline
                        Helper
                        last edited by

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

                        On 09/02/2012 at 02:24, xxxxxxxx wrote:

                        Weirdly the main app is 12.048 - but my net client is still 12.016.

                        I downloaded the update from the Maxon website and selected Manual Installation from the NET client...

                        and I get this

                        1 Reply Last reply Reply Quote 0
                        • H Offline
                          Helper
                          last edited by

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

                          On 09/02/2012 at 08:23, xxxxxxxx wrote:

                          I tried to reproduce this but without any success. But I know the problem was fixed in one of the updates so maybe something is broken with your installation (just guessing).

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post