• 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
  • Object Target Expression in Python

    Moved
    8
    0 Votes
    8 Posts
    2k Views
    a_blockA
    Hi, unfortunately we can't help developing algorithms. So, what has been said here and in the Quaternion Rotation thread, is probably all we can contribute from MAXON's side. Maybe somebody from our community is willing to step into this and help out? Cheers, Andreas
  • Quaternion rotation

    5
    0 Votes
    5 Posts
    2k Views
    a_blockA
    Hi, please, do not delete discussions threads. The contained information might be valuable for future readers. Cheers, Andreas
  • 0 Votes
    2 Posts
    832 Views
    M
    Hi @pyr, In Python, there is a GIL which do not allow Python by design to execute something in parallel. In Cinema 4D all our functions (so everything which is in the c4d python module) is "GIL safe" in order to avoid any issue with Python memory. So in Cinema 4D thread are designed for doing GUI, or background stuff. Moreover, keep in mind creating a Thread have a cost in term of time (to create, execute, delete them). Finally, I would like to point you to multiprocessing vs multi-threading. Note that since it's more an algorithm problem than an issue related to our API, we can only provide you hints. btw, I also turned your topic as a question. See Q&A New Functionality. Cheers, Maxime.
  • SetDocumentData options for exporting

    r20 python
    4
    0 Votes
    4 Posts
    1k Views
    M
    Hi @Rage I guess export_OBJ example on our Github repository is what you are looking for. Note for the moment values of the BaseContainer are not available in the Python Documentation. But you could find them in the C++ documentation about fobjexport2.h. If you have any question please let me know. Cheers, Maxime.
  • 0 Votes
    3 Posts
    863 Views
    A
    Amazing! Thank you again Andreas!
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    1 Views
    No one has replied
  • How to use c4dpy for Cinema4D R20 SP1

    18
    1 Votes
    18 Posts
    10k Views
    a_blockA
    @mikeudin Thanks for making us aware. We'll change the link with the next docs update.
  • problem about TeamRender process been stopped acciently

    r19
    2
    0 Votes
    2 Posts
    639 Views
    a_blockA
    Hi, this sounds more like a TR issue and not so much an SDK problem. If so, then I suggest to rather use the How Can We Help? form on MAXON's homepage. Cheers, Andreas
  • Send BaseBitmap to another plugin

    c++ r20
    5
    0 Votes
    5 Posts
    1k Views
    P
    Thank you very much for your support !
  • CallButton in C++

    c++ r19 r20
    7
    0 Votes
    7 Posts
    2k Views
    C4DSC
    Working as expected now ... didn't think of playing with the PLUGINTYPE_xxx Thanks for details.
  • Custom lens and renderers

    c++
    4
    0 Votes
    4 Posts
    838 Views
    a_blockA
    Hi Roger, yes, you are right, this seems a bit strange on first sight. But the entire concept of VideoPostData providing C++ functions to extend the render pipeline does not hold for a GPU renderer nor the viewport display (which in the end is used for the preview renderers). This doesn't make it any better, but may at least explain the current inconsistency on our side. I'm confident at least for ProRender this is being looked into, but I can't say anything nor make any promises about future developments. Cheers, Andreas