The Maxon SDK Team is currently short staffed due to the winter holidays. No forum support is being provided between 15/12/2025 and 5/1/2026. For details see Maxon SDK 2025 Winter Holidays.
  • Dynamic Update on Plug-ins

    r20 python
    5
    0 Votes
    5 Posts
    648 Views
    B
    Hi @m_magalhaes Thanks for the response and clarification specially with the def __init___ and def InitValuesthat was news to me. The plug-in works as expected. Have a great day ahead!
  • What are the options to install a Cinema4D plug-in?

    3
    0 Votes
    3 Posts
    2k Views
    M
    Hi Riccardo, Thank you for the detailed answer. With the many options available, I chose one that fits best with our installer. Again, thanks for the help! Maxime
  • Automatically add effector object into In-/Exclusion User Data

    5
    0 Votes
    5 Posts
    682 Views
    M
    @mfersaoui said in Automatically add effector object into In-/Exclusion User Data: @m_adam Thank you, Now I'm searching for how to add an Object to an In-Exclude user data. I tried with the following code but this doesn't work. import c4d def main(): effectors = op[c4d.ID_USERDATA,2] # In/Exclude User Data plain = doc.GetFirstObject() # Plain object (Effector) effectors.InsertObject(plain, 1) c4d.EventAdd() if __name__=='__main__': main() The actual issue is that effectors = op[c4d.ID_USERDATA,2] perform a copy of the InExcludeData so that means you have to reassign the data correctly after it since you don't do the change directly from the InExcludeData of the BaseContainer. op[c4d.ID_USERDATA,2] = effector Cheers, Maxime.
  • Limit the number of executions of an object plugin.

    5
    0 Votes
    5 Posts
    921 Views
    mfersaouiM
    @s_bach Sorry, I just saw your message. the replies notifications was disabled. Thank You!
  • urllib2.HTTPError: HTTP Error 403

    python
    4
    0 Votes
    4 Posts
    1k Views
    ManuelM
    hello, we did run a couple of test and seems that the "issue" is on Patreon side. HTTP Error 403: Forbidden We did try with other url, it work. We did try adding header-agent or things like that, it failed. They probably changed something on their server that doesn't allow to connect with python with default parameters. You have to contact them in order to know what you have to do. Cheers Manuel
  • How to Get CAJoint points Counts(Bone Display Set : Polygon)

    r20 python
    3
    0 Votes
    3 Posts
    454 Views
    chuanzhenC
    @m_adam Thanks
  • ProjectTool & visual studio: /DELAYLOAD

    8
    0 Votes
    8 Posts
    2k Views
    ManuelM
    hello, if you can give us feedback that would be awesome. Cheers Manuel
  • Visual Studio 2019 Support ?

    2
    0 Votes
    2 Posts
    536 Views
    r_giganteR
    Hi Root Star, thanks for reaching out us. With regard to the IDE version, we highly suggest sticking the compatibility table reported in our documentation. Visual Studio 2019 is not supported by R20 and it's likely not to be officially supported also on R21. With regard to .hxx files, these are generated by our source processor when the building process is initiated and it's highly discouraged to change or get rid of them during the building process. The issues you're facing are highly related to the fact that the solution/project file(s) built by the projecttool (when kernel_app_64bit.exe g_updateProject=<your path to Cinema SDK> is executed) are not 100% compatible with VS2019 resulting in building tool-chain flaws. Best, Riccardo
  • GvNode parameters

    python
    5
    0 Votes
    5 Posts
    985 Views
    ManuelM
    hello, I've got some feedback, You can't rely on the fact that all resource name contain Redshift. (most but not all). As Some parts are generated dynamically this could break your tools. May I ask you what are you trying to implement ? Cheers Manuel
  • Selection-Status of RenderData

    6
    0 Votes
    6 Posts
    719 Views
    lasselauchL
    @m_magalhaes
  • Getting the deform cache of another object under ModifyObject()

    c++
    2
    0 Votes
    2 Posts
    498 Views
    r_giganteR
    Hi CMPX, thanks for reaching out is. With regard to your topic I recommend to have a look at how the Lattice Plane example on Github works. This is a simplified example showing how to deliver the mechanism of the Lattice Deformer on a plane and, at the same time, it put the bases to extend it with an arbitrary mesh. Definitively your mesh modifier should implement the ObjectData::ModifyObject() method to displace the mesh of the object to be deformed based on the displacement that you've set on the controlling mesh. If your controlling mesh(es) are then Cinema 4D generators, then you have to run through BaseObject::GetCache() or BaseObject::GetDeformCache() in order to retrieve the points of the controlling object, and based on their relative position in the space deliver the modification on the target object. Best, Riccardo
  • Can not compile plugin for R20

    7
    0 Votes
    7 Posts
    1k Views
    ManuelM
    hello, this thread will be considered as Solved tomorrow is you have nothing to add. Cheers Manuel
  • DESC_PARENT_COLLAPSE Twirl Down

    r20 sdk c++
    5
    0 Votes
    5 Posts
    663 Views
    ManuelM
    hello, this thread will be considered as Solved tomorrow is you have nothing to add. Cheers Manuel
  • GeGetModata inside Python Generator returns none

    r20 python
    3
    0 Votes
    3 Posts
    717 Views
    P
    to be honest - i don't know where my fault was. Unhappily i didn't commit the not working version. In my plugin i already used a virtual doc for some other calculations. thank you! vd.ExecutePasses(c4d.threading.GeGetCurrentThread(), True, True, True, c4d.BUILDFLAGS_NONE) md = c4d.modules.mograph.GeGetMoData(matrix) for m in md.GetArray(c4d.MODATA_MATRIX): rdPoints.append(m.off) works like a sharm.
  • Close any C4D Window

    python r20
    7
    0 Votes
    7 Posts
    2k Views
    ManuelM
    hello, thanks a lot for posting your solution here. Cheers Manuel.
  • How to close a dialog box by event

    python
    3
    0 Votes
    3 Posts
    658 Views
    V
    That should work. Thanks for the clarification and pointer to the example!
  • Is there any way to check deformcache dirty

    r20 c++
    4
    0 Votes
    4 Posts
    966 Views
    M
    Hi @mike, I just wanted to confirm what @chuanzhen said. For more information see the C4DAtom Manual about the dirty stuff. Cheers, Maxime.
  • MoGraph Form Control

    c++ r20 sdk
    3
    0 Votes
    3 Posts
    699 Views
    ManuelM
    hello, if you have nothing to add, this thread will be considered as 'solved' and will be closed tomorrow Cheers Manuel
  • Datastorage unique and ordered

    r19 r20 c++
    8
    0 Votes
    8 Posts
    840 Views
    ManuelM
    hello, It's not related to Iterator. This simple example also complain about the default constructor. #include <iostream> class MYINT { public: MYINT(int inInt) { _myint = inInt; }; private: int _myint; }; int main() { MYINT myint; system("pause"); return 0; } It should say 'hey i don't have any constructor with no parameters". But if you give him something to initialize with it understand. MYINT myint = MYINT(10); MYINT myOtherInt = 10; MYINT myThirdInt(10); all this will end with _myint = 10; Cheers Manuel
  • Tag Based Subdivision Surface?

    r20 python
    4
    0 Votes
    4 Posts
    1k Views
    B
    @r_gigante @Cairyn Thanks for the thorough explanation. I underestimated the task. I initially thought it was just an easy click since the function is already available as a generator. I was looking for the same behavior in Maya. Where the subdivision deformer or modifier is not a separate object. So I can select objects easily. Anyhow, will settle for what is available in C4D currently. Thank you. Will close this for now.