• 0 Votes
    6 Posts
    1k Views
    M
    @baca said in Cinema 4D R2023 - c4d.plugins.RegisterObjectPlugin issue: Any suggestion how to properly handle that kind of issues -- just catch exception and warn user using message box somehow? Correct you can catch the OsError and check if there is the word 50 in the exception message. Would it be reasonable to switch to NodeData from ObjectData -- It depends of your plugin if this is at the end an ObjectData then it's irrelevant, if this is just an object that you store in a list in memory or in a custom GeListHead then NodeData is perfectly relevant. does RegisterNodePlugin has separate 50 plugins registrations? Yes each type have 50 plugins. What's the logic behind plugin initialization order -- alphabetical, date-based, random? Folders from g_additionalModulePath are iterated by alphabetical order and each files are then iterated by alphabetical order too. Cheers, Maxime.
  • 0 Votes
    4 Posts
    724 Views
    T
    Hi @m_adam, this works perfectly. Thank you for your fast response.
  • How to use RemoveConnections?

    Cinema 4D SDK 2023 python
    3
    0 Votes
    3 Posts
    297 Views
    B
    @Manuel Gotcha. Thanks for the clarification. Works as expected.
  • Editing RS Nodes with Python

    Cinema 4D SDK python
    5
    0 Votes
    5 Posts
    1k Views
    M
    Hello @cgweasel, without further questions or postings, we will consider this topic as solved by Friday 02/06/2023 and flag it accordingly. Thank you for your understanding, Maxime.
  • Simple Organisational Structure Generation Script

    Cinema 4D SDK 2023 python
    6
    0 Votes
    6 Posts
    1k Views
    ManuelM
    @nealhulme you can have a look at our forum guidelines we have a section that explains how to mark your thread as a question. Then you can select a post as the answer or mark the thread solved. I forgot, welcome to the forum, i did not saw it was your first post. Cheers, Manuel
  • Skin Weights File Parser?

    Cinema 4D SDK python 2023
    3
    0 Votes
    3 Posts
    342 Views
    ManuelM
    hi, this is out of scope of the support and i never used configparser. Maybe maxime or Ferdinand will have some nice tips out of their head without having to investigate. I am happy you found a solution by pre-processing the file first. Cheers, Manuel
  • How to detectflip normals of object inwardoutward?

    Cinema 4D SDK r23 python
    4
    0 Votes
    4 Posts
    1k Views
    M
    Hello @FSS, without further questions or postings, we will consider this topic as solved by Friday 02/06/2023 and flag it accordingly. Thank you for your understanding, Maxime.
  • 0 Votes
    2 Posts
    328 Views
    ManuelM
    hi, welcome to the forum and thanks for reaching us out. Thanks for the question and the clarity of it. The issue here is that you are changing the Time value of the keys but not their indexes. One function that could help you is SortKeysByTime but as you can see, it is marked as private. I am not sure why it is marked private here. There might have some cases where this function will not give you the correct result. you could create your own algorithm to sort those keys. Another solution could be to delete those keys and re-insert them, they will be sorted as you insert them. Cheers, Manuel
  • Timeline playing - MSG or method to get it?

    Cinema 4D SDK 2023 python s26
    3
    0 Votes
    3 Posts
    621 Views
    mocolocoM
    Hello @m_adam, Thanks a lot, it works like a charm! Have a good day, Christophe
  • Load XGroup via Python

    Cinema 4D SDK python
    2
    0 Votes
    2 Posts
    353 Views
    M
    Hi @cgweasel unfortunately this is not exposed, Xpresso is no longer developed except for critical issues, it is very likely that this will not be added to the API. Cheers, Maxime.
  • 0 Votes
    7 Posts
    2k Views
    ferdinandF
    Hey @mocoloco, Should, that's why I asked. Yeah, that is not the style of the classic API, there are only little error messages and things like that. What you can also do, is use the return value of SetParameter, a boolean. It will be False when setting the parameter failed. I used 'Ge' to design all [...] Eh, I understand, you mean from GeDialog, or what? I think it just stands for GenericDialog, it also pops up in thing like GeListNode or GeClipMap. There are some really old entities in the classic API and naming conventions were different then Ge is at least not a name for interface gadgets in our APIs. Cheers, Ferdinand
  • 0 Votes
    9 Posts
    7k Views
    mocolocoM
    Good morning @ferdinand! I modified the whole code to always do my changes inside TagData.Message now instead of doing them in TagData.Execute, which should prevent any crash - even if I didn't got one, it seems far better to stick on the good rules and habit. Have a good day! Christophe
  • Merge Undos for the BeginTransaction() method?

    Cinema 4D SDK 2023 python
    8
    0 Votes
    8 Posts
    1k Views
    B
    @ferdinand gotcha. thanks for clarification and adding links.
  • Need help getting an old script to work in C4D

    Cinema 4D SDK python
    8
    0 Votes
    8 Posts
    1k Views
    ferdinandF
    Hello @bstone, Thank you for reaching out to us and welcome to the Cinema 4D community. And thank you @bentraje for answering the question. We do not have to add anything here, @bentraje already pointed out all the important bits Cheers, ferdinand
  • 0 Votes
    9 Posts
    980 Views
    ferdinandF
    Hello @bentraje, please excuse the delay, but this bug has been fixed in 2023.2, your code from above should work properly now. Cheers, Ferdinand
  • Complete Replica of a Native Objects UI?

    Cinema 4D SDK 2023 python
    7
    1
    0 Votes
    7 Posts
    1k Views
    B
    @iplai @ferdinand Thanks for providing details especially the third party API. Seems like a handy utility library I'll see what I can do with it.
  • IsConnected Method Not Working As Expected?

    Cinema 4D SDK 2023 python
    9
    0 Votes
    9 Posts
    878 Views
    ManuelM
    @bentraje said in IsConnected Method Not Working As Expected?: P.S. Just some minor nitpick, both method does not return the same type. The first returns a list. While the second return an iterator. Not really a problem per se since I can just convert the iterator to a list. Just some FYI in case you are interested. Thanks a lot for reporting that, we will fix this as soon as possible
  • Arrange Selected Node Method?

    Cinema 4D SDK 2023 python
    3
    1
    0 Votes
    3 Posts
    309 Views
    B
    @manuel gotcha. thanks for the confirmation.
  • Get Spline Points Positions from PLA keyframes

    Cinema 4D SDK python
    4
    0 Votes
    4 Posts
    1k Views
    ferdinandF
    Hey @joel, a 'dead' object means that Python tries to reference a node which does not exist in the C++ layer anymore, i.e., has been de- or reallocated. Since my function retrieves the tag on the spot and does not attempt to pass it outside of the function, it seems a bit unlikely that the tag is already dead, at least I am not experiencing any of this. Please provide the scene, code you are running, and the exact stack trace (do not forget to save your script first, so that the trace has the correct line numbers). Otherwise I will not be able to help you. Cheers, Ferdinand
  • Show "Hidden" Points?

    Cinema 4D SDK 2023 python
    3
    1
    0 Votes
    3 Posts
    299 Views
    B
    @Manuel RE: This might happen if you changed Yep yep this is what I'm currently doing. hehe Anyhow, your code works. Thanks!