• 0 Votes
    18 Posts
    2k Views
    ManuelM
    Hi, Sorry about not having time to investigate the gradient part of your question. I was waiting for feedback about the color presets. With the new asset browser out there's no point into investigate this question furthermore. Cheers, Manuel
  • 0 Votes
    6 Posts
    1k Views
    P
    forget about it. i removed the c4d.OBJECT_INPUT flag during development and forgot to add it back.
  • 0 Votes
    4 Posts
    971 Views
    M
    thank you for your help, I am trying to understand ... am I right in the assumption that this is not "clean code" in a pythonic sense ? kind regards
  • GroupBorderNoTitle change GUI or flags after user input

    Cinema 4D SDK
    4
    0 Votes
    4 Posts
    770 Views
    ferdinandF
    Hi @mogh, thank you for reaching out to us and thank you @mp5gosu for providing help. I think the most meaningful thing I can say is that GeDialog is pretty forgiving and not as strict as the sum of its methods might imply; at least that was my insight to be gained when I encountered the class first. Since you said you consider this to be still rough, here are some tips that might be helpful. All following method references are members of GeDialog. You can define and load file based resources for dialogs, just like it is implicitly done with descriptions, with LoadDialogResource. This helps to clean up GeDialog implementations from the inherent clutter that comes with complex interface definitions. You can also do this to some extent in a modular fashion, i.e., invoking LoadDialogResource multiple times will not replace the former content but instead append new content. CreateLayout is mostly a convenience method. Or in other words, there is nothing which does prevent you from modifying the resource of a dialog from anywhere else where you have access to the dialog instance (be careful with threading though). Resources are organized in groups and you can flush these groups with LayoutFlushGroup, for example to rebuild them on user interaction. Single arbitrary elements can be removed by invoking RemoveElement. The relevant methods are all grouped under Dialog Change Methods in the GeDialog documentation. If anything remains unclear, please do not hesitate to ask. Cheers, Ferdinand
  • NodeData: How to get connected GeListNode

    Cinema 4D SDK python r20
    3
    0 Votes
    3 Posts
    435 Views
    M
    Thought so. No, there's nothing missing in inherited methods. Thought, it'd be convenient. However, storing it to a member variable on init or forwarding does the trick.
  • 0 Votes
    9 Posts
    2k Views
    fwilleke80F
    Thanks, Maxime! Looks like I have it running flawlessly now. good work on Terraform looks solid! Thank you! It is pretty solid, yes Cheers & happy Easter, Frank
  • How to know when Apply button is grayed out (disabled)

    Cinema 4D SDK r20 c++
    4
    0 Votes
    4 Posts
    660 Views
    ManuelM
    hi, one side note, there is GetDEnabling and GetEnabling you can have more information in our manual GetEnabling will call GetDEnabling. There are pretty the same but the one you implement is GetDEnabling. Cheers, Manuel.
  • SceneHook and object caches

    Cinema 4D SDK r20 c++
    13
    0 Votes
    13 Posts
    2k Views
    ferdinandF
    Hi @C4DS, with some delay comes here a request for closing this. If you want to keep it open for now, you can push it one more cycle ahead, but at some point I will insist on closing it without further activity. Thank you for your your understanding. Without further questions or feedback, we will consider this thread as solved by Monday and flag it accordingly. Cheers, Ferdinand
  • compiling for r20 new solution

    Cinema 4D SDK
    4
    0 Votes
    4 Posts
    788 Views
    Y
    @PluginStudent Thank you so much! It worked! Yaroslav.
  • Custom ColorField?

    Cinema 4D SDK c++ r20
    5
    0 Votes
    5 Posts
    777 Views
    C4DSC
    @zipit Thanks for the detailed info. Much appreciated!
  • Default Object: How to apply those defaults?

    Cinema 4D SDK c++ r20 r21 s22 r23
    11
    0 Votes
    11 Posts
    1k Views
    ManuelM
    well sorry for the misleading. I was thinking it should work because the object is inserted with doc->InsertObject Cheers, Manuel
  • WARNING: Unknown baselist allocator

    Cinema 4D SDK r20 c++
    3
    0 Votes
    3 Posts
    350 Views
    fwilleke80F
    I totally understand. Just wanted to know if it maybe points to something terribly dangerous. I'll just ignore it, then Cheers, Frank
  • Plugin is evaluated for all frames

    Cinema 4D SDK r21 s22 r23 r20 python
    2
    0 Votes
    2 Posts
    451 Views
    ferdinandF
    Hi @pyr, thank you for reaching out to us. I am afraid we will need a little bit more than that, as otherwise it will be very hard to answer your question What kind of plugin do you implement? What does it do or what would you consider as running? On a very abstract level you cannot really prevent plugins from running other than not registering them at the start of the application. But you can of course modify their output depending on basically everything, including render events and at what time offset some given document is. Cheers, Ferdinand
  • PYTHON GENERATOR ISSUES

    Cinema 4D SDK r20 python
    3
    0 Votes
    3 Posts
    411 Views
    gheyretG
    @Cairyn Thank you for your reply. The "odd result" it's means the scene is empty , no objects were generated. According to your explanation, I have solved the problem. And it's just an exercise code. Thank you again !
  • 0 Votes
    5 Posts
    540 Views
    fwilleke80F
    Hi Manuel, thanks for getting back to me! The size of the bitmap you want to display ? It's 320x116 pixels. Do you want to bitmap to scale when you scale the GeDialog ? No. I rather want the dialog to be just wide enough to fit the bitmap in it. And that seems to happen automatically. Even if I open the dialog with a width of e.g. 100 px, it doesn't get any smaller than (width_of_bitmap + strange_gap * 2). Is it possible that it's a macOS-only issue? Maybe it's the radius of the windows' round corners that gets added to the size. Anyway, maybe this issue isn't worth spending more of your time on. Since it works with a ASYNC_POPUPEDIT style dialog, I think I can live with what I got.
  • Find BaseMaterial that owns a BaseShader?

    Cinema 4D SDK r20 r21 r23 s22 c++
    4
    0 Votes
    4 Posts
    492 Views
    ManuelM
    hi, Confirmed, thanks @mp5gosu. That also work if the shader is inside another shader. Cheers, Manuel
  • 0 Votes
    16 Posts
    3k Views
    ferdinandF
    Hi, ten times slower sounds rough. It is probably because I was a bit lazy and used a lookup table (visited) to traverse the scene-graph, which is a rather expensive thing to do. Feel free to use the fixed traversal if performance becomes an issue here. Cheers, Ferdinand
  • Loft incorrectly returning input objects

    Cinema 4D SDK sdk r20 c++
    10
    3
    0 Votes
    10 Posts
    2k Views
    ferdinandF
    Hi, without further feedback, we will consider this thread as solved by Monday and flag it accordingly. Cheers, Ferdinand