• User Interface Description

    10
    0 Votes
    10 Posts
    2k Views
    O
    @s_bach Thank you so much for your help!
  • How to make menus pop up in a certain distance of the mouse?

    python r20 windows
    3
    0 Votes
    3 Posts
    1k Views
    M
    @m_adam wow! I did what you say,it works!! you are so cool!! thank you very much!!! yeah!!
  • MAXON_OPERATOR_MOVE_ASSIGNMENT and virtual destructor

    3
    0 Votes
    3 Posts
    740 Views
    C4DSC
    I am still a C++ dinosaur, and particularly not experienced with the move operator. So thanks for pointing out the need for the manually written assignment operator. Together with the already implemented move constructor I had, I now more clearly see the point.
  • SendModelingCommand \ LOOP_TOOL

    2
    0 Votes
    2 Posts
    581 Views
    r_giganteR
    Hi arsen, I'm sorry but the bug is not fixed yet. I've pinged the group responsible for handling it and as soon as I received news about the fixing time frame, I'll report here. Best, Riccardo
  • maxon::String in classic API

    6
    1
    0 Votes
    6 Posts
    1k Views
    C4DSC
    Thanks for the confirmation SNHookClass still using the legacy String.
  • Quit Cinema after SAVE_AFTER message

    r20 python
    3
    0 Votes
    3 Posts
    689 Views
    B
    Hi @m_adam! Thank you for your response. I looked for a way to mark the post as a question while submitting, I didn't think to look at the submitted post again for that option. I'll remember next time. KillDocument and Exiting were never ment to run consecutively, they were just two things I wanted to try for different scenarios. I should have clarified that. StopAllThreads() unfortunately wasn't enough, but adding in a small message plugin to trigger the exit from the CoreMessage() did the trick. I'm now changing a global boolean for the CoreMessage() to look for. Is that what you had in mind? Thank you for your help, everything works now. I'll make sure and try and find the "mark as solved" button on my way out Edit: I can't actually mark your comment as the solution, only this one...
  • Add Dotted Line to Labels

    4
    1
    0 Votes
    4 Posts
    840 Views
    M
    Hi @Ogers, first of all, welcome in the plugincafe community. Before to start I would like to point you to: -Q&A New Functionality. -About Tags and Tagging. I've setup your topic correctly. As you can see, and already figured in this topic what you are seeing in your picture is a DescriptionCustomGui especially how the CustomGui display each DescId entry. That means it's not a text, but a parameter ID. Which can be dragged into the console / animated for example. There is no proper way to creates theses without using DescriptionCustomGui. With that's said I will answer to your other topic. Cheers, Maxime.
  • Where to put my .dylib ?

    Moved c++
    11
    0 Votes
    11 Posts
    6k Views
    r_giganteR
    Hi ascorbin, I see the point. Well in this case I strongly suggest you to google around for install_name_tooland see (e.g. here) how helpful it can be with regard to dylib handling. What I suggest is: make a backup copy of your dylib execute in a terminal install_name_tool -id "@loader_path/res/libs/osx/<yourlib>.dylib" <path to your c4d plugin>/res/libs/osx/<yourlib>.dylib rebuild your plugin to be sure that the referenced .dylib informs your plugins about the install name update This should update the install name of your dylib, inform your plugin about the path to look for and, in the end, have your plugin properly loading the dynamic library. Let me know, Riccardo.
  • R20 Startup script location - python_init.py

    python r20
    9
    1 Votes
    9 Posts
    4k Views
    T
    @m_adam said in R20 Startup script location - python_init.py: This will be fixed within a future release. Well, that's a relief then. Good to know. Thank you Maxime for the clarification. Kind regards, Tom
  • GeDialog TabGroup

    r19 c++
    6
    0 Votes
    6 Posts
    1k Views
    M
    Hi @C4DS, Unfortunately, there are no messages for clicking on this button since Tab Group was really not designed to handle to this kind of cases. With that's said, I've thought of BFM_GETCURSORINFO, maybe you can find a way to get the coordinate of theses button, and if they are drawn. Then you can define a member variable for enabling/disabling the addition of a new Tab according to the mouse position. Cheers, Maxime.
  • Field Layer Description Names

    c++ r20 macos
    5
    0 Votes
    5 Posts
    1k Views
    D
    Thank you so much, that's exactly what I needed! Dan
  • BaseContainer FlushAll crashes

    r19 c++
    3
    0 Votes
    3 Posts
    688 Views
    C4DSC
    Seems I have been doing it wrong for all those years. Thanks for leading me onto the right path ...
  • Shortcuts for buttons from gui.GeDialog

    r20 python
    4
    0 Votes
    4 Posts
    1k Views
    FlavioDinizF
    Thanks a lot @C4DS @m_adam ! So I think it's better to create separate CommandDataplugins to perform the same action of each button, it's less complicated and allow the user to change the keyboard shortcuts and exclude the need of the GUI being always open. Although the m_adam suggestions may be useful for other plugins ideas I have. I'll try it later. Thanksss !
  • Bevel selection after a CSTO

    python r20
    2
    3
    0 Votes
    2 Posts
    510 Views
    a_blockA
    Hi Pim, no, I don't think so. Basically the Selection tag reacts to MSG_POINTS_CHANGED and MSG_POLYGONS_CHANGED, in the end adding or removing the needed amount of points or polygons in the selection array. But there's no information, what to do with for example additional points. And so it heavily depends on where the new points/polygons are added and also which tool does so, what the outcome for those selected entities will be. Something that will probably be addressed in future with the CustomDataTag introduced in R20. Cheers, Andreas
  • Project Tool failing when installing on Mac

    project tool macos
    3
    0 Votes
    3 Posts
    946 Views
    F
    Hey that was it! Thanks
  • Objectdata and Bevel objects

    python r20
    6
    2
    0 Votes
    6 Posts
    2k Views
    P
    Hi Riccardo, I am not sure what you mean, but I guess you mean that you define selection tags on one of the children and use that selection on the resulting objectdata object? -Pim
  • Separator in plugins menu

    c++ r19 r20
    3
    0 Votes
    3 Posts
    663 Views
    a_blockA
    Hi, yes, this is still the "official" way to add separators to the Plugins menu. Cheers, Andreas
  • Checknames option

    python r20
    3
    0 Votes
    3 Posts
    861 Views
    P
    Works great, thanks. -Pim
  • Dependence Cache flag

    c++ r19 r20
    3
    0 Votes
    3 Posts
    759 Views
    rsodreR
    Hey @a_block , I finally got some time to try again, and I actually had two problems First, I'm adding that object as a dependent because one of my modifiers need it, and it was sending a Join modeling command to read it as a single polygon. The command was invalidating the cache, entering a loop. Now I first clone it before join, and the cache flag remains intact. Just looking at the CACHE dirty count of the object was not enough to detect if the deform cache was dirty, I need to look at it's cache dirty cache count. Sounds weird but works, and makes sense to me. if ( distributionObject != nullptr ) { // Check deformed cache auto distributionObjectCache = distributionObject->GetCache( hh ); if ( distributionObjectCache != nullptr ) { auto dirtyCount = distributionObjectCache->GetDirty( DIRTYFLAGS_CACHE ); if ( distributionObjectDirtyCount_ != dirtyCount ) { dirty = true; distributionObjectDirtyCount_ = dirtyCount; } } } op->AddDependence( hh, distributionObject, DIRTYFLAGS_DATA | DIRTYFLAGS_CACHE ); }
  • Bevel Object Type

    python r20
    3
    0 Votes
    3 Posts
    722 Views
    P
    Thanks. And yes, I used that value already. -Pim