• ssl certificate error in debug console

    c++ r21
    8
    0 Votes
    8 Posts
    1k Views
    Y
    Hi @ferdinand, I did not get this problem in R23 and R25 yet. Maybe it exists, but I did not see. I got it only in R21. But as @m_magalhaes mentioned: it is known issue and was fixed in later releases, so I leave it.
  • Best practice getting all objects in a certain Null

    Moved
    12
    0 Votes
    12 Posts
    2k Views
    M
    Found the problem I tried to Kill a document which was not alive, don't know if this is necessary with a merge. if c4d.C4DAtom.IsAlive(temp): c4d.documents.KillDocument(temp) And another gotcha c4d.documents.SetActiveDocument(temp) seems to be mandatory if you want to use CallCommand() -> and do not to forget to set the doc back to active after your routine. Thank you
  • Toggle Only select Visible element.

    Moved s24
    3
    0 Votes
    3 Posts
    997 Views
    r_giganteR
    Hi @akramFex , I apologize for the long silence on our side. Unfortunately the thread fell through the cracks of the Xmas period and we lost track of it. I'm glad you were able to find the solution and I'm grateful you wanted to share it with the rest of the community. Cheers, R
  • Noise - Keyframe Reduction using Python

    r21 python
    3
    0 Votes
    3 Posts
    698 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
  • 0 Votes
    3 Posts
    645 Views
    ferdinandF
    Hello @Tomoya, 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
  • The oldest SDK for Cinema 4D 19-25

    sdk r19 r20 r21 r25 r23 s22 s24
    7
    0 Votes
    7 Posts
    2k Views
    ferdinandF
    Hello @jeremyliu1989, 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
  • 0 Votes
    10 Posts
    2k Views
    ferdinandF
    Hello @del, 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
  • UserData

    Moved python r25 windows
    4
    1
    0 Votes
    4 Posts
    1k Views
    ferdinandF
    Hello @bokibo, 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
  • MSG_MENUPREPARE called twice for same object

    r25 c++
    4
    0 Votes
    4 Posts
    552 Views
    ferdinandF
    Hello @kikizg, 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
  • 0 Votes
    3 Posts
    742 Views
    ferdinandF
    Hello @RenoBozo, 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
  • Expresso show hidden objects

    macos project tool
    4
    1
    0 Votes
    4 Posts
    1k Views
    ferdinandF
    Hello @mauovernet, 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
  • Modifying Cinema 4D Preferences from External Python Script?

    r23 s24 r25 python sdk
    4
    0 Votes
    4 Posts
    1k Views
    ferdinandF
    Hello @wuzelwazel, 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
  • Detect new project in Python plugin

    python
    4
    0 Votes
    4 Posts
    682 Views
    ferdinandF
    Hello @mheberlein, 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
  • RS Reference Node in Python

    s24 python windows
    3
    0 Votes
    3 Posts
    554 Views
    ferdinandF
    Hello @kverhaar, 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
  • Get object by active tag in Python

    python
    5
    0 Votes
    5 Posts
    1k Views
    ferdinandF
    Hello @stanDM, 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 r20 python
    6
    0 Votes
    6 Posts
    975 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
  • Exporting data from Takes to a file

    sdk r23 python
    8
    0 Votes
    8 Posts
    2k Views
    F
    Hi Manual, This is exactly what I needed. Thank you very much. Best regards, Tomasz
  • Unique Material per Object Plugin instance?

    r20 python macos
    4
    0 Votes
    4 Posts
    1k Views
    H
    Hi Guys, as I'm pretty sure I found a way to achieve what I'm after I thought I update this thread. Maybe this will help others as well. After taking some time to make NodeData.CopyTo() work, I ended up not getting it to work at all. So I thought about how I could achieve what I'm after a different way. Long story short, I ended up implementing a MessageData plugin as some kind of watchdog for a document. Since its CoreMessage runs on the main thread I can happily insert and delete materials as much as I wish to. (At least I'm hoping so ) Tl; dr The idea behind this goes as follows. I have a timer running and in addition to that I listen for c4d.EVMSG_CHANGE and do some checking to see if the scene needs to update. In my case it's comparing the amount of a specific object against the amount of "specific" materials. If there's a difference I use that difference to delete or insert materials until there's no difference. Once there's no difference I can assign the materials to the objects and let each object control its own material. To distinguish between materials responsible for my plugin and the ones that aren't I make sure to put a unique plugin id inside the base container of the material I can then check for. Here's a code snippet of that MessageData: class Watchdog(c4d.plugins.MessageData): PLUGIN_ID = "Use your own unique one" PLUGIN_NAME = "A MessageData plugin." PLUGIN_INFO = 0 def __init__(self): self._time = 1000 def GetTimer(self): return self._time def SetTimer(self, time): self._time = time @property def should_execute(self): is_mainthread = c4d.threading.GeIsMainThread() check_running = ( bool(c4d.CheckIsRunning(c4d.CHECKISRUNNING_EDITORRENDERING)), bool(c4d.CheckIsRunning(c4d.CHECKISRUNNING_EXTERNALRENDERING)), bool(c4d.CheckIsRunning(c4d.CHECKISRUNNING_INTERACTIVERENDERING)), bool(c4d.CheckIsRunning(c4d.CHECKISRUNNING_ANIMATIONRUNNING)), bool(c4d.CheckIsRunning(c4d.CHECKISRUNNING_VIEWDRAWING)) ) is_running = any(item is True for item in check_running) return is_mainthread and not is_running def CoreMessage(self, mid, mdata): if not self.should_execute: return False doc = c4d.documents.GetActiveDocument() # SceneHandler is a custom class I delegate the whole creation and comparing stuff to. objs, mats = ..., ... scene = SceneHandler(objs, mats) # Check for a change and start the timer again. But only if the scene should update. Otherwise the timer would run all the time. if mid == c4d.EVMSG_CHANGE: if scene.should_update: self.SetTimer(1000) # If we get a timer event we update the scene as long as it shouldn't update anymore. We can then stop the timer. if mid == c4d.MSG_TIMER: if not scene.should_update: self.SetTimer(0) scene.update(doc) return True Maybe this will help others. Since I found a solution for my problem this thread can be marked solved. Cheers, Sebastian
  • 0 Votes
    3 Posts
    780 Views
    D
    @m_magalhaes said in Copying Take Overrides from an object to another via Python not working properly: adding the backupvalue You are master! thanks my friend, it's working!
  • Info GetUserDataContainer and RemoveUserData switched

    sdk
    2
    1
    1 Votes
    2 Posts
    421 Views
    M
    Thanks, this is going to be fixed in the next documentation release. Cheers, Maxime.