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.
  • CustomGui and CustomDataType examples... not used anywhere?

    c++ classic api sdk
    6
    0 Votes
    6 Posts
    1k Views
    ManuelM
    hi, sorry i didn't had time to investigate yesterday. I'm happy that you find out the solution. Cheers, Manuel
  • About TimeLine Coordinate System

    s22 python
    3
    0 Votes
    3 Posts
    735 Views
    chuanzhenC
    @ferdinand Thanks for your detailed reply! " 2.The timeline (and as a matter of fact also the world coordinate system) has no implied unit. There is no direct translation as 1px == 1cm as both the horizontal axis and vertical axis depend on the zoom level." solved my question!
  • Help needed * .res files, dialogs etc...Plugin beginner

    r23 python windows
    5
    2
    0 Votes
    5 Posts
    875 Views
    ManuelM
    @thomasb said in Help needed * .res files, dialogs etc...Plugin beginner: but can I do my own init function? yes you can, specially if you want to initialize some variable. But you should not create any geometry there and return this geometry in GVO (get virtual object). About the group, there's a note about it here. Each NodeType have a "parent" group. Glad that it is working now. Cheers, Manuel
  • Is it possible to control Camera with keyboard WASD like a FPS game?

    Moved
    8
    1
    1 Votes
    8 Posts
    3k Views
    A
    @ferdinand Wow,thank you so much ferdinand!
  • 0 Votes
    3 Posts
    759 Views
    ferdinandF
    Hello @Артём, we will set this topic to 'Solved' when there are no further questions or replies until Monday, November the 22th. Thank you for your understanding, Ferdinand
  • API for new behavior of opnening Windows in Layout

    r25 python windows macos
    5
    0 Votes
    5 Posts
    2k Views
    ferdinandF
    Hello @HolgerBiebrach, we will set this topic to 'Solved' when there are no further questions or replies until Monday, November the 22th. Thank you for your understanding, Ferdinand
  • How to remove the floating button on the plugin?(DLG_TYPE_ASYNC)

    r23 c++
    4
    1
    0 Votes
    4 Posts
    787 Views
    ferdinandF
    Hello @jeremyliu1989, we will set this topic to 'Solved' when there are no further questions or replies until Monday, November the 22th. Thank you for your understanding, Ferdinand
  • VS 2012 complains -c4dplugin.pdb not included

    c++
    11
    3
    0 Votes
    11 Posts
    1k Views
    ferdinandF
    Hello @ingvarai, we will set this topic to 'Solved' when there are no further questions or replies until Monday, November the 22th. Thank you for your understanding, Ferdinand
  • GeDialog Button Highlighted By Default

    r25 python sdk windows
    3
    1
    1 Votes
    3 Posts
    334 Views
    ferdinandF
    Hello @blastframe , we will set this topic to 'Solved' when there are no further questions or replies until Monday, November the 22th. Thank you for your understanding, Ferdinand
  • How can I get a Layer's objects with Python?

    Moved
    4
    0 Votes
    4 Posts
    1k Views
    ferdinandF
    Hello @delizade, we will set this topic to 'Solved' when there are no further questions or replies until Monday, November the 22th. Thank you for your understanding, Ferdinand
  • Changing VideoPost leads to TypeError

    r25 windows python
    4
    0 Votes
    4 Posts
    463 Views
    ?
    @m_magalhaes Yes, I think the error was because Octane was the result of rdata.GetFirstVideoPost() and those symbols don't exist in it. If I check for the Viewport Renderer, it seems to work fine. Thanks for the reply and symbol tip!
  • Override material tag in take

    r25 c++
    13
    0 Votes
    13 Posts
    2k Views
    ferdinandF
    Hey @krfft, thanks for posting your detailed results. Cheers, Ferdinand
  • How to Rotate an Object

    r25 s24 r23 python macos windows
    7
    0 Votes
    7 Posts
    2k Views
    ferdinandF
    Hello @WDP, this question would technically also be a new topic, please follow these rules. There is no formal notion of an object axis in the sense of a moveable entity in the API. Objects have their matrices (the global and the local one), which are effectively their own coordinate system opposed to the world coordinate system (or transform or frame when you prefer these terms over coordinate system). So, when you want to reproduce what is possible in the app, and move, rotate, or scale the axes of an object, without moving the geomtery of the object itself, then you will have to transform the vertices of that object. So, when the object has the world offset (0, 0, 0) and you want to move the axes to (100, 0, 0), you must first set the global object matrix to an offset of (100, 0, 0) and then apply the inverse of a transform that translates by (100, 0, 0) to all its vertices. I would recommend reading the matrix manual I did post in my first answer here. This will however only be possible for editable point objects, e.g., a c4d.PolygonObject. You are showing a generator object, i.e., a c4d.BaseObject with some cached geometry in your screenshot. You cannot move the axes for these objects, neither in the SDK nor in the app itself. We had recently this topic which dealt with moving the axes of a polygon object. Cheers, Ferdinand
  • 0 Votes
    17 Posts
    3k Views
    ferdinandF
    Hey, good to hear that it does work for you (for now) I do not think that the definition of mgOrientationDelta is the culprit. It is just another way of doing what was done before with .MulV, i.e., it is just a transform without the offset component. As I indicated in my last posting, I did not spend much time with debugging your code, I just copied over the tag stuff and wrote the rest from scratch. I do not think that we do have to change anything here in the topic structure. But if you personally feel it would be better so, you can of course do it. At least I think you can, you have to open the topic tools button: [image: 1636375556111-18e1f9a6-d363-44c1-87a5-14e4a50e058e-image.png] and there you should then have this button: [image: 1636375625878-0faeb0a9-2343-4c7d-b971-4a059576700b-image.png] If you do not, well then only mods can do that Cheers, Ferdinand
  • How do I put objects into the timeline?

    r23 python
    5
    0 Votes
    5 Posts
    954 Views
    ferdinandF
    Hello @Cairyn, thank you for reaching out to us. Clarification: I am not looking for the iteration of objects, for the selection, or for the folding. Just for the method that will show the object/the track in timeline xxx. I wouldn't mind if someone could confirm that there is no access at all to the Timeline elements, or present an alternative...) You can add BaseList2D to a Timeline Manger by simply adding a CTrack to them. But you are probably after the special case where an object is being placed by drag and drop into a Timeline. This is a special case since the object has then no track. When you delete the last track of an object in a Timeline, then the object will be removed. This makes the drag and drop case a special case. Internally, the objects of a Timeline Manager are tracked in a list-like structure which is populated by traversing a document and events like object creation or drag and drop. It will automatically ingest all BaseList2D that have a track (and remove such that do not have tracks anymore). Nodes without a track that have been dragged and dropped into a Timeline are added "manually" to that list without being deleted. This works as far as I understand with a GeMarker being added to them. So technically, one might be able to replicate this in C++ by also adding that marker, but its content is not public and might carry other side effects. What I found out while playing around with tracks, is that one can add "fake" tracks by either completely making up a track id, which are then called just "track", or incomplete ids, e.g., for the position of an object. This could serve as a clean slate if desired but could also have side effects. [image: 1636374366235-ac3dd38c-8e5d-4f48-a3cd-941ae2c987cc-image.png] descId = c4d.DescID(c4d.DescLevel(c4d.ID_BASEOBJECT_REL_POSITION, c4d.DTYPE_VECTOR, 0)) track = c4d.CTrack(op, descId) op.InsertTrackSorted(track) c4d.EventAdd() Preventing the object being removed from the Timeline when deleting its last track is not possible in Python. At least I do not see a way to do it at the moment. Cheers, Ferdinand
  • Replace Plugins in a Running Cinema 4D Instance

    c++ r23 windows macos
    12
    0 Votes
    12 Posts
    3k Views
    Y
    Oh! Forget guys my message above! The calling of Python code from C++ plugin in @kbar 's advice does the trick! If someone from the future who will read this thread will need the code example, I just use the code snippet from here: https://developers.maxon.net/docs/cpp/2023_2/page_maxonapi_python.html and feed to it this code: // call it from somewhere String code = "import c4d\nimport maxon\nimport os "; code+= "\n\nprint(f'This is simple message')"; code += "\nos.rename('C:/Code/sdk/plugins/myPlugin/myPlugin.xdl64', 'C:/Code/sdk/plugins/myPlugin/old_myPlugin.old')"; ExecutePythonScript(code, GetActiveDocument());
  • Python Objekte X Y Z

    Moved python r21 windows macos
    8
    0 Votes
    8 Posts
    2k Views
    W
    Thank you very much!
  • Ensuring only 1 specific pyTag in a document?

    python r20 s24
    9
    0 Votes
    9 Posts
    1k Views
    ferdinandF
    Okay, thanks for the heads up
  • Dynamics Body Tag & GetVirtualObjects

    python
    3
    1
    0 Votes
    3 Posts
    728 Views
    ferdinandF
    Hello @mfersaoui, Without any further questions, we will regard this topic as solved and flag it accordingly by Monday, September, the 8th. Thank you for your understanding, Ferdinand
  • Creating my own color preferences

    3
    0 Votes
    3 Posts
    571 Views
    ferdinandF
    Hello @tdapper , Without any further questions, we will regard this topic as solved and flag it accordingly by Monday, September, the 8th. Thank you for your understanding, Ferdinand