Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login
    1. Maxon Developers Forum
    2. Cinema 4D SDK
    Log in to post
    Load new posts
    • Newest to Oldest
    • Oldest to Newest
    • Most Posts
    • Most Votes
    • Most Views
    • fwilleke80F

      Executing Python code in C++: crash when importing c4d package

      c++ macos r23 python • • fwilleke80
      4
      0
      Votes
      4
      Posts
      465
      Views

      fwilleke80F

      I was in deed calling the code from within PluginStart(). Calling it from PluginMessage(C4DPL_STARTACTIVITY) fixed it. Thank you, Kent!

      Cheers,
      Frank

    • D

      Triggering MatPreview update without raising dirty flags

      c++ sdk • • Deyan
      4
      0
      Votes
      4
      Posts
      713
      Views

      D

      Thanks for the effort Maxime (and rendering department). I suspected that it won't be possible, but still asked because I thought I might have missed something.

      Cheers,
      Deyan

    • F

      This topic is deleted!

      • • flewis
      1
      0
      Votes
      1
      Posts
      2
      Views

      No one has replied

    • C4DSC

      Custom ColorField?

      c++ r20 • • C4DS
      5
      0
      Votes
      5
      Posts
      761
      Views

      C4DSC

      @zipit
      Thanks for the detailed info.
      Much appreciated!

    • F

      Changing material projection in takes using Python

      • • Futurium
      12
      0
      Votes
      12
      Posts
      2.1k
      Views

      F

      Thank you @zipit
      I adopted your solution into our code and it works exactly as expected.
      Thank you for your help.
      Best regards,
      Tomasz

    • F

      Python: "Frame Selected" Within a Thread

      python s22 • • flewis
      4
      0
      Votes
      4
      Posts
      614
      Views

      ferdinandF

      Hi @flewis,

      sorry, there has been some mix-up with access rights, you should be now able to access the page. About your fix: It does not really matter if you do it manually or not. While you can decouple the modification of the node attributes - which is allowed from within a thread - from the redraw event, to carry out that newly computed camera transform, you still will have to invoke a redraw, which you cannot do from within your threaded environment. When you invoke such redraw event, the first thing the internal code does, is to check if its running on the main thread and if not, it just gets out. So there is not much won by doing it manually, at least for what from my understanding is the premise of your problem: To constantly frame the viewport to the object that is currently processed by your async code.

      Cheers,
      Ferdinand

    • fwilleke80F

      Unicode character in a maxon::String... how?

      c++ • • fwilleke80
      3
      0
      Votes
      3
      Posts
      339
      Views

      ManuelM

      hi,

      thanks a lot for posting the answer.

      the problem in your first code is that SetUtf32 is that you didn't define your number of character. In the documentation, the count parameter is defined like so:

      Number of valid characters in the buffer. A count of -1 calculates the string length automatically, terminating when \0 is found

      3 solutions :

      // define the right character number copyright.SetUtf32(&copyrightChar, 1) iferr_return; // define an array of Utf32Char and initialise it maxon::Utf32Char copyrightP[2]{ 0x000000A9 , '\0' }; // Create a buffer in memory maxon::Utf32Char* copyrightP = NewMemClear(Utf32Char, 2) iferr_return; finally { DeleteMem(copyrightP); }; copyrightP[0] = 0x000000A9; copyrightP[1] = '\0';

      Cheers,
      Manuel

    • Y

      Get Spline Data from document->GetActiveObject();

      c++ • • Yaroslav
      8
      0
      Votes
      8
      Posts
      1.5k
      Views

      Y

      @m_magalhaes

      Thank you, Manuel!

    • orestiskonO

      How to get all elements from BaseSelect

      • • orestiskon
      3
      0
      Votes
      3
      Posts
      575
      Views

      orestiskonO

      Thanks @ferdinand , I misinterpreted the GetRange argument. That clears it up, and thanks for the example as well, it's very useful!

    • M

      Find Plugin remains by Plugin ID and delete - how to tacle.

      r23 python • • mogh
      5
      0
      Votes
      5
      Posts
      1.1k
      Views

      M

      I just had time to check this hence the holidays.

      This works with the correct ID (1036219 = Redshift) the nodes render my "cleaned" C4D file again.

      Thank you very much @m_magalhaes

      kind regards
      mogh

    • fwilleke80F

      Plugin compiled on macOS Catalina for R23, not working on Big Sur?

      r23 macos c++ • • fwilleke80
      22
      0
      Votes
      22
      Posts
      14.3k
      Views

      r_giganteR

      @kbar said in Plugin compiled on macOS Catalina for R23, not working on Big Sur?:

      @fwilleke80 I think setting the hardened runtime when you code sign solves the timestamp issue. I don’t set a timestamp.

      codesign --force --options runtime --sign 'Developer ID Application: YOURCOMPANYNAME' 'sdk/plugins/yourplugin/yourplugin.xlib'

      Thanks a lot Kent, for pointing this out!
      The one below is the string I use which, as said by Kent, doesn't need the timestamp because of the hardened runtime.
      codesign -f -s "Developer ID Application: <YOUR DEV ID>" --options runtime <binary file>.xlib

      Documentation updated accordingly

    • A

      ShowPopupDialog Freezes Cinema R21

      python r21 • • AndreAnjos
      12
      0
      Votes
      12
      Posts
      1.9k
      Views

      A

      @ferdinand
      Hi Ferdinand,

      Thank you for your time and help!
      Will get it sorted with your pointers above.

      All the best!

      Andre

    • D

      Access GradientCustomGui in NodeData::GetDDescription

      c++ sdk • • Deyan
      4
      0
      Votes
      4
      Posts
      685
      Views

      D

      Hi, @m_adam, thanks for the effort. I suspected it will not be possible without a custom GUI/data implementation - I guess I will go with this approach.

      Cheers,
      Deyan

    • ?

      Description & Example in Documentation for CCurve.AddKey

      python sdk • • A Former User
      2
      0
      Votes
      2
      Posts
      253
      Views

      ferdinandF

      Hi @blastframe,

      thank you for reaching out to us and for reporting these errors in the documentation. We will fix both the erroneously attributed short description of AddKey as well as the code example in an upcoming update of the C4D SDK Python docs.

      Cheers and happy coding,
      Ferdinand

    • ?

      Creating a Keyframe similar to Ctrl-Clicking the Curve

      r23 windows python • • A Former User
      3
      0
      Votes
      3
      Posts
      382
      Views

      ?

      @ferdinand That was exactly what I was seeking, thank you, Ferdinand! 😄

    • J

      Collect System Information/Configuration

      r23 c++ • • JuicyJuggles
      2
      0
      Votes
      2
      Posts
      343
      Views

      ManuelM

      hi,

      you can have a look at our manual about MachineInterface you will find all the machine information under those attributs

      Cheers,
      Manuel

    • ?

      CCurve.FindPrevUnmuted & CCurve.FindNextUnmuted

      r23 windows python sdk • • A Former User
      3
      0
      Votes
      3
      Posts
      463
      Views

      ?

      @ferdinand Thank you for this; it makes things much clearer. I am very grateful we have the forum to clarify these issues.

    • ?

      Updating F-Curves in Timeline on EditSlider Drag

      python sdk r23 windows • • A Former User
      4
      0
      Votes
      4
      Posts
      475
      Views

      ManuelM

      @blastframe said in Updating F-Curves in Timeline on EditSlider Drag:

      What's c4d.EVMSG_FCURVECHANGE for then?

      After a quick check (sorry, I should have checked yesterday for a more complete answer) literally nothing. It's used nowhere.

      Cheers,
      Manuel

    • M

      BaseContainer Sort broken?

      python • • mp5gosu
      7
      0
      Votes
      7
      Posts
      987
      Views

      M

      That's okay, since it is a minor issue.
      For newcomers however, there should be a hint in the docs, because it clearly states Sorts the container entries by ID. which is not the case.

    • C4DSC

      How to know when Apply button is grayed out (disabled)

      r20 c++ • • C4DS
      4
      0
      Votes
      4
      Posts
      644
      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.