The Maxon SDK Team is currently short staffed due to the winter holidays. No forum support is being provided between 15/12/2025 and 5/1/2026. For details see Maxon SDK 2025 Winter Holidays.
Hello.
Thank you very much for your clarification on this.
I have a button in MaterialData that saves the material in a specific format in the disk.
I doesn't change anything in the material but the MSG_UPDATE is sent anyway.
So, since I don't want to run the MSG_UPDATE handler, I have to set a flag to true in order to skip it.
Thank you.
Thank you @mp5gosu
This is exactly what I was looking for.
In fact, C4D does the calculations itself. I thought I had to do the matrix multiplication, and I didn't understand how to do it.
Finally it's very simple
Hi @rsodre, thanks for your feedback, and glad you solved your issue.
Regarding the DisplayControl I let you read this topic: SceneHook and DisplayControl.
Manuals, for scenehooks is definitely something we consider.
Cheers,
Maxime.
Hi Roger,
I'm glad you were able to identify the issue and made some progress. And thanks for taking the time to share your findings with the forum. Much appreciated!
Cheers,
Andreas
Hi Franck, backward and upward compatibility for the current major release is something we really consider and try our best to not break.
Unfortunately, for R20 plugins, they need to be recompiled to make them compatible with R20 SP1.
See C++ Index or either in the R20.026 changelog.
You may encounter an issue with plugin compiled with R20.011 (see the R20.026 changelog) since you may override maxon dedicated IDs which will break for sure some C4D/plugin stuff.
Cheers,
Maxime.
Sebastian,
Added tags. Not really a question but a request. I thought that I had read about people adding a TreeView to the AM using GetDDescription() but maybe it wasn't as well fleshed out as they (or I) suspected.
I will look into the custom data type and GUI for it.
Please mark as Solved.
Thanks!
Robert
I am trying to register multiple plugins that are instances of the same class, but do slightly different stuff (in this case construct different menus). I am getting some external data that I would like to put in a dictionary with the plugin ID as keys. I could then get the correct data set for each plugin by comparing the pluginID from e.g. within execute with the pluginIDs in the dictionary. But for that I would need a way to retrieve the pluginID of the class instance whose execute function was called.
Edit: I figured out a way. I can pass the pluginID when initializing the plugin in the register function and save it as a class member in __init__
Hi,
while I'm glad, this was already solved, I just wanted to add a link to an old thread in the archive, which might be helpful for future readers due the contained code snippet: Select polygons from Selection Tag.
Cheers,
Andreas
Hi Sebastian!
Thanks for your answer. I was looking for something a little more flexible than registering multiple plugins, but I guess GetSubContainer will have to do
Thanks Riccardo!
Now I understand - thanks to your side note.
And of course I understand, that this goes hand in hand with your guidelines.
Cheers,
Robert
Hi @merkvilson, sadly this is not possible to add something to the attribute manager, since the attribute manager is a special window, and the menu is hardcoded.
Sorry.
Cheers,
Maxime.