• 0 Votes
    3 Posts
    800 Views
    F
    Thank you @i_mazlov It works perfectly Best regards, Tomasz
  • 0 Votes
    6 Posts
    2k Views
    T
    ok. I know not your department, but thats nuts. Thanks!
  • [python]Where can I find the documentation of python redshift C4D?

    2023
    2
    1
    0 Votes
    2 Posts
    1k Views
    ferdinandF
    Hello @ghparadise, Welcome to the Plugin Café forum and the Cinema 4D development community, it is great to have you with us! Getting Started Before creating your next postings, we would recommend making yourself accustomed with our forum and support procedures. You did not do anything wrong, we point all new users to these rules. Forum Overview: Provides a broad overview of the fundamental structure and rules of this forum, such as the purpose of the different sub-forums or the fact that we will ban users who engage in hate speech or harassment. Support Procedures: Provides a more in detail overview of how we provide technical support for APIs here. This topic will tell you how to ask good questions and limits of our technical support. Forum Features: Provides an overview of the technical features of this forum, such as Markdown markup or file uploads. It is strongly recommended to read the first two topics carefully, especially the section Support Procedures: Asking Questions. About your First Questions It depends a bit on what you meant with 'the documentation of Python Redshift'. Classic API The old redshift module Python API never has been official and was therefore integrated into the Python documentation. This old redshift module targeted the GraphView, i.e., Xpresso node material of Redshift. Technically you did not need that API, as you could retrieve the 'node' branch of a Redshift material, and the rest is then more lest just standard c4d.modules.graphview code. Except for us helping users from time to time here on the forum, there are no SDK code examples for this API. Nodes API But your screenshot concerns a node material for the Node Editor, i.e., the 'new' node system. There is no dedicated API for Redshift (required) here, and instead you just use the general purpose Nodes API. The technical documentation can be found here. The Nodes API encompasses the graph, nodes, and nodespace frameworks. Here you can find our Nodes API Python examples, including material nodes and Redshift examples. Where can I find the document of these string parameter just like "com.redshift3d.redshift4c4d.nodes.core.texturesampler". You cannot, the Redshift attributes are currently not exposed both in the C++ and Python API. What you can do however, is use the Node Editor. Press CTRL + E to open the preferences, and activate the option IDs under Node Editor. [image: 1706612092842-4bd6db15-8efc-4a60-bb79-2529de10efba-image.png] When you now select a node, you see its Asset ID (the ID used to instantiate the node) and its ID (the ID used to reference this specific node in the graph): [image: 1706612198107-178ce2f0-967a-4697-b629-9efb0e7fd3a0-image.png] When you select a port, you will also see its ID. [image: 1706612228918-399bb9d2-7e7a-4dcb-8288-1bebb3f58a5d-image.png] Where can I find the document of these method just like "FindChild","AddChild","GetInputs" and so on. They are part of the Nodes API. These function names are a bit ambiguous as the appear on multiple types. You are likely talking about GraphModelInterface, which is the interface representing a graph, and GraphNode which represents entities in a graph such as nodes and ports. Cheers, Ferdinand
  • Setting the name of a maxon.GraphNode via Python

    2023 python
    3
    0 Votes
    3 Posts
    608 Views
    PoliigonP
    Hey Maxime, thanks for the quick answer. Actually I thought, I had tried SetValue() with that ID. But either I did something wrong or I tried something else... anyway, thanks. Just checked: Yes, I did something wrong. I stupidly just passed a string instead of a maxon.String. With the latter it works, not that I doubted your proposal. Maybe would be good, if SetValue() could throw an error, if a wrong type gets passed instead of just doing nothing. Also thanks for the pointer to Dunhou's project, I was already aware. Nice project! And indeed I peeked into it regarding some Arnold peculiarities... Cheers, Andreas
  • Get Selected Keyframes?

    2023 2024 python
    6
    0 Votes
    6 Posts
    1k Views
    ferdinandF
    Hey @bentraje, yes, we are aware that internal and private tags are something that plagues our documentation as they often have been abused by developers to skip documentation. But that is not so easy to fix. I for example did and still do not know the purpose NBIT_TLX_SELECT2 either. I was just experienced enough with the C4D API to poke in this place first. Physically fixing the docs, i.e., adding a blab here or there, is not the problem. The problem is to evaluate if the private tag in C++ (which then radiates into Python) is well founded or not, especially for ancient things like this. I would have to read a lot of code to make an assessment if this should be private or not, and even then would not be sure. And even an 'Expresses the selection state of f-curve keys. @markprivate' is problematic because for that I would have to be sure that it does not have a weird side effect. Cheers, Ferdinand
  • trigger script when viewport camera is moved

    python 2023
    3
    0 Votes
    3 Posts
    661 Views
    T
    @i_mazlov thanks so much! some super useful insights here. I think I will have eventually to move to C++
  • Rotating a Bitmap image with C4D's C++ SDK?

    c++ 2024
    5
    0 Votes
    5 Posts
    976 Views
    sasha_janvierS
    Thanks @m_adam. I read the page. Duly noted!
  • This topic is deleted!

    1
    1
    0 Votes
    1 Posts
    6 Views
    No one has replied
  • How it works new CalcGradientPixel?

    python 2024
    3
    0 Votes
    3 Posts
    759 Views
    lleallooL
    I am kind of surprised there isn't an easier way to sample a Gradient by a normalized 0-1 position Anyway, thanks @mikeudin for the snippet and @m_adam for the fix
  • Xref object Make it Editable

    2024 python
    3
    2
    0 Votes
    3 Posts
    722 Views
    chuanzhenC
    @ferdinand Thanks for your reply!
  • Character Defenition Tag - maxon.Id?

    2024 python
    3
    0 Votes
    3 Posts
    674 Views
    jochemdkJ
    Thx Maxim, so I'll have to wait until the next version..
  • How to properly load async data into C++ generator plugin?

    c++
    15
    0 Votes
    15 Posts
    3k Views
    H
    Thanks again, Ferdinand! I have been conditioned by other programming to fear and loathe anything that blocks the UI thread. However, the files that will be downloaded by users of my plugin would typically be in the 250-1000 bytes range, as long as the network isn't extremely slow I guess it should not be a huge problem. I will do the blocking behavior for now, and then maybe start looking into Jobs or something if needed.
  • Reset Tool in Interaction Tag

    2024 python
    4
    2
    0 Votes
    4 Posts
    816 Views
    ferdinandF
    Hey @CJtheTiger, just as a clarification, it is obvious that you have put quite a bit of effort in your posting. So, that was not meant in the sense of "what a terrible posting". But especially for postings which contain a lot of detail, it is important to put the question at the very beginning so that it is clear what is the question. Regarding the axis behavior thing, I now understand how you mean that. The Interaction Tag (and Tooling) is not owned by the SDK group, so we would not be responsible for this case either, we only own all the "pure" Python stuff. What I thought was your request before, changing the general default value, had probably almost zero changes of being implemented. This request of yours sounds logical (I am not a big expert on the interaction tag) but given how niche that case is, and that it would require customization in tools just for that case, I do not see a high chance that this will ever be implemented either. But if you truly desire that feature, you should still submit the wish, because a lot of user requests for the same thing are something we cannot and will not ignore. Cheers, Ferdinand
  • 0 Votes
    9 Posts
    2k Views
    fwilleke80F
    Hi Ferdinand, thank you for the clarification!
  • Boole Object causes version 2024 to freeze

    r23 2023 2024 python windows
    3
    0 Votes
    3 Posts
    2k Views
    ThomasBT
    @ferdinand Hello Ferdinand, Thank you very much first of all. yes, you're right, I worked extremely sloppily with the SMC method, of course I'll take the threading into account and also work with a Temp Document. Regarding the problem itself, I can only say that reinstalling CINEMA 4D solved our problem. Cheers
  • VolumeBuilder Cache and AddDependence()

    2024 c++
    9
    0 Votes
    9 Posts
    2k Views
    D
    Hi Illia, I haven't been able to properly stress test the new code, but by the first look it seems to be working. Thanks! Dan
  • SetMousePointer() will not "stick" in GeDialog

    c++ 2024
    2
    0 Votes
    2 Posts
    544 Views
    i_mazlovI
    Hello @justinleduc, Sorry for the delayed answer. You have a point that the discussion on some abstract questions doesn't require any code. However, you have a very specific question, namely you're struggling from your cursor constantly flickering between cursor states. This is your exact code that produces this undesirable result, so this is not an abstract question. According to my observations there's no issues with flickering cursor in GeUserArea in C4D 2024.2. You can find some good examples in our C++ repository. for example you can start with C++ SDK - Example Dialog. Please also make sure you familiarized yourself with the following manual pages: GUI and Interaction Messages Manual GeDialog Manual GeUserArea Manual Especially the GeUserArea::Message() would be something of your interest. If you're still observing the issue please provide a minimal code snippet that gives context to our discussion. Cheers, Ilia
  • 0 Votes
    6 Posts
    1k Views
    ferdinandF
    Hey @ThomasB, That has nothing to do with the highlighting but with the fact that Maxime used incorrect links. developers.maxon.net/docs/ links will only work from outside of the forum. Inside the forum you currently have to use dvelopers.maxon.net/assets/docs/ as otherwise nodebb is trying to take over the routing. I am working on fixing that issue. I have fixed both links of Maxime. Cheers, Ferdinand
  • Python plugin in costum C4D-Layout

    2024 python windows
    3
    0 Votes
    3 Posts
    627 Views
    M
    @ferdinand thank you for your welcoming words, for your help and edits. Since I am no trained developer I was simply copy and pasting my first lines of code including the RegisterCommand function from the maxon python example github and thought it would fit my application since I thought the description in the sdk seemedlike a match to me ["Command can be dragged into an icon bar and delivers its own dialogs instead of icons." (- maybe I got that wrong)]. Also scince I have little developing experience the term "smallnode" is nothing I can make sense of and an accurate description seems to be missing. Nevertheless I tried your suggestion and it works like a charm. Thanks a lot Marc
  • How to get screen space

    2024 python
    3
    1
    0 Votes
    3 Posts
    633 Views
    chuanzhenC
    @m_adam Thanks!