• Field Refusing Object

    12
    0 Votes
    12 Posts
    3k Views
    ferdinandF
    Hello Dan, I know that the situation is a bit unsatisfying, but that is unfortunately mostly a design problem you have there and not an API one. Which are often questions that are hard to answer "in a good way" and technically also out of scope of support. In case you encounter any problems further down the road, please do not hesitate to revisit us. Cheers, Ferdinand
  • Pyhon Tag message for Generator Bit Change

    4
    0 Votes
    4 Posts
    658 Views
    indexofrefractionI
    blush... not remembering my own threads, ouch! .-) thanks Maxime !
  • Creating node material presets for custom node space

    c++ sdk
    5
    1
    0 Votes
    5 Posts
    932 Views
    ManuelM
    Hi, you can create those preset with a commandData sure. When you add the graph to your node material it will call the function you defined in maxon::nodes::NODESPACE::CREATEMATERIALGRAPHFUNC See Proving Default Graph Setup for more information. So be sure to remove the nodes added by this function if they are not needed. You must create a NodeMaterial, insert it in the document, add the graph for the right nodespace and retrieve the graph itself (by first retrieving the nimbusref). We got an example on this page: Reading and Modifying Node This page also contains an introduction to Transaction. maxon::GraphModelInterface::BeginTransaction must be used if you want to modify the graph. You can than Commit your changes, which will ensure the graph is in a correct state. You can have a look a nodespace_impl.cpp, you will find the function CreateMaterialGraphDefaultSetup. remarque: this function doesn't need transactions to modify the graph. In this handbook, we are using transaction to modify some port's value inside a graph. With both examples, you will understand how to add nodes, connect them, and sets values. Cheers, Manuel.
  • Mirror without duplicate using `MCOMMAND_MIRROR`

    s22 python
    12
    0 Votes
    12 Posts
    2k Views
    ManuelM
    Hi, This have been fixe and will be available in a futur update. Cheers, Manuel
  • C4DUnhandledExceptionFilter - debugging log ?

    2
    0 Votes
    2 Posts
    970 Views
    ferdinandF
    Hello @nicholas_yue, thank you for reaching out to us. You can find the crash reports of Cinema in its preference folder. The preference folder should be located in \{​​​​​​​USER}​​​​​​​\AppData\Roaming\MAXON\{​​​​​​​​​​​​​​VERSION}​​​​​​​​​​​​​​\. It can also be opened via a button at the bottom of the preferences menu. [image: 1623227605524-4f6efb26-a940-40f4-ba2e-235d991e14e4-image.png] However, this will lead you to the preference folder of the Cinema 4D app, not the one for commandline.exe. The last element in the path will be a folder with a name like S24_XXX_YYYYYYY where the XXX part is the minor revision and the YYYYYYY part a hash with no higher meaning for the user. So, the path is then for example {USER}\AppData\Roaming\MAXON\S24_037_DFA0E3FB. When you have run the command line app at least once, then there will also be a folder with almost the same path, but only that an _x has been appended, e.g., {USER}\AppData\Roaming\MAXON\S24_037_DFA0E3FB_x. This path then contains all the commandline.exe data, including the bug reports, which should be visible to you under {USER}\AppData\Roaming\MAXON\{VERSION}_x\_bugreports. For testing purposes, you can always invoke a crash on Cinema 4D by using the argument -crashtest. So, .\Commandline.exe -crashtest will force a crash which should pop up in your {USER}\AppData\Roaming\MAXON\{VERSION}_x\_bugreports. Cheers, Ferdinand
  • Changing Asset References to Absolute

    python
    14
    0 Votes
    14 Posts
    2k Views
    ferdinandF
    Thank you Andreas for closing it. Cheers, Ferdinand
  • How to use UV morph node

    r21 c++
    5
    0 Votes
    5 Posts
    790 Views
    A
    Hi, Thank you so much for your suggestion. I changed my code to iterate each surface. It works very well. Thank you for your help, which solved my problem. [image: 1623154713798-6ecf2fc3-56cc-4834-9632-0b815d3a5f39-image.png] Thanks, Manuel
  • Select custom tab with python

    Moved
    8
    0 Votes
    8 Posts
    1k Views
    jochemdkJ
    Below gets the focus back on the first tab of the pyTag (after other objects have been selected), but it only works with/after a button click.. Perhaps this might be of use. def message(id, data): if id == c4d.MSG_DESCRIPTION_COMMAND: id2 = data['id'][0].id if id2 == c4d.ID_USERDATA: userDataId = data['id'][1].id if userDataId == 1: # << just a button on the pyTag with ID 1 ### do some function... # GET FOCUS BACK on the pyTags's 1st Tab: op.GetObject().SetBit(c4d.BIT_ACTIVE) op.SetBit(c4d.BIT_ACTIVE) c4d.gui.ActiveObjectManager_SetObject(c4d.ACTIVEOBJECTMODE_TAG, op.GetObject(), c4d.ACTIVEOBJECTMANAGER_SETOBJECTS_OPEN, c4d.DescID(c4d.DescLevel(1))) op.GetObject().DelBit(c4d.BIT_ACTIVE) c4d.EventAdd()
  • FieldLayer GetDirty

    c++ r20 sdk
    10
    0 Votes
    10 Posts
    1k Views
    J
    Thanks for the response, that seems to have solved the issue. John Terenece
  • c4d.documents.CloseAllDocuments() always returns None

    r21 python windows
    2
    0 Votes
    2 Posts
    414 Views
    M
    Hi, @Boony2000 you are right, the documentation will be fixed. Cheers, Maxime.
  • Python typing features

    python
    7
    0 Votes
    7 Posts
    1k Views
    ferdinandF
    Hello @beesperester, thank you for sharing your repository, but without further questions or postings, we will consider this topic as solved by Wednesday and flag it accordingly. Thank you for your understanding, Ferdinand
  • Undo Block through Context Manager

    3
    0 Votes
    3 Posts
    727 Views
    ferdinandF
    Hello @wuzelwazel, without further questions or postings, we will consider this topic as solved by Wednesday and flag it accordingly. Thank you for your understanding, Ferdinand
  • Add menu item to existing submenu in Python

    7
    0 Votes
    7 Posts
    1k Views
    ferdinandF
    Hello @Chris-Chris, without further questions or postings, we will consider this topic as solved by Wednesday and flag it accordingly. Thank you for your understanding, Ferdinand
  • Falloff on Python deformer

    4
    0 Votes
    4 Posts
    615 Views
    ferdinandF
    Hello @César-Vonc, without further questions or postings, we will consider this topic as solved by Wednesday and flag it accordingly. Thank you for your understanding, Ferdinand
  • Colors on a generator

    r20 r21 r23 s22 s24 c++
    14
    0 Votes
    14 Posts
    1k Views
    ferdinandF
    Hello @fwilleke80, without further questions or postings, we will consider this topic as solved by Wednesday and flag it accordingly. Thank you for your understanding, Ferdinand
  • Python and the GUI Separator

    python c++ r21 r23
    8
    0 Votes
    8 Posts
    1k Views
    CairynC
    Good to hear, thanks!
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    11 Views
    No one has replied
  • No save prompt after userchange

    r21 windows python
    3
    0 Votes
    3 Posts
    532 Views
    B
    Hi! Thanks for your input! I just found the cause. There is an os.kill call on the C4DPL_ENDPROGRAM message. If you leave it out some python stuff seems to keep running and preventing Cinema from being opened again. I am assuming that's why the original author did that. I will just catch the dirty flag myself and deal with unsaved scenes before terminating the process. Unless you know a more elegant way. I will mark this as solved. Thanks again. P.S.: This is off topic, but trying to reply I would always get an error and I had to log out and in again to post this. EDIT: I found the elegant solution - Adding c4d.documents.CloseAllDocuments() before the process termination handles the save dialogs perfectly!
  • GetGeneralLicensingInformation() returns error

    5
    0 Votes
    5 Posts
    762 Views
    fwilleke80F
    I already did If they didn't contact you, it strengthens my suspicion, and I can simply ignore further mails from that contact. Thanks! Cheers, Frank
  • Using CodeEditor_Open()

    c++ r23 s24
    15
    1 Votes
    15 Posts
    2k Views
    fwilleke80F
    Hi Maxime, Thank you! That’s a lot to take in Cheers, Frank