• Calling CommandData by name

    Cinema 4D SDK c++ python r19 r20
    5
    0 Votes
    5 Posts
    1k Views
    a_blockA
    Hi, just want to ask, if can consider this topic as solved. Bye, Andreas
  • Need to change rotation order of camera object

    Cinema 4D SDK
    6
    0 Votes
    6 Posts
    2k Views
    r_giganteR
    Hi Gogeta, glad that in the end it worked out properly. Please, in order to close the topic, mark the post that actually solved your initial question or simply mark the thread as solved from the Topic Tools menu Cheers, Riccardo
  • Cloned Surface Deformer data

    Cinema 4D SDK c++ r19 r20
    3
    0 Votes
    3 Posts
    1k Views
    rsodreR
    @s_bach sorry, forgot about the tags. I'm using C++ SDK on R19/R20. I try calling ExecutePasses(), thanks.
  • Failed to Connection on TeamRender

    Cinema 4D SDK c++ r19 sdk
    2
    0 Votes
    2 Posts
    835 Views
    r_giganteR
    Hi zhhm156, this post will be answered here. For the future, please avoid double posting. Best, Riccardo
  • 0 Votes
    7 Posts
    2k Views
    eZioPanE
    Hi, @y_puech I may find a bug of the forum about "mark a post correct answer", discussion post here: Cannot mark post as answer Once this bug solved, I will re-edit this topic and posts correctly.
  • Setting Quicktime Options

    Cinema 4D SDK python r19
    6
    0 Votes
    6 Posts
    3k Views
    M
    Hi @dmp, sadly as you already figurate out datarate want a BytesValue, which is not yet implemented in the maxon API (as it's been said, currently the python maxon API is still on progress and they are some flaws or missings class like this one, which will be fixed in futures release). And I'm afraid there is no workaround for it except switching to C++. With that said. For all other parameters, maxon API also introduces some new types like maxon.Int (which point to maxon.Int64 if available or maxon.Int32). According your issue with custom samplerate and audio kilobitrate, only few values are accepted. MAXON_ATTRIBUTE(Int, AUDIO_SAMPLERATE, "net.maxon.mediasession.mf.export.audio.samplerate", RESOURCE_DEFINE(ENUM_32000, 32000) RESOURCE_DEFINE(ENUM_44100, 44100) RESOURCE_DEFINE(ENUM_48000, 48000)); MAXON_ATTRIBUTE(Int, AUDIO_KILOBITRATE, "net.maxon.mediasession.mf.export.audio.kilobitrate", RESOURCE_DEFINE(ENUM_96, 96) RESOURCE_DEFINE(ENUM_112, 112) RESOURCE_DEFINE(ENUM_128, 128) RESOURCE_DEFINE(ENUM_160, 160) RESOURCE_DEFINE(ENUM_192, 192) RESOURCE_DEFINE(ENUM_224, 224) RESOURCE_DEFINE(ENUM_256, 256) RESOURCE_DEFINE(ENUM_320, 320)); If you have any question left, please let me know. Cheers, Maxime.
  • 0 Votes
    2 Posts
    1k Views
    S
    Hello, Set Driven Keys is just some workflow to create an Xpresso setup connecting two parameters. This has nothing to do with scripting or CallCommand(). Can you maybe explain somehow differently what you want to achieve? best wishes, Sebastian
  • Cannot update values of BaseContainer of VideoPost

    Cinema 4D SDK python r19
    5
    0 Votes
    5 Posts
    1k Views
    S
    Hello, I'm not really sure I understand what you are doing. Are you operating in a command line version of Cinema? Or is you code reacting to some command line arguments? Are you operating on the currently active BaseDocument? As I said, I don't have Indigo Renderer so I can't test this specific scenario. But when you "change" the renderer, you also have to "create" that renderer video post when operating in a new document. So it is not enough just to change the RDATA_RENDERENGINE parameter. This example shows how to set and create the "Hardware" renderer: renderData = doc.GetActiveRenderData() if renderData is None: return # set Hardware as active renderer bc = renderData.GetDataInstance() bc[c4d.RDATA_RENDERENGINE] = c4d.RDATA_RENDERENGINE_PREVIEWHARDWARE # add Hardware post effect # in Python a BaseList2D object must be created videoPost = c4d.BaseList2D(c4d.RDATA_RENDERENGINE_PREVIEWHARDWARE) renderData.InsertVideoPost(videoPost) c4d.EventAdd() You find general information on RenderData also in the C++ documentation: RenderData Manual. best wishes, Sebastian
  • Rotate a bitmap image in portrait mode by 90 degrees

    Cinema 4D SDK
    3
    0 Votes
    3 Posts
    1k Views
    G
    @a_block Thank You so much Andreas ! I would like to try all the suggested approaches and hopefully I'll get my issue resolved (except second option is out of my context as I can't use another application). Third potion seems to be the best suited option and I would like to give it a try. Thanks Again...!
  • Can't compile plugin on Mac OSX

    Cinema 4D SDK c++ r19 macos
    3
    0 Votes
    3 Posts
    1k Views
    a_blockA
    Hi, difficult to tell. Is this already happening, just by adding the CUDA include paths to the project or do you actually need to include from the framework as well? Maybe there's something with the order of includes? Or something needs to be undefined again, after including CUDA somewhere? Just guess work, here at the SDK Team we have no experience with the CUDA framework at all. Cheers, Andreas
  • R19: SplitPolygon and Ngon indices

    Cinema 4D SDK r19 c++
    4
    0 Votes
    4 Posts
    2k Views
    B
    @r_gigante Thank you very much for your help, Riccardo! The suggested method of calculating the ngon index works fine with the Modeling::SplitPolygon() function, but functions like Modeling::GetEdgeNgons() sometimes return unexpected indices, which seem to be based on a different logic. I have updated the demo plugin and also included an image (NgonIndexProblem.png) in the zip file, which explains the problem: https://files.frankwilleke.de/index.php/s/EpGg1TkdzIemWJl In this case Modeling::GetEdgeNgons() and Modeling::GetPointNgons() returns indices which seem to be a confusing mix of ngon and polygon indices (or indices with and without offsets). Do you have any more ideas? Thanks in advance, Tim
  • 0 Votes
    3 Posts
    1k Views
    G
    @a_block HI Andreas, Thanks a lot for your reply. I am implementing the first approach as suggested by you as it seems the most feasible approach to my solution. I'll get back to you if I found any issue. Thanks again
  • VideoPost execution in TeamRender

    Cinema 4D SDK
    2
    0 Votes
    2 Posts
    1k Views
    a_blockA
    Hi, it depends... Via the NETRUNONSERVER flag (to be returned from GetRenderInfo()) a VideoPost specifies, that it can be run on the server. Where the VideoPost is actually executed in the end, depends on the scenario. For a distributed single frame rendering, such a VideoPost will be executed on the server. On the other hand, for animation rendering, where every client finishes entire frames, the VideoPost will nevertheless be executed on the clients. Cheers, Andreas
  • Render to texture for Cinema 4D

    General Talk
    2
    0 Votes
    2 Posts
    1k Views
    a_blockA
    Hi, congratulation to your first plugin. Looks nice! Cheers, Andreas
  • 0 Votes
    6 Posts
    3k Views
    J
    Hi, thanks but i managed to fix it. It wasnt a Cinema4d related error. Apparently a bad argument to one of python methods was causing it to return the filepath of the script instead.
  • Priority confusion

    Moved Cinema 4D SDK python r19
    8
    0 Votes
    8 Posts
    2k Views
    chuanzhenC
    For viewport delay: i rewrote Skin Deformer ,Add a Aim Object to Check DeformCacheDirty To achieve my purpose(keep viweport realtime Refresh),yes ,it work. I have been updating the post, hoping that I can understand what the problem is on the right path, instead of exploring the working mechanism of Cinema 4D in other ways. Although I don't get the official answer, this will not dispel my enthusiasm for exploration the answer. (English is not very good, I hope to understand what I express)
  • 0 Votes
    5 Posts
    2k Views
    S
    Hello, LoadDialogResource() and LayoutFlushGroup() should work perfectly fine together. Typically LayoutFlushGroup() is called in reaction to some user interaction or in InitValues(): Bool CreateLayout() { if (!GeDialog::CreateLayout()) return false; if (!LoadDialogResource(11000, nullptr, 0)) return false; return true; } Bool InitValues() { LayoutFlushGroup(11003); AddButton(100, BFH_SCALEFIT, 0, 10, "Button"_s); LayoutChanged(11003); return true; } best wishes, Sebastian