Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware 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
    • Register
    • Login
    1. Home
    2. bencaires
    B
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 8
    • Best 1
    • Controversial 0
    • Groups 0

    bencaires

    @bencaires

    1
    Reputation
    123
    Profile views
    8
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    bencaires Unfollow Follow

    Best posts made by bencaires

    • RE: Copy color of a clone to an other clone

      Hey Leo,

      I think this thread from earlier is what you need using a python effector.
      https://developers.maxon.net/forum/topic/10968/python-effectors/5

      posted in Cinema 4D SDK
      B
      bencaires

    Latest posts made by bencaires

    • RE: Controlling Shader with Userdata

      Thank you m_adam that works perfectly now. Is that bug in all versions of cinema?

      posted in Cinema 4D SDK
      B
      bencaires
    • RE: Copy color of a clone to an other clone

      Hey Leo,

      I think this thread from earlier is what you need using a python effector.
      https://developers.maxon.net/forum/topic/10968/python-effectors/5

      posted in Cinema 4D SDK
      B
      bencaires
    • Controlling Shader with Userdata

      Hey,

      I'm trying to control a shader from some userdata but I keep getting this error:

      Traceback (most recent call last):
      File "'Python'", line 6, in main
      AttributeError: parameter access failed

      I'm not sure what I'm missing here.

      https://www.dropbox.com/s/0pvpjbiiofqdwg5/LinkShader_Py.c4d?dl=0

      import c4d
      
      
      def main():
          ShaderOb = op[c4d.ID_USERDATA,3]
          ShaderOp = op[c4d.ID_USERDATA,c4d.ID_MG_SHADER_SHADER]
          ChannOp = op[c4d.ID_USERDATA,c4d.ID_MG_SHADER_CHANNELSELECT]
          
          
          ShaderOb[c4d.ID_MG_SHADER_SHADER] = op[c4d.ID_USERDATA,c4d.ID_MG_SHADER_SHADER]
          ShaderOb[c4d.ID_MG_SHADER_CHANNELSELECT] = op[c4d.ID_USERDATA,c4d.ID_MG_SHADER_CHANNELSELECT]
      
      posted in Cinema 4D SDK
      B
      bencaires
    • RE: Linking python tag userdata to null (ie compositing tag)

      Yeah I have control of all my userdata and objects already. Maybe this linked file will help? Both objects have the same userdata on the attached tag but the plugin version attaches it's userdata to the parent object like the phong tag does.

      https://www.dropbox.com/s/11hrs39qhhayqpk/PythonTag_Test_v1.c4d?dl=0

      posted in Cinema 4D SDK
      B
      bencaires
    • RE: Linking python tag userdata to null (ie compositing tag)

      Thanks y_puech, so is there no way to give a python tag the same functionality that comes when you add a plugin tag to an object? That seems to share userdata with the object it's attached to.

      posted in Cinema 4D SDK
      B
      bencaires
    • Linking python tag userdata to null (ie compositing tag)

      Hi, I'm transferring an expresso setup I have into a python tag object. I have my python tag attached to a null in the scene and I'd like to be able to see the userdata of the python tag attached to the null like I can if I add a Compositing tag. I tried this code below but that only copies the userdata instead of linking it. Any ideas would be super helpful!

      import c4d
      from c4d import gui
      
      
      def main():
          
          target = op[c4d.ID_USERDATA,5]          #The null I want to transfer the userdata to
          obj = op                                #The userdata I want to transfer
              
          for id, bc in obj.GetUserDataContainer():
            
            target.SetUserDataContainer(id, bc)
          
          block = op [c4d.ID_USERDATA,4]
          color = op [c4d.ID_USERDATA,2]
          
          block[c4d.ID_BASEOBJECT_COLOR] = c4d.Vector(color)
      
      posted in Cinema 4D SDK
      B
      bencaires
    • RE: Python Effectors

      Thanks dskeith, that code worked perfectly. Thanks for that!

      posted in Cinema 4D SDK
      B
      bencaires
    • Python Effectors

      Hi everyone,

      I've made a simply python effector that allows me to manipulate the color of a effected cloner. That works fine but when I creat an instance of that object and start moving it in 3D space, I get a ton of these errors:

      Traceback (most recent call last):
      File "'<Python>'", line 18, in main
      TypeError: object of type 'NoneType' has no len()

      https://www.dropbox.com/s/4cui1f7t8a1l0n9/PyEffectorTest_v1.c4d?dl=0

      import c4d
      from c4d.modules import mograph as mo
      #Welcome to the world of Python
      
      def main():
          linked = op[c4d.ID_USERDATA,1]
          md = mo.GeGetMoData(op)
          md2 = mo.GeGetMoData(linked)
          EB = op[c4d.ID_USERDATA,2]
      
          if md is None: return False
          
          cnt = md.GetCount()
          clr = md.GetArray(c4d.MODATA_COLOR)
          clr2 = md2.GetArray(c4d.MODATA_COLOR)    
      
          if cnt > 0: 
              print cnt
          
          #for i in xrange(0,cnt):
              #clr[i] = clr2[i] + (clr2[i] * c4d.Vector(EB))
          
          md.SetArray(c4d.MODATA_COLOR, clr, True)
          return True
      
      
          c4d.EventAdd()
          
          
      
      if __name__=='__main__':
          main()
      

      Does anyone have an idea how to get around this?

      posted in Cinema 4D SDK python
      B
      bencaires