• C4D GUI Python Callback

    python
    4
    0 Votes
    4 Posts
    1k Views
    Y
    Hi, A string with format "PLUGIN_CMD_123456" is meant to be used with MENURESOURCE_COMMAND, not RegisterCommandPlugin(). It tells Cinema the command ID and name for the menu item to be added. Note the sub-IDs returned from GetSubContainer() are specific to a command and aren't global to Cinema. Maybe CommandData isn't what you really need. Scripts from the user folder are automatically loaded and can be added to any menu using Customize Menus dialog.
  • Get userdata Button state on object in Python tag

    python r20
    7
    0 Votes
    7 Posts
    3k Views
    B
    Ah! So event_data['msg_data']['id'] is the id of the userdata. Didnt read your code comments Thanks alot! Regards Bonsak
  • Getting MoData in GVO of a ObjectData Plugin

    c++ windows macos
    13
    0 Votes
    13 Posts
    4k Views
    codysorgenfreyC
    @m_adam thanks so much for all your help on this!
  • No fbx exporter in python library?

    r20 python
    2
    0 Votes
    2 Posts
    979 Views
    Y
    Hi Rage, Unfortunately several importers and exporters do not have a constant for their ID. This is the case for FBX. The ID for the FBX exporter is 1026370. To find the ID of a specific exporter you can use the following code: import c4d saverPlugs = c4d.plugins.FilterPluginList(c4d.PLUGINTYPE_SCENESAVER, True) for plug in saverPlugs: print('{} : {}'.format(plug.GetName(), plug.GetID())) I turned the topic into a Q&A. Please remind to use this feature of the forum.
  • Set Tracers "trace link" (inExclude) field from python tag

    r20 python
    3
    0 Votes
    3 Posts
    793 Views
    B
    Awesome! Thanks. Regards Bonsak
  • Tell the HTML Viewer to ignore javascript

    c++ r20 windows
    5
    0 Votes
    5 Posts
    1k Views
    kbarK
    One last note. I just tried this on OSX and it works fine. So it is just an issue for Windows machines and whatever version of IE the widget is using.
  • ParseTupleAndKeywords in R20

    c++ r20 python
    5
    0 Votes
    5 Posts
    1k Views
    V
    @y_puech said in ParseTupleAndKeywords in R20: Hi Victor, There's a logic error in the code you posted from the first post. The condition for R20 if (str.IsEmpty()!=false) returns false if the string has content. It makes more sense to call IsPopulated() for the R20 code instead of IsEmpty(). You are right, thank you!!!
  • Move/Copy Constructors documentation

    r19 r20 c++
    2
    1 Votes
    2 Posts
    720 Views
    a_blockA
    Hi, in general your approach looks correct to us. Somehow I'm starting to regret we have a thoughtful and attentive community here. We can not hide a single change/omission in the docs without any one of you finding out about it... sigh! Yes, indeed the "Move/Copy Constructors" manual has been removed from the R20 docs, as it needed thorough review and at least partly rewriting we did not find the time for, yet. But it wasn't removed without at least partial replacement. Especially for your case the BaseArray manual contains a section on implementing classes for use with BaseArray. Thanks for the idea of a "documentation issue" tag. Cheers, Andreas
  • FileSelect for multiple files

    2
    0 Votes
    2 Posts
    702 Views
    a_blockA
    Hi, yes, you are right, this is currently not supported. I have filed an "idea" for our development. Cheers, Andreas
  • n-gones with python

    Moved python
    3
    0 Votes
    3 Posts
    934 Views
    Passion3DP
    Hi @eZioPan thank you for this example very clear
  • SetInt32 fails on ComboBox even if the change occurs

    c++ windows r20
    3
    0 Votes
    3 Posts
    862 Views
    X
    @a_block No inconvenience at all, just happy to hear it's not only me!
  • Pointcount from bevel deformer

    Moved python
    5
    0 Votes
    5 Posts
    1k Views
    B
    Sorry
  • Having issues with LoadDll and c4d_main

    c++ r20
    5
    0 Votes
    5 Posts
    1k Views
    V
    In our case it was a bit more complex but we managed to bypass the issue using load delay dlls. Thank you all!
  • Sample a shader in 3D space in GVO

    c++ windows macos r19 sdk classic api
    3
    0 Votes
    3 Posts
    1k Views
    codysorgenfreyC
    Thanks @r_gigante that's what I thought.
  • Which message do I receive when a command plugin dialog is closed?

    python r19
    4
    0 Votes
    4 Posts
    1k Views
    P
    @s_bach said in Which message do I receive when a command plugin dialog is closed?: DestroyWindow Thanks. By the way, compliments on the latest R20 C++ manual. It is great!
  • Miscellaneous questions about "BaseContainer","DescID" etc

    3
    1
    0 Votes
    3 Posts
    1k Views
    eZioPanE
    @s_bach, thank you, I'll start to do some hard reading!
  • Print console logs in terminal

    Moved python r20
    5
    0 Votes
    5 Posts
    2k Views
    Y
    Hi, As I turned this discussion into a Q&A topic, if you're satisfied with my last post's solution then you can mark it as the correct answer or mark the topic as solved. For more information see Q&A New Functionality.
  • debugging question

    c++ r20
    15
    0 Votes
    15 Posts
    4k Views
    a_blockA
    @ello said in debugging question: when i hover for example RNDOFFSET in visual studio i get enum <unnamed>::RNDOFFSET = 1029 does this unnamed part cause something? No, it doesn't cause anything. It just means the symbol is defined in an unnamed enum. We avoid such nowadays (improved error checking, easier to debug), but they don't do any harm. furthermore, since this is a plugin collection the name RNDOFFSET is indeed used with another id in another plugin. does this play a role? i thought that only included files are taken into account? Well, I doubt so, but it may. The point is using unique IDs per BaseContainer. And to access a certain ID always with the same type (you could change the type, but let's leave this aside for now). So for a single BaseContainer Is try to make sure and check, that one ID (I mean the symbol or name like RNDOFFSET) is always accessed with the same type, and that no two symbols have identical ID values, so you do not access the same BaseContainer entry with two different names (lets say RNDOFFSET_INT and RNDOFFSET_VEC) but maybe different types. here is a screenshot for the actual issue From briefly looking at the screenshot on my mobile, it does not give me an additional clue. I recommend to add the debugger console to your layout. Usually we print some extra info there, when we run into a Critical Stop. Bye, Andreas
  • resource errors with SPLINE in R20

    python r20
    4
    1
    0 Votes
    4 Posts
    1k Views
    Y
    Hi, Are you using the Spline GUI inside a dialog? It looks like so if there's no arrow. If that's the case you can call SetLayoutMode(c4d.LAYOUTMODE_MINIMIZED) on the Spline custom GUI to change its layout to the minimized/spline element only.
  • Deforming custom user data

    c++ r20
    5
    2
    0 Votes
    5 Posts
    1k Views
    r_giganteR
    Hi Roger, I'm jumping into this discussion simply because Andreas is busy at the moment. point 3: it's actually not possible to turn a polygon cache in a spline... you can only consider, but it's rather a hack more than an orthodox approach to use the caches points to create the line object which you would expect from a spline cache, but take it as "thinking loud". point 4: no chance to preserve the cache of a spline as a spline... it's like asking can i preserve the cache of a sphere as a sphere? Actually cache are meant to be the lowest-order geometry to be processed by the displaying pipeline. So surfaces gets tesselleted in points and triangles and mathematical curves in line segments. point 5: I don't get the point here, sorry: you said you used GetAndCheckHierarchyClone() so which objects are you referring you added in the dependency list? Best, Riccardo