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

    expression tag plugin

    Scheduled Pinned Locked Moved SDK Help
    10 Posts 0 Posters 902 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 30/04/2010 at 14:00, xxxxxxxx wrote:

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

      ---------
      I've created an expression plugin tag but I'm not able to add it to some object.. In SDK it's described as "New Tag menu in the Object Manager" but there's no menu such as that.. I would also like to create a menu plugin that would add this tag, but I couldn't find the way to do that in SDK.. I've been studying SDK for about a week and simply couldn't find it and understand it..
      please excuse my english...

      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 30/04/2010 at 16:14, xxxxxxxx wrote:

        At the top of the object manager there are 6 menus.  The tag menu is the fifth from the left.  The quickest way to add a tag to an object is by right clicking on an object (which opens the tag menu).  Your custom tag should show up somewhere near the bottom of that menu.

        There's really no need to create a menu plugin (called a command data plugin) to call your tag unless you have a more complex setup that your tag should be used with as default (or for user convenience).

        -kvb

        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 01/05/2010 at 02:18, xxxxxxxx wrote:

          Thanks,
          I've copied and changed the example code from SDK but the tag simply isn't there..

            
          class MyExpressionPluginTag : ExpressionPluginTag  
          {  
          public:  
            MyExpressionPluginTag();   
            GetID();  
            MultipleAllowed();  
            DisplayAllowed();  
            GetIcon();  
            GetHelpText();  
            UseMenu();  
            GetName();  
            Edit();  
            Execute(doc, op);  
          }  
            
          MyExpressionPluginTag::MyExpressionPluginTag()   
          {  super();}  
            
          MyExpressionPluginTag::GetID()                 
          {return 1025173;}  
            
          MyExpressionPluginTag::MultipleAllowed()       
          {return TRUE;}  
            
          MyExpressionPluginTag::DisplayAllowed()        
          {return TRUE;}  
            
          MyExpressionPluginTag::GetIcon()               
          {   
                var Icon = new(BaseBitmap,1,1);  
            var File = new(Filename);  
            File = GeGetRootFilename();  
            File->RemoveLast();  
            File->AddLast("ikona.tif");  
            Bitmap->Load(File);  
            return Bitmap;  
          }  
            
          MyExpressionPluginTag::GetHelpText()           
          { return "Fluidplugin";}  
            
          MyExpressionPluginTag::UseMenu()   
          {  
          return TRUE;  
          }  
            
          MyExpressionPluginTag::GetName()   
          {  
           return "Fluid Plugin 4";  
          }  
            
          MyExpressionPluginTag::Edit()  
          {  
          var dlg = TextDialog("example", DLG_OK);  
          }  
            
          MyExpressionPluginTag::Execute(doc, op)  
          {//example code  
          if(!doc->FindObject("changed")){  
            var obj = doc->GetActiveObject;  
            obj->SetName("changed");  
          }  
          }  
            
            
          /////////  
          // Main  
            
          main()  
          {  
            Register(MyExpressionPluginTag);  
          }  
          
          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 01/05/2010 at 10:35, xxxxxxxx wrote:

            EDIT: woops... wrong language.

            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 01/05/2010 at 11:51, xxxxxxxx wrote:

              When doing coffee coding always check the console for errors
              and put in println() for parts you want to see if it is working.

              Yes, you need the main() for registering the expression.

              Cheers
              Lennart

              Looked in the console for your code and corrected (see notes in code)

                
              class MyExpressionPluginTag : ExpressionPluginTag   
              {   
              public:   
              MyExpressionPluginTag();   
              GetID();   
              MultipleAllowed();   
              DisplayAllowed();   
              GetIcon();   
              GetHelpText();   
              UseMenu();   
              GetName();   
              Edit();   
              Execute(doc, op);   
              }   
                
              MyExpressionPluginTag::MyExpressionPluginTag()   
              { super();}   
                
              MyExpressionPluginTag::GetID()                 
              {return 1025173;}   
                
              MyExpressionPluginTag::MultipleAllowed()        
              {return TRUE;}   
                
              MyExpressionPluginTag::DisplayAllowed()         
              {return TRUE;}   
                
              MyExpressionPluginTag::GetIcon()                
              {   
                    var Icon = new(BaseBitmap,1,1);   
                  var File = new(Filename);   
                  File = GeGetRootFilename();   
                  File->RemoveLast();   
                  File->AddLast("ikona.tif");   
                  Icon->Load(File);   
                  return Icon; // <- You've called the bitmap Icon   
              }   
                
              MyExpressionPluginTag::GetHelpText()          
              { return "Fluidplugin";}   
                
              MyExpressionPluginTag::UseMenu()   
              {   
              return TRUE;   
              }   
                
              MyExpressionPluginTag::GetName()   
              {   
              return "Fluid Plugin 4";   
              }   
                
              MyExpressionPluginTag::Edit()   
              {   
              var dlg = TextDialog("example", DLG_OK);   
              }   
                
              MyExpressionPluginTag::Execute(doc, op)   
              {//example code   
              if(!doc->FindObject("changed")){   
              var obj = doc->GetActiveObject();//<- missed the "()"   
              if(obj && obj->GetName() != "changed") // <- Check if obj and name   
              obj->SetName("changed");   
              }   
              }   
                
                
              /////////   
              // Main   
                
              main()   
              {   
              Register(MyExpressionPluginTag);   
              println("MEPL Loaded OK"); // <- Check if loaded in Console   
              }   
              
              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 01/05/2010 at 11:59, xxxxxxxx wrote:

                oh, right... coffee... my bad:D

                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 01/05/2010 at 14:12, xxxxxxxx wrote:

                  Thanks,
                  now I'm 100% sure the code is OK, I've had no errors in console but the tag didn't appear in any menu.. I've been trying this for about a week and I can't uderstand where the problem is.. (I hope not between chair and keyboard 🙂 )

                  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 02/05/2010 at 08:10, xxxxxxxx wrote:

                    Check the resources! If there's anything wrong with the resources (i.e. a missing icon), not even the debugger will kick in.

                    Hope it helps

                    Kabe

                    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 02/05/2010 at 08:48, xxxxxxxx wrote:

                      I've only this .cof file and the icon, and if the icon load wasn't succesful, cinema adds a grey rectangle to the tag.. (written in SDK) Anyway does someone have some working expression plugin tag?

                      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 02/05/2010 at 09:23, xxxxxxxx wrote:

                        Thanks everyone for helping me, the problem was definitely between chair and keybord, I was saving the code in another file with the same name.. the plugin is working fine..

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