• BaseBitmap.CopyPartTo() with grayscale image

    python sdk
    5
    0 Votes
    5 Posts
    887 Views
    oli_dO
    Thank you very much Maxime for the reply. I'm looking forward to the r23 and the python 3 with a lot of impatience. Cheers
  • TreeView Multiple Selection With LMB

    Moved
    13
    0 Votes
    13 Posts
    2k Views
    Danchyg1337D
    @m_adam Now i see the problem. Thanks alot for helping!
  • SDK for node based materials, status?

    r21 sdk
    3
    1 Votes
    3 Posts
    640 Views
    F
    @r_gigante said in SDK for node based materials, status?: With regard to your question, we confirm that at the moment there are no news concerning this topic but, again, we are aware of the relevance of the request and it will be delivered accordingly to our product development plan. Thanks! On a related note: Is there any statement from MAXON on the future of the old xpresso-style node system? We are looking to implement a node-system in our plugin, and since API for the new node system is not out yet we may consider using the legacy xpresso API instead. On the other hand, it would not be a good idea to invest resources in this if that part of the SDK might be deprecated and replaced with the new node system. I realize that you may not be able to provide much info on the roadmap here, but any information that you can give would be super helpful for making this decision! Cheers /Filip
  • MSG_GETCUSTOMICON: Bitmap in IconData always empty

    s22 c++ classic api
    5
    0 Votes
    5 Posts
    756 Views
    M
    Hi Frank, sorry for coming late to the party, the API changed within the R21 where by default the icon is not more filled because it's up to you to fill it with what you need. Just in case for other people, not interested in C++ (since the manual is pretty obvious) there is a Python example in Where you can have custom icons, you can find an example of how to achieve custom icon within Python in py-custom_icon_r21.pyp. Cheers, Maxime.
  • Encrypted Loggers or Custom LoggerTypes?

    r20 r21 s22 c++
    7
    0 Votes
    7 Posts
    759 Views
    ManuelM
    hi, I've asked the devs. We should have everything needed to do what you want. Encrypting file is builtin with maxon::Url scheme. There's already several algorithm, you just have to specify your CryptoKey. When you create a logger to a file (or it could be a web server), you attach it to a maxon::Url, it should be automatically encrypted. But that's not working and that's why I've asked the devs. I don't know if it's a limitation or a bug. What I wanted to do was create a maxon::LoggerType::EncryptedFile(), but I don't see how to do this. as i said, the encrypted part should be done by the maxon::Url (streaming) part Cheers, Manuel
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    4 Views
    No one has replied
  • How to refresh a deleted object link in Python?

    6
    0 Votes
    6 Posts
    1k Views
    X
    Hi: It feels like a good question, otherwise I wouldn't have known that XPresso had this problem.I think your problem is that XPresso Tag adds links to user data.If you add user data links to Python nodes, you will have no problem putting splines in the links.Or drag the spline directly to XPresso manager, output the object, there will be no problem. import c4d #Welcome to the world of Python def main(): #global spline global obj global time spline = op[c4d.ID_USERDATA,1] if spline != None: SplineHelp = c4d.utils.SplineHelp() SplineHelp.InitSpline(spline) offset = SplineHelp.GetOffsetFromReal(time, 0) pos = SplineHelp.GetPos(offset) #print(pos) obj.SetAbsPos(pos) [image: 1598474349417-7854567857885.jpg]
  • MultiLineEditText Documentation

    python
    3
    0 Votes
    3 Posts
    352 Views
    ?
    @m_adam Thank you for the update, Maxime!
  • 0 Votes
    7 Posts
    1k Views
    fwilleke80F
    Hmmmm, well, on the one hand this function is a nice thing: It really does do the escaping for me, so the spaces in the URL are correctly replaced with "%20". But it does not handle anchors in a URL. This URL works fine: file:///Applications/Maxon/Cinema 4D R22/plugins/myplugin/help/content/omyobject/omyobject.html But this URL is not opened, instead an error (code -43) is thrown: file:///Applications/Maxon/Cinema 4D R22/plugins/myplugin/help/content/omyobject/omyobject.html#MYOBJECT_ATTRIBUTE That is a pity.
  • VolumeData::trans vs VolumeData::alpha

    4
    0 Votes
    4 Posts
    777 Views
    X
    The distinction between pixel color and contribution of the ray to the pixel really helps clear things up. Thanks for all the help
  • What's the state of Ngons in Python?

    python classic api r21
    9
    0 Votes
    9 Posts
    1k Views
    CairynC
    @m_magalhaes said in What's the state of Ngons in Python?: About the bugs on the forum, we have introduce few month ago new tags "Bug report" and "Bug Fixed". We are also adding some tag in our bug database to retrieve faster the post on the forum. I know it's not perfect and sometimes we may forgot to add this tag on the first post of the thread. But it's better than nothing. Yeah, I'll try to use that in the future although it probably won't affect existing threads (a lot of valuable knowledge still resides in the "old forum" parts). @Cairyn said in What's the state of Ngons in Python?: Anyway, I don't think this issue is of huge interest as you said there's a replacement in the new kernel already, which will probably come with a diferent tesselation algorithm, so I present it here as a curiosity. Don't get me wrong, all modeling command have been migrated to the new modeling kernel. If you are using SendModelingCommand, it will use the new kernel. So what you see now in S22 and R23 (ok you will see in R23) IS the new kernel. There will be no better tesselation. I consider this as a bug. As a Perpetual user, I'm still on R21 (as tagged) so is this also the new kernel? AFAIK the new kernel has been working behind the API for a while now, being gradually introduced into the functionality, so it's possible that this bug still persists. I can't test it on a demo of S22 for you, as the current licensing does not allow me to install one. The new modeling kernel isn't exposed yet. But it is used. I understand, it's a bit confusing. We are moving Cinema4D to the new core. But as long as some part of Cinema4D are using the old system (object manager for exemple), the new core need to "translate" that to the classic API. (...) I hope it's clear. Sure, I have a few decades of programming under the belt. It's just a bit difficult as non-Maxon developer to see the details. Seeing only the API (and therefore the user-side of the translation layer), I can't always tell what the underlying data model really is; what's stored as attribute, what's calculated on the fly, what's internally cached for fast access, what's abstracted and what's plainly stored... I may make wrong assumptions on the internal workings. this look like a valid ngon but i will ask It probably is valid - I don't see a reason why it should be forbidden. I just notice that the tesselation algorithm tends to avoid such "inner polygons". That may not be intentional (based on a rule) though, but just a consequence of how the algorithm works. Thanks again, -- Cairyn --
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    3 Views
    No one has replied
  • What is the max parameter in BaseSelect.GetRange() really for?

    r21 python
    7
    0 Votes
    7 Posts
    1k Views
    CairynC
    yupyup, BaseSelect has no connection to the original object it actually selects from, not even in the cases where you get a pointer to the BaseSelect returned and change the selection directly through it. That's why we need the max parameter for SelectAll and ToggleAll -- the BaseSelect doesn't know what "all" even is. (Not GetLastElement()!) For GetRange() though, that reasoning does not apply. Now let's see whether I can crash C4D with inconsistent edge selections...
  • Access Python Tag Globals from outside

    python
    10
    0 Votes
    10 Posts
    1k Views
    indexofrefractionI
    Thanks zipit and Maxime, I use the MSG_BASECONTAINER solution now, thanks for the example ! one question here: you always return True from the message() function is that necessary? the docs here https://developers.maxon.net/docs/py/2023_2/manuals/introduction/python_tag.html?highlight=python plugin just says : Return type: bool Returns: Depends on the message type. ... and a bit off topic : is there a message, when a python tag or generator gets enabled / disabled by the (generator) switch in the object manager? can i catch that?
  • Do not delete your posts once you get an answer

    5
    2 Votes
    5 Posts
    821 Views
    gheyretG
    Thank you @m_adam
  • Customgui for ShaderLink

    maxon api r21
    4
    0 Votes
    4 Posts
    677 Views
    indexofrefractionI
    This is still missing in the Python SDK .....
  • Decoupling source from SDK project

    7
    0 Votes
    7 Posts
    1k Views
    F
    @kbar said in Decoupling source from SDK project: Since Maxon also updates the ProjectTool when a new version of C4D comes out and it may have new flags or optimazations and changes to the project structure for XCode and Visual Studio. From what I can tell it's pretty stable, also I don't mind what someone else thinks my compiler optimisation flags should be. Maintaining your own CMake version going forward for R20, R21, S22, RXX etc... would be a massive pain and just slow you down. Not as painful as you think it might be, also not as slow. Whatever floats your boat.
  • ToolPlugin Problems

    python s22 r21 r20 r19
    7
    2
    0 Votes
    7 Posts
    1k Views
    kbarK
    @gheyret great to hear! Looking forward to seeing what it is you are creating.
  • 0 Votes
    5 Posts
    797 Views
    AwesuusA
    Thank you so much, this works like a charm!!!
  • Requests for GeClipMap Class

    3
    0 Votes
    3 Posts
    443 Views
    ?
    @m_magalhaes Thanks, Manuel!