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
    • Recent
    • Tags
    • Users
    • Login

    I can't access the AxisCenterTool

    Scheduled Pinned Locked Moved SDK Help
    10 Posts 0 Posters 750 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 10/02/2011 at 14:11, xxxxxxxx wrote:

      User Information:
      Cinema 4D Version:   12 
      Platform:   Windows  ;   
      Language(s) :     C++  ;

      ---------
      I'm trying to change the CenterAxisTool settings through a menu plugin. But It's not working.
      Here's my code:

      BaseContainer bc;  
       BaseObject *op = doc->GetActiveObject();   
        ModelingCommandData mcd;  
        mcd.bc = op->GetDataInstance();  
        mcd.doc = doc;  
        mcd.op = op;      
        mcd.flags = MODELINGCOMMANDFLAGS_CREATEUNDO;  
        bc.SetBool(MDATA_CENTER_CENTER,TRUE);   
        if (!SendModelingCommand(ID_MODELING_CENTER_TOOL, mcd)) return FALSE;  
        EventAdd();//Update all the changes   
      

      And here's the MDATA options listed in the toolcenter.h file I'm using so you guys don't have to look them up. 
      There's are a lot more options in the tool that aren't listed in this .h file. So I'm assuming that they aren't  available through the API?

        
      enum  
      {  
       MDATA_CENTER_XAXIS                = 1000,  
       MDATA_CENTER_YAXIS                = 1001,  
       MDATA_CENTER_ZAXIS                = 1002,  
           MDATA_CENTER_NONE                    = 0,  
           MDATA_CENTER_NEG                    = 1,  
           MDATA_CENTER_POS                    = 2,  
           MDATA_CENTER_CENTER                = 3,  
        
       MDATA_CENTER_  
      };  
      

      Anyone know what I'm doing wrong?

      -ScottA

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

        You set data in bc, but don't use it for the command.

        mcd.bc = bc; // not op->GetDataInstance()

        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 11/02/2011 at 08:15, xxxxxxxx wrote:

          Thank you.
          That got me closer. But it still won't do anything.

          Here's my code:

          BaseContainer bc;  
           BaseObject *op = doc->GetActiveObject();   
            ModelingCommandData mcd;  
            mcd.bc = &bc;  
            mcd.doc = doc;  
            mcd.op = op;      
            mcd.flags = MODELINGCOMMANDFLAGS_CREATEUNDO;  
            bc.SetBool(MDATA_CENTER_CENTER,TRUE);  
            if (!SendModelingCommand(ID_MODELING_CENTER_TOOL, mcd)) return FALSE;  
            EventAdd();
          

          I double checked myself on this code by using an MCOMMAND_OPTIMIZE version of it. And it works.
          So I think I've got the code right (I hope). But I still can't make the Axis Center tool respond.

          -ScottA

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

            You might need to set mcd.mode .
             
            mcd.mode = MODELINGCOMMANDMODE_ALL;

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

              I tried that too. But it didn't seem to help.
              In fact. I've had no luck at all using the MODELINGCOMMANDMODE_ALL option in other cases too.
              I have been meaning to go back and see why that option was never working for me.
               
              I've tried two different ways to use it:
              1.) mcd.mode = MODELINGCOMMANDMODE_ALL;
              2.) bc.SetBool(MODELINGCOMMANDMODE_ALL,TRUE);

              Neither one worked for me.

              -ScottA

              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 11/02/2011 at 12:50, xxxxxxxx wrote:

                Doh!
                Sorry guys.

                I just found a "Center" tool under the functions menu. And based on the MDATA entries in the toolcenter.h file.  It looks like this is what they are for.
                I didn't even know it was there. And it does something completely different from the Axis Center tool.
                So it's no wonder that my code wasn't working. 😊

                I can't seem to find anything in the SDK's referring to the Axis Center tool found under the Structure menu. So At this point, I don't know if it's even supported.

                -ScottA

                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 14/02/2011 at 02:22, xxxxxxxx wrote:

                  Sorry, calling the Axis Center functions is not possible through the C++ API.

                  cheers,
                  Matthias

                  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 14/02/2011 at 07:30, xxxxxxxx wrote:

                    Bummer.
                    It would be very nice to have access to this tool.

                    Thank you for confirming that it's not available.

                    -ScottA

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

                      Is that also true for ID_MODELING_OUTLINE_SELECTION_TOOL? (If yes, why is it documented in the SDK?)

                      I'm trying and trying and always get FALSE. If I send another command like ID_MODELING_NORMALMOVE_TOOL it works, so it can't be a problem of calling from a forbidden context.

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

                        Outline selection is not supported through SendModelingCommand. I will remove it from the docs. Thanks for pointing it out.

                        cheers,
                        Matthias

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