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
    • Login

    Get/Set Preferences Item

    PYTHON Development
    0
    6
    1.0k
    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

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

      On 22/03/2011 at 20:39, xxxxxxxx wrote:

      Hello all,

      Is it possible to get/set the value of an item in the C4D Preferences dialog?
      I've been trying several things but haven't had success.

      Thanks in advance for the help!

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

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

        On 22/03/2011 at 23:32, xxxxxxxx wrote:

        I know it's possible for the OpenGL settings but maybe not for all of the prefs items.

        Try dragging a prefs dialog entry (the label of a checkbox, the label before a combo box etc.) to the Python console it should give you the name of the description ID.

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

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

          On 24/03/2011 at 08:34, xxxxxxxx wrote:

          Thanks for the reply!

          I did manage to grab the settings from c4d.GetWorldContainer()
          This seems to give me the items I need in a basecontainter however,
          I can't tell what ID corresponds to what item in the preferences dialog.

          When I drag the item to the console, the ID I get is very different from what
          the c4d.GetWorldContainer() gives me. The only ID I can match up is the Port
          item under Communication. I am able to set/get mainly because the number 8080
          is easy to pick out.

          Not sure if I'm going about it the right way.

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

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

            On 24/03/2011 at 14:05, xxxxxxxx wrote:

            If you are looking for ways to find IDs, additionally to the mentioned drag & drop support you can do the following:

            in the Python console line, enter

            import c4d; print dir(c4d)
            

            then inspect the output.

            Since all symbols are now part of the main c4d module the dir() python function will show them all to you.
            And I mean all, including IDs defined in Plugins and other (CINEMA 4D) modules.

            And then theres the API search method:

            There are some some header files included with the CINEMA 4D C++ SDK that give you direct insight into additional symbol names. These were mostly relevant for COFFEE and C++ put Python SDK being coded on top of the COFFEE API you can directly relate to the symbol names in Python.

            In your MAXON/CINEMA 4D R12/resource folder, take a look at the files coffeesymbols.h and c4d_symbols.h. Also in that folder take a look around the sub folder modules/modeling/res/description, thats where the header files with symbols for modeling tools for example are stored. And you can also take a peek at other module folders. Just don't relocate, remove or change anything.

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

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

              On 24/03/2011 at 17:18, xxxxxxxx wrote:

              @990adjustments: I also recommend you the C++ documentation which contains several additional information for such specific questions.

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

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

                On 24/03/2011 at 22:19, xxxxxxxx wrote:

                Thank you gentlemen for the help and tips! Truly appreciate it!
                Got what I needed working.

                I had previously gone through the header files and thought I had found the correct IDs but having gone through them again I found the right ones.

                Now my last question and this is were I was getting confused. When dragging an item from the prefs window, the description ID I was getting was different then the one that is actually required.

                For instance if you drag port item from the communication section you get PREF_INTERNET_UPDATEPORT. The ID in the header file says 1002. Trying to set the value was not working. What I actually needed was WPREF_ONLINEUPDATER_PROXYPORT which has an ID of 40009. This gave me the desired results. Am I misunderstanding this?

                Thanks AndreB, examining the output from dir() helped me locate the correct description.

                Once again, thank you for the input. Thank you s_rath, I will definitely dig a little deeper into the C++ docs.

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