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

    Arguments from the command line

    Scheduled Pinned Locked Moved PYTHON Development
    6 Posts 0 Posters 576 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 04/11/2011 at 00:58, xxxxxxxx wrote:

      Hello there!

      I was wondering if it's possible to tell C4D to open a particular file and pass some arguments to a python script from a terminal command line.

      I'm hoping to automate C4D to process some bitmap images into geometry and export as STL. I don't want to actually render anything.

      Does this sound possible? Thanks in advance!

      Cheers, sCam

      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 04/11/2011 at 06:46, xxxxxxxx wrote:

        Hi sCam, in your plugin you can ask for sys.argv to get a list of passed arguments. But this list is only available if C4D is full loaded - so on startup this is not set yet. This should be added. Thx for the report.  Until this is implemented, you could use environment variables which can be read out via os.environ. If you use R13 the best place is the PluginMessage function - just define it somewhere in your plugin, its a callback fired by c4d automatically on startup.

        import os
          
        def PluginMessage(id, data) :
            if id==c4d.C4DPL_COMMANDLINEARGS:
                print os.environ
                #TODO
                return True
            return False
        

        Cheers, Sebastian

        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 04/11/2011 at 09:40, xxxxxxxx wrote:

          Hey!

          Thanks very much for your reply. You'll have to forgive me as I'm kind of new to all of this Python in C4D stuff. I'm not running the code as a plug-in at the moment. Right now I'm running a script from the manager. Do you think I need to switch to creating a plug-in to achieve this result?

          Also, are you aware of any resources on creating plug-ins in Python? My searches so far have turned up very little (the few bits and pieces out there seem to focus on C++). The SDK doesn't offer much help either.

          Cheers, sCam

          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 04/11/2011 at 09:56, xxxxxxxx wrote:

            Do you think I need to switch to creating a plug-in to achieve this result?

            In this case you can access the arguments with sys.argv and os.environ. But you cannot autostart the script on startup of c4d, you still have to start it manually. This would be not the case if you write a plugin. Just copy the code above in a *.pyp file and place the file somewhere in your plugins folder. Then start c4d with set environment variables and open the console of C4D.

            Also, are you aware of any resources on creating plug-ins in Python? My searches so far have turned up very little (the few bits and pieces out there seem to focus on C++). The SDK doesn't offer much help either.

            The documentation contains a folder called "examples" which contains some plugins.

            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 04/11/2011 at 10:32, xxxxxxxx wrote:

              May be of your interest, too. Even its still very incomplete.

              http://forums.cgsociety.org/showthread.php?f=47&t=1005134

              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 05/11/2011 at 16:22, xxxxxxxx wrote:

                Thanks all, gonna have a look at getting it going as a plugin. Expect more stoopid questions soon 😉

                Cheers, sCam

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