Maxon Developers
    • Downloads
      • All Downloads
      • Cinema 4D Python SDK
      • Cinema 4D C++ SDK
      • Cineware SDK
      • ZBrush GoZ SDK
      • Cinema 4D Python Examples
      • Cinema 4D C++ Examples
      • Project Tool
      • SDK Database
    • Documentation
      • Cinema 4D Python SDK
      • Cinema 4D C++ SDK
      • Cineware SDK
      • ZBrush GoZ SDK
    • Forum
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Forums
      • Overview
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • News & Information
      • Downloads
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Register
    • Login
    1. Home
    2. Cinema 4D SDK
    Log in to post
    Load new posts
    • Newest to Oldest
    • Oldest to Newest
    • Most Posts
    • Most Votes
    • Most Views
    • FlavioDinizF

      Close any C4D Window

      python r20 • • FlavioDiniz
      7
      0
      Votes
      7
      Posts
      815
      Views

      ManuelM

      hello,

      thanks a lot for posting your solution here.

      Cheers
      Manuel.

    • V

      How to close a dialog box by event

      python • • visualride
      3
      0
      Votes
      3
      Posts
      227
      Views

      V

      That should work. Thanks for the clarification and pointer to the example!

    • M

      Is there any way to check deformcache dirty

      r20 c++ • • mike
      4
      0
      Votes
      4
      Posts
      273
      Views

      M

      Hi @mike, I just wanted to confirm what @chuanzhen said.

      For more information see the C4DAtom Manual about the dirty stuff.

      Cheers,
      Maxime.

    • J

      MoGraph Form Control

      c++ r20 sdk • • JohnThomas
      3
      0
      Votes
      3
      Posts
      306
      Views

      ManuelM

      hello,

      if you have nothing to add, this thread will be considered as 'solved' and will be closed tomorrow

      Cheers
      Manuel

    • C4DSC

      Datastorage unique and ordered

      r19 r20 c++ • • C4DS
      8
      0
      Votes
      8
      Posts
      255
      Views

      ManuelM

      hello,

      It's not related to Iterator.
      This simple example also complain about the default constructor.

      #include <iostream> class MYINT { public: MYINT(int inInt) { _myint = inInt; }; private: int _myint; }; int main() { MYINT myint; system("pause"); return 0; }

      It should say 'hey i don't have any constructor with no parameters".

      But if you give him something to initialize with it understand.

      MYINT myint = MYINT(10); MYINT myOtherInt = 10; MYINT myThirdInt(10);

      all this will end with _myint = 10;

      Cheers
      Manuel

    • B

      Tag Based Subdivision Surface?

      r20 python • • bentraje
      4
      0
      Votes
      4
      Posts
      691
      Views

      B

      @r_gigante @Cairyn

      Thanks for the thorough explanation. I underestimated the task. I initially thought it was just an easy click since the function is already available as a generator.

      I was looking for the same behavior in Maya. Where the subdivision deformer or modifier is not a separate object. So I can select objects easily.

      Anyhow, will settle for what is available in C4D currently.

      Thank you.

      Will close this for now.

    • A

      Attaching image to camera calibrator adds offset to camera

      python r19 • • AndreAnjos
      10
      0
      Votes
      10
      Posts
      452
      Views

      A

      Hi Manuel,

      Right! Found the culprit... symbolcache file...
      Couldn't understand how it was working for you and not for me.
      After deleting symbolcache worked straight away and it seems that also works without having

      doc.SetActiveTag(outro_cal_tag)

      Thank you very much for your awesome help with this! ☺

      Andre

    • S

      Matrix/HPB to XYZ and vice versa

      python r20 • • sheilan
      7
      0
      Votes
      7
      Posts
      938
      Views

      S

      @m_magalhaes said in Matrix/HPB to XYZ and vice versa:

      convert the matrix to XYZ xyz = c4d.utils.MatrixToHPB(m, order=c4d.ROTATIONORDER_XYZGLOBAL) # convert from radian to deg for i in xrange(3): xyz[i] = c4d.utils.RadToDeg(xyz[i]) print xyz

      Works perfectly. Thanks!

    • B

      Access Bake Objects (Timeline) or Bake Animation to Curves

      r20 python • • bentraje
      4
      0
      Votes
      4
      Posts
      380
      Views

      B

      @lasselauch

      I guess I need to revisit the script in the link above when I need to bake user data. Anyway, your script will do at the moment. It's readable enough for my newbie eyes 🙂 It works as I expected!

      Thanks for the handy script.

      @m_adam

      Thanks for the confirmation!

    • M

      Where is lib_geom.h

      r20 c++ • • mike
      3
      0
      Votes
      3
      Posts
      244
      Views

      M

      @s_bach Oh, i miss a important part, thank you!

    • B

      Simulating a Scrub in the Timeline?

      r20 python • • bentraje
      4
      0
      Votes
      4
      Posts
      301
      Views

      ManuelM

      hi @bentraje ,

      Just to confirm @mp5gosu answer.

      We can also point you to BaseDocument manual where you have some information about ExecutePasses

      Cheers
      Manuel

    • C4DSC

      HashMap with BaseArray as value

      r19 c++ • • C4DS
      3
      0
      Votes
      3
      Posts
      218
      Views

      C4DSC

      @r_gigante
      Thanks for the headsup about FindOrCreateEntry.
      Since Put does use that method internally, I didn't even consider about trying to use it, as I simply assumed it would have the same issue. Guess I was wrong about not trying it.

      Problem solved.

    • B

      Autocomplete successful but symbol IDs are unrecognized (on Pycharm)

      r20 python • • bentraje
      8
      0
      Votes
      8
      Posts
      316
      Views

      M

      Thanks, Mike for providing them, as said before be aware that if you encounter slowdown for the autocompletion and in typing in your IDE, it may come from here 🙂

      Cheers,
      Maxime.

    • B

      "Do something when a value is changed" in Python Node?

      r20 python • • bentraje
      6
      0
      Votes
      6
      Posts
      279
      Views

      M

      Hi sorry I overlooked your answers.

      If you want to have something more consistent you should store it into the scene. So the things that make more sense is to store it into the basecontainer of the current GvNode. Like so

      import c4d def main(): if not c4d.threading.GeIsMainThread(): return bc = op.GetDataInstance() # Get an unique ID at https://developers.maxon.net/forum/pid store_value = bc[1000001] if Input1 != store_value: print "Something changed" bc[1000001] = Input1 else: print "Nothing changed"

      Cheers,
      Maxime.

    • codysorgenfreyC

      Bug in mograph python effector default state R20

      r20 python • • codysorgenfrey
      4
      1
      Votes
      4
      Posts
      325
      Views

      M

      Thanks for reporting I've created a bug report.

      Cheers,
      Maxime

    • B

      Get/Fetch Node from an Existing Xpresso Tag

      r20 python • • bentraje
      3
      0
      Votes
      3
      Posts
      224
      Views

      B

      Thanks @m_adam. Works as expected.
      My bad, I was looking at the documentation hierarchy erroneously (i.e c4d > modules > graphview > GvNode)

      Just a note: I think the if Multiply: line is supposed to be if isMultiply:.

      Thanks again. Have a great day ahead!

    • F

      Mograph Camera Shader from Python

      • • fasteffect
      3
      0
      Votes
      3
      Posts
      207
      Views

      F

      Thanks that worked perfectly. I thank you both!

    • W

      Get active object after random value

      python r19 • • Wusiki
      8
      0
      Votes
      8
      Posts
      435
      Views

      W

      @m_magalhaes said in Get active object after random value:

      The problem here is that Message() is called before Main() (nothing you can changed)

      Hello.
      Thank you so much. I've understood. Yea, it works. I'd break my mind to understand it by myself. So, then I gonna optimize drawcalls (don't know how to call it another) of LaunchUpdate() func

    • chuanzhenC

      Color Gui Off Animation,Key frames will still be recorded in AutoKeyframe mode!

      r20 python • • chuanzhen
      4
      0
      Votes
      4
      Posts
      212
      Views

      chuanzhenC

      @m_magalhaes Thanks, hope to fix it in a future release.

    • P

      Executing action after the scene is rendered

      • • pe_matthewalexander
      2
      0
      Votes
      2
      Posts
      170
      Views

      r_giganteR

      Hi pe_matthewalexander , thanks for reaching out us.

      With regard to your question I suggest the following options (which strongly depend on the context you're supposed to run)

      implement a MessageData::CoreMessage() and check for EVMSG_RAYTRACER_FINISHED to be dispatched; use the BaseDocument::RenderDocument() to fire and control the render execution use the Remote effect as described here to have an external script being run upon rendering being completed implement your own VideoPostData (assuming you're willing to move to C++)

      Best, Riccardo