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
    • Register
    • Login
    1. Maxon Developers Forum
    2. Popular
    Log in to post
    • All Time
    • Day
    • Week
    • Month
    • All Topics
    • New Topics
    • Watched Topics
    • Unreplied Topics

    • All categories
    • T

      Best way to hide a child and get best perfomance

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK 2025 python windows
      7
      0 Votes
      7 Posts
      185 Views
      T
      Here's my prototype, if you are interested in my goal Right now, everything works as expected, but only with these lines of code. profile = GetCloneSpline(profile_orig) path = GetCloneSpline(path_orig) I'm happy with the current result. So, I'd love to get some additional advice on correctness and optimization. I think your previous answer was comprehensive enough, so I'll try to integrate some of it. But I'd also be very grateful if you could take a look at my plugin and perhaps give me some more specific optimization tips. If that's not too much trouble, of course! @ferdinand @ThomasB Anyway, thanks for your replies and advices!
    • R

      NETWORK_CONNECTTIMEOUT with SSL

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK 2024 c++ 2025 2026
      5
      0 Votes
      5 Posts
      123 Views
      R
      For now I am good. If I need further help, I will send the endpoint and function by email.
    • SteveHill3DS

      Batching Slider messages

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK c++ 2026
      5
      0 Votes
      5 Posts
      195 Views
      SteveHill3DS
      Thank you. MSG_DESCRIPTION_USERINTERACTION_END is just what was needed.
    • D

      Can I have access to the Loop and Ring Selection algorithm ?

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK python
      3
      0 Votes
      3 Posts
      8 Views
      D
      Thank you, this make more sense. I was passing vertices not polygon indexes and was calling MDATA_LOOP_SELECTION_TYPE instead of MDATA_LOOP_SELECTION.
    • J

      Create Motion Clip Source with Python API

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK python windows 2026
      3
      0 Votes
      3 Posts
      79 Views
      J
      Hi @ferdinand, and thank you! Your proof-of-concept and pointing me toward mxutils.GetSceneGraphString() was exactly what I needed to solve this. By using the scene graph dumper on a native UI-generated Motion Source from a rigged character, I realized it's just a standard Ojoint hierarchy with normal CTrack objects. I used GetClone(c4d.COPYFLAGS_NO_HIERARCHY) to perfectly replicate the Ojoint skeleton and injected the time variables into the container, and it maps and plays back perfectly. Thanks again.
    • I

      Command to create a Nodes Modifier

      Watching Ignoring Scheduled Pinned Locked Moved General Talk programming
      3
      0 Votes
      3 Posts
      79 Views
      I
      @ferdinand Thanks for the reply. This will help immensely thank you.
    • V

      GetEffectiveRenderData does not return per-take overrides for RDATA_FRAMEFROM / RDATA_FRAMETO

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK 2025 2026 linux
      2
      0 Votes
      2 Posts
      101 Views
      ferdinandF
      Hello @vaishhg, Thank you for reaching out to us and your comprehensive yet sparse problem description, this really makes things easier for us. The problem is a bit that you somewhat forgot a crucial part: The scene data :). You provided this: Create a Cinema 4D scene with a Main take (frame range 0-6) Create child takes (V, E, R, A) and override the render data's frame range on each (e.g., V: 0-9, E: 0-23, R: 0-13, A: 0-17) But I cannot recreate a scene with these instructions, unless you meant the second step in a rather metaphorical way (switching the render data itself via takes). I also talked with some of our support specialists, and the consensus seems to be that what you claim to be the case - a scene with take overwritten FROM/TO values - is not possible. What you can do, is create multiple render settings and then activate them via takes. But Takes are a tricky subject, and I would not rule out that you somehow found a way to create take overrides for parameters of a render data instance. If so, please share the scene. Find also a scene attached which demonstrates what I discussed above: A scene that switches the active render data based on takes. It will print this with your script: Take 'Main': FRAMEFROM=0, FRAMETO=90 Take '0_45': FRAMEFROM=0, FRAMETO=45 Take '0_90': FRAMEFROM=0, FRAMETO=90 take_renderdata.c4d So, to formally answer your main question: When my assumptions above are true, your scene is printing the same values because each take does have the same values, as these two parameters are not directly overridable. Cheers, Ferdinand
    • SteveHill3DS

      Advice on implementing undo/redo in a Tool

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK c++ 2026
      5
      0 Votes
      5 Posts
      183 Views
      ferdinandF
      Hey @SteveHill3D, Storing a tool state in a tag is possible, but a bit unusual. But generally you are on the right track. Tags are also internally often used as hidden data containers. When you write a modelling tool, you probably already found out that points and polygons are are actually stored in hidden tags on objects. I am not sure though if using tags in tools is a good advice, as injecting all that data all the time into the scene graph is probably not the fastest. It depends a bit on what you are doing, but in general the solution is a bit unusual. Cheers, Ferdinand