• Is there any way to check deformcache dirty

    r20 c++
    4
    0 Votes
    4 Posts
    926 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.
  • MoGraph Form Control

    c++ r20 sdk
    3
    0 Votes
    3 Posts
    694 Views
    ManuelM
    hello, if you have nothing to add, this thread will be considered as 'solved' and will be closed tomorrow Cheers Manuel
  • Datastorage unique and ordered

    r19 r20 c++
    8
    0 Votes
    8 Posts
    840 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
  • Tag Based Subdivision Surface?

    r20 python
    4
    0 Votes
    4 Posts
    1k 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.
  • Attaching image to camera calibrator adds offset to camera

    python r19
    10
    0 Votes
    10 Posts
    2k 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
  • Matrix/HPB to XYZ and vice versa

    python r20
    7
    0 Votes
    7 Posts
    2k 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!
  • Access Bake Objects (Timeline) or Bake Animation to Curves

    r20 python
    4
    0 Votes
    4 Posts
    1k 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!
  • Where is lib_geom.h

    r20 c++
    3
    0 Votes
    3 Posts
    847 Views
    M
    @s_bach Oh, i miss a important part, thank you!
  • Simulating a Scrub in the Timeline?

    r20 python
    4
    0 Votes
    4 Posts
    855 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
  • HashMap with BaseArray as value

    r19 c++
    3
    0 Votes
    3 Posts
    518 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.
  • 0 Votes
    8 Posts
    1k 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.
  • "Do something when a value is changed" in Python Node?

    r20 python
    6
    0 Votes
    6 Posts
    720 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.
  • Bug in mograph python effector default state R20

    r20 python
    4
    1 Votes
    4 Posts
    911 Views
    M
    Thanks for reporting I've created a bug report. Cheers, Maxime
  • Get/Fetch Node from an Existing Xpresso Tag

    r20 python
    3
    0 Votes
    3 Posts
    749 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!
  • Mograph Camera Shader from Python

    3
    0 Votes
    3 Posts
    561 Views
    F
    Thanks that worked perfectly. I thank you both!
  • Get active object after random value

    python r19
    8
    0 Votes
    8 Posts
    1k 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
  • 0 Votes
    4 Posts
    517 Views
    chuanzhenC
    @m_magalhaes Thanks, hope to fix it in a future release.
  • Executing action after the scene is rendered

    2
    0 Votes
    2 Posts
    399 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
  • 0 Votes
    2 Posts
    464 Views
    r_giganteR
    Hi temple, thanks for reaching out us. With regard to your question, I confirm that it's not possible to switch to Python 3.x since R20 is compiled against Python 2.x. Best, Riccardo
  • Python Node Executing Twice (R20.059 Bug?)

    r20 python
    4
    0 Votes
    4 Posts
    539 Views
    M
    My workaround still works for earlier version so you don't really need to check for version but it's up to you. Cheers, Maxime.