• Shader-Material Linking

    c++ r20 sdk classic api
    2
    0 Votes
    2 Posts
    514 Views
    M
    Hi @Ogers, unfortunately, there is no direct way to do so. The only working solution is to retrieves the host of the shader (using BaseList2D.GetMain) Then iterates the description of this element and all its children to see where the shader is used. Cheers, Maxime.
  • SpecialEventAdd and structures / containers

    r20 python
    2
    0 Votes
    2 Posts
    515 Views
    M
    Hi @pim, In Python, SpecialEventAdd can only pass integer value, so the sender part can store the data into the document BaseContainer send the SpecialEventAdd/ Process this event read back the data from the active document BaseContainer. You can find valuable information on this topic https://developers.maxon.net/forum/topic/8219/10712_pluginmessage-and-pycobject-solved/5. Cheers, Maxime.
  • Cinema 4D crashed without knowing it crashed

    2
    0 Votes
    2 Posts
    669 Views
    a_blockA
    Hi, I'm sorry you are having issues with Cinema 4D. You have ended up in MAXON's support forum for 3rd party developers. This is actually not a good place for user support requests. Instead I suggest to use the support form on our website. Cheers, Andreas
  • TreeView: How to insert dragobject as new item

    r20 python
    2
    0 Votes
    2 Posts
    575 Views
    mikeudinM
    Solved. There is TREEVIEW_OUTSIDE_DROP option.
  • Send message to tooldata

    r20 python
    4
    0 Votes
    4 Posts
    1k Views
    P
    @C4DS said in Send message to tooldata: PrepareData Your first answer works great! Thank you.
  • Drag&Drop in Editor window

    r20 python
    3
    0 Votes
    3 Posts
    645 Views
    P
    Yes - dragging session only occurs in a 2D space - I thought so. Thanks.
  • Transform mouse coordinates to c4d coordinates

    r20 python
    5
    0 Votes
    5 Posts
    1k Views
    P
    Thanks for the answer. I just started with a command plugin. New requirements emerged and yes, perhaps I now change over to a tool plugin.
  • How to output BaseBitmap with ShaderData plugin

    python
    2
    0 Votes
    2 Posts
    708 Views
    r_giganteR
    Hi Merkvilson, thanks for reaching out us. If the final intent is to simply get BaseBitmapinformation to be returned by your shader, rather than sampling a Xbitmap shader I suggest instead to simply query the color information by using BaseBitmap::GetPixel and eventually apply color space transformation. def Output(self, sh, cd) : x = int(cd.p.x * self.bitmap.GetBw()) y = int(cd.p.y * self.bitmap.GetBh()) col = self.bitmap.GetPixel(x, y) return c4d.Vector(float(col[0]/256.0), float(col[1]/256.0), float(col[2]/256.0)) Best, Riccardo
  • 0 Votes
    4 Posts
    1k Views
    a_blockA
    Hi, I'm glad you found something working for you. I just want to mention, this way of using the deform cache directly will only work for very specific setups, for arbitrary object configurations you will most likely need to iterate through the cache. So, I think, it's worth to give those manuals another read. Also Maxime has posted some snippets in Getting a polygonal version of an animated mesh, which might be useful for you. Cheers, Andreas
  • Getting a polygonal version of an animated mesh

    Moved
    3
    0 Votes
    3 Posts
    868 Views
    R
    Well, I do have a loop but I just pasted the code that would, hopefully, perform the calculation. And I did tried the GetDeformCache approach, but my mistake was, in fact the cloning of the object. Thank you so much for the code, Adam.
  • Memory leak after plugin migration R16 -> R20

    14
    1 Votes
    14 Posts
    4k Views
    r_giganteR
    Thanks a lot Daniel for following up here. Glad to listen that the update actually fixed it, although even on 20.030 I had no better luck to reproduce. Best, Riccardo
  • GetActiveObjects(flags)

    python r20
    3
    0 Votes
    3 Posts
    679 Views
    P
    @s_bach Ok, Thanks.
  • Team Render Client and plugins

    r20
    2
    0 Votes
    2 Posts
    751 Views
    C4DSC
    What the customer failed to mention was that the Team Render Client he used is on the same physical machine as his main Cinema 4D. Since both share the same plugins folder, the plugins were obviously installed manually for the main Cinema 4D, and thus also available for the local Team Render Client. Case closed.
  • Mac build fails, PC build OK

    8
    0 Votes
    8 Posts
    2k Views
    C4DSC
    @a_block No need for apologies. I thought the bearded guy had something to do with it ... Hence the reason I posted the message again. Luckily, JIT before the easter bunny was to blame.
  • Setting `coordinate system` using `MCOMMAND_MIRROR`

    python r20
    3
    1
    0 Votes
    3 Posts
    2k Views
    K
    Hi @m_adam Thank you for your reply. It works perfectly!
  • This topic is deleted!

    10
    0 Votes
    10 Posts
    395 Views
  • The plugin ID '000' collides with another plugin ID in 'aaa'.

    r20 python windows
    4
    0 Votes
    4 Posts
    2k Views
    a_blockA
    Hi, good we got you going It is not wrong per se to use multiple plugin directories. Actually Cinema 4D R20 was specifically designed to have multiple ones. You just need to make sure not to have duplicate plugins in these directories. Cheers, Andreas
  • Refresh Editor after killDocument or SetActiveDocument

    python windows r20
    3
    0 Votes
    3 Posts
    852 Views
    B
    Hi Sebastian! Turns out my issues are two seperate, but equally self inflicted problems Inserting and activating works as expected, I am blocking the update with some custom UI stuff so I will have to find a solution for that. Calling EventAdd() in the closeEvent of the UI doesn't do anything. Is there another way to force Cinema to update everything? Killing the document not only doesn't update, but actually crashes Cinema, because I am trying to kill the document from within a callback that is reacting to MSG_DOCUMENTINFO_TYPE_LOAD. I am doing some more involved environment management and sometimes I have to close a document after loading. I have a workaround that will have to do for now. In the callback I change the document path to a string I can then look for in EVMSG_CHANGE. When I detect my string there, I can then kill the document. It's not very elegant and if anyone has a better solution I would be very happy, but otherwise consider this problem solved
  • Python Scripting-Help with GeDialog.AddComboBox add child option

    Moved python
    12
    1
    0 Votes
    12 Posts
    4k Views
    M
    Please do not delete topics once they are resolved, this topic may help other people that have the same issue. Instead, use the Q&A functionality to mark a topic as solved. Cheers, Maxime.
  • iferr warn_unused_result missed

    6
    0 Votes
    6 Posts
    1k Views
    S
    Hello, the Source Processor only checks for coding style violations and creates auxiliary code. It cannot check for valid C++ syntax (because C++ is quite an complex language). Coming back to the issue of return values, only the compiler can check that at compile time. And, yes, unfortunately Visual Studio and Xcode behave differently. best wishes, Sebastian