• SetTimeRight fail!

    Cinema 4D SDK python s22
    10
    0 Votes
    10 Posts
    2k Views
    chuanzhenC
    @ferdinand I also use ScreenToGif to make pictures!
  • Noise - Keyframe Reduction using Python

    Cinema 4D SDK r21 python
    3
    0 Votes
    3 Posts
    729 Views
    ferdinandF
    Hello @brucek5, without any further questions or postings, we will consider this thread as solved by Friday the 4th, February 2022. Thank you for your understanding, Ferdinand
  • import presets and be reversible

    Moved Cinema 4D SDK r20 python
    6
    0 Votes
    6 Posts
    1k Views
    ferdinandF
    Hello @JH23, without any further questions or postings, we will consider this thread as solved by Friday the 4th, February 2022. Thank you for your understanding, Ferdinand
  • Keyframing morph pose animations in Python

    Moved Cinema 4D SDK python
    7
    1 Votes
    7 Posts
    2k Views
    ferdinandF
    Hello @augustin, without any further questions we will consider this topic as solved by Friday, December the 17th. Thank you for your understanding, Ferdinand
  • Python script to keyframe visibility of object

    Moved Cinema 4D SDK
    4
    0 Votes
    4 Posts
    1k Views
    ferdinandF
    Hello @augustin, without any further questions we will consider this topic as solved by Friday, December the 17th. Thank you for your understanding, Ferdinand
  • How to traverse a GeListNode tree

    Cinema 4D SDK python r25 r23 s24 windows macos
    5
    0 Votes
    5 Posts
    2k Views
    ferdinandF
    Hello @WDP, without any further questions we will consider this topic as solved by Friday, December the 17th. Thank you for your understanding, Ferdinand
  • Mospline iterate start/end

    Cinema 4D SDK
    4
    0 Votes
    4 Posts
    888 Views
    ferdinandF
    Hello @ashambe, without any further questions we will consider this topic as solved by Friday, December the 17th. Thank you for your understanding, Ferdinand
  • About TimeLine Coordinate System

    Cinema 4D SDK s22 python
    3
    0 Votes
    3 Posts
    840 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!
  • 0 Votes
    5 Posts
    989 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
  • How to move multiple objects axis to origin?

    Moved Cinema 4D SDK python
    4
    0 Votes
    4 Posts
    1k Views
    ferdinandF
    Hello @wilsonic, without any further questions we will consider this topic as solved by Friday, December the 17th. Thank you for your understanding, Ferdinand
  • 0 Votes
    9 Posts
    2k Views
    ferdinandF
    Hello @jenandesign, without any further questions we will consider this topic as solved by Friday, December the 17th. Thank you for your understanding, Ferdinand
  • Changing VideoPost leads to TypeError

    Cinema 4D SDK r25 windows python
    4
    0 Votes
    4 Posts
    486 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!
  • 0 Votes
    4 Posts
    2k Views
    ferdinandF
    Hello @yaya, without any further questions we will consider this topic as solved by Friday, December the 17th. Thank you for your understanding, Ferdinand
  • Visibility Red Button

    Cinema 4D SDK python
    6
    0 Votes
    6 Posts
    2k Views
    ferdinandF
    Hello @WDP, when there are no further questions, we will consider this topic as solved by Wednesday, December the 1st. Thank you for your understanding, Cheers Ferdinand
  • How to Rotate an Object

    Cinema 4D SDK 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
    11 Posts
    3k Views
    ferdinandF
    Hey @HerzogVonWiesel, There is nothing that is strictly illegal to do with Script Manager scripts, but threading is not supported. Scripts are intended to be little blocks of code that run and while they run block the execution of other things. They are not intended to spawn dialogs which then dangle forever without an owner. Because when the user closes a dialog, it is not deallocated (because dialogs can be re-opened). This contrasts for example with a node, tool, or command plugin, which always sit there and do stuff even when they are not the focus of things. When they own a dialog, it is bound to the plugin instance and when properly implemented, the plugin also uses one dialog which is simply opened and closed instead of allocating a new dialog for each execution. In the end you can do pretty much anything with scripts, but you should avoid the c4d.threading module and async dialogs. There might be a minor feature I am overlooking here, but the yardstick is async execution. When something is async in nature it might not work properly in Script Manager scripts. edit: You should also avoid (attempting) to draw into a viewport from a script, or more precisely, manipulate the draw buffer of a BaseDraw. Cinema 4D won't let you do this anyways but there might be cases where you can still mess up things when you add drawing instructions. Getting information, e.g., calling myBaseDraw.GetDisplayFilter() or doing other things which are not drawing instructions is fine. You can also manipulate the parameters of a BaseDraw or switch the camera. Cheers, Ferdinand
  • How do I put objects into the timeline?

    Cinema 4D SDK r23 python
    5
    0 Votes
    5 Posts
    1k 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
  • Cutome Render Token do not update Filename each Frame

    Cinema 4D SDK
    11
    1
    0 Votes
    11 Posts
    2k Views
    ferdinandF
    Hello @nason, without any further questions we will consider this topic as solved by Friday, December the 17th. Thank you for your understanding, Ferdinand
  • Python Objekte X Y Z

    Moved Cinema 4D SDK python r21 windows macos
    8
    0 Votes
    8 Posts
    2k Views
    W
    Thank you very much!
  • R25 - Modal dialog's Color Chooser issue

    Moved Bugs python
    3
    2
    0 Votes
    3 Posts
    1k Views
    A
    Hi, thanks for the information. Hopefully it will get fixed in the future updates. Cheers, Arttu