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. jaroslavnovotny
    J
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 2
    • Groups 0

    jaroslavnovotny

    @jaroslavnovotny

    0
    Reputation
    1
    Profile views
    2
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    jaroslavnovotny Unfollow Follow

    Latest posts made by jaroslavnovotny

    • RE: Create Motion Clip Source with Python API

      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.

      posted in Cinema 4D SDK
      J
      jaroslavnovotny
    • Create Motion Clip Source with Python API

      Hi everyone,

      I am trying to fully automate the creation of a Motion Clip via Python, completely bypassing the UI popup from the "Add Motion Clip" command. I need to be able to set parameters through code.

      I understand from previous threads that the NLA system might not be fully exposed in the Python API. I was successfully able to use branch traversal to find the NLA Base and allocate the MT_LAYER and MT_CLIP using c4d.BaseList2D().

      This post was a good source of info:
      http://developers.maxon.net/forum//post/55975

      However, my roadblock is creating the actual Motion Source to link to the clip. When I try to allocate it, I get an allocation error.

      Here is the exact line:

      import c4d
      MT_SOURCE = 465003004 # ID for Motion Source
      
      def main():
          # Attempting to create the Motion Source container
          motion_source = c4d.BaseList2D(MT_SOURCE) 
          
      if __name__=='__main__':
          main()
      
      BaseException: the plugin 'c4d.BaseList2D' (ID 465003004) is missing. Could not allocate instance.
      

      I have two questions:

      • Is there an undocumented helper function, message, or workaround to allocate a Motion Source (MT_SOURCE) in Python so I can manually insert CTrack data into it?

      • Alternatively, since "Add Motion Clip" is a CommandData plugin, is there any hidden way to pass a settings container to it via Python (similar to MSG_RETRIEVEPRIVATEDATA with SceneSavers) so it executes silently without the UI popup?

      Any guidance or confirmation if this is strictly locked to the internal C++ core would be hugely appreciated!

      Thank you,
      Jaroslav

      posted in Cinema 4D SDK python windows 2026
      J
      jaroslavnovotny