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

    how to get the name of all texturefiles?

    SDK Help
    0
    7
    705
    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
      Helper
      last edited by

      On 16/04/2017 at 19:11, xxxxxxxx wrote:

      User Information:
      Cinema 4D Version:   R16 
      Platform:   Windows  ;   
      Language(s) :   C.O.F.F.E.E  ;

      ---------
      hello guys:

      I'm tring to get names of all texture files by C.O.F.F.E.E script.But I can't find a simple methord to get that.

      Now I'm using doc->GetFirstMaterial() and  tempmaterial#MATERIAL_COLOR_SHADER to get a texture name and then getnext().

      But obviously it's too complicated and it's hard to deal complex shader.

      So I wonder if there exist an easier methord to get all texture files just like GetAllTextures() in python script.

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

        On 17/04/2017 at 08:44, xxxxxxxx wrote:

        Hi and welcome to the Plugin Cafe!

        I'm afraid C.O.F.F.E.E is quite limited and there is no easy way to retrieve all the textures for a document.
        Why not consider using Python? What kind of script/plugin are you developing?

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

          On 17/04/2017 at 18:32, xxxxxxxx wrote:

          Thanks for your reply.
          I'm trying to use this script by windows command line,just like:Cinema 4D.exe loadfile XX.C4D loadfile XX.csc.
          But python script seems not support that.
          Or support it by another methord?

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

            On 18/04/2017 at 03:46, xxxxxxxx wrote:

            A python script can't be automatically executed from the command line. Instead the Python API allows to process the command line arguments.
            This has to be done from PluginMessage() and the corresponding C4DPL_COMMANDLINEARGS message.
            Here's a simple code snippet to be saved into a pyp file located inside the plugins folder:

            import c4d
            import sys
              
            def PluginMessage(id, data) :
                if id==c4d.C4DPL_COMMANDLINEARGS:
                    if '-ProcessTextures' in sys.argv:
                        print "Process Textures Started"
                        
                        return True
                
                return False
            

            Note, the command line arguments set into sys.argv can't be consumed in Python. This is a know limitation.
            So you should see the following minor warning output into the console:

            Warning: Unknown arguments: -ProcessTextures
            

            For more information on PluginMessage() see Python SDK docs Command Line Arguments.

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

              On 18/04/2017 at 20:33, xxxxxxxx wrote:

              Thank you for your help.Python is powerful but I do need to use the coffee script.

              And now I want to know how to get  layer parameters from different layers.

              Just like the type of reflectance layers  in c4d material.

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

                On 19/04/2017 at 02:26, xxxxxxxx wrote:

                I'm afraid C.O.F.F.E.E. API is quite limited and reflectance layers from a Material can't be accessed.
                C++ and Python APIs can return such information.

                What do you really want to do?
                Your previous post about calling Cinema 4D by command line with unknow loadfile argument is confusing:

                Originally posted by xxxxxxxx

                Cinema 4D.exe loadfile XX.C4D loadfile XX.csc.

                Do you have an already existing C.O.F.F.E.E. script that you want to extend for your needs?
                Why not converting it to Python? We can help you in doing such conversion. Then this converted script could be extended easily.

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

                  On 19/04/2017 at 03:54, xxxxxxxx wrote:

                  Yes, I already have a C.O.F.F.E.E.script and want to extend.

                  But now I have to convert to python.

                  Thanks so much.And I'll try python.

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