• 0 Votes
    4 Posts
    1k Views
    G
    The API does appear to have movie saving features. https://developers.maxon.net/docs/py/2023_2/modules/c4d.bitmaps/MovieSaver/index.html
  • How to group nodes in a Scaffold using Python

    Cinema 4D SDK 2024 python
    3
    0 Votes
    3 Posts
    995 Views
    D
    Hey @m_adam , Thanks for your help. It works now. However, I'm wondering how I would have known that I needed to set the scaffold ID to the node. The documentation doesn't seem to explicitly mention this step. I might be wrong, but for someone without strong knowledge of the API, I'd never thought that way. I would rather added the selected nodes to a group, as this is what a scaffol is. Does that make sense? As a side note, after adding the nodes to the scaffold group, they appear messy, actually the nodes are nicely arranged inside the group, but the scaffold is overlapping other nodes. This is likely related to the bug we discussed here: https://developers.maxon.net/forum/post/73446. Am I right? Cheers
  • 0 Votes
    6 Posts
    2k 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
  • 0 Votes
    7 Posts
    2k Views
    M
    Hi sadly no news, except we kind of know the issue, sadly this issue is somehow by design and will require an architectural change. While we still want to fix this issue, everything is about priority and this is not a urgent priority at the moment so I can't tell you when it will be fixed. But it's on our list. Cheers, Maxime.
  • OpenUSD (pxr) library in c4d python

    Cinema 4D SDK python 2024
    17
    0 Votes
    17 Posts
    9k Views
    i_mazlovI
    Hi @llealloo, please excuse the delayed answers. To the best of my knowledge in the near future there're no plans for integrating usd python bindings into c4d python system. By the way, with the 2025.0 release internal usd library was properly updated to OpenUSD 24.08, so we expect the double loading usd issue to be solved under OSX. Cheers, Ilia
  • 0 Votes
    5 Posts
    2k Views
    CJtheTigerC
    Hi @m_adam, thanks a lot, that did the trick. To close this topic off here's a snippet to allow other objects but not the current object to be dropped in there: def Message(self, node: GeListNode, type: int, data: object) -> bool: if type == c4d.MSG_DESCRIPTION_CHECKDRAGANDDROP: relevant_id = c4d.DescID(c4d.YOUR_PARAM) # Use the ID of the parameter of your object that you want to check. current_id: c4d.DescID = data['id'] if relevant_id.IsPartOf(current_id)[0]: dragged_element = data["element"] is_same_object = node == dragged_element data['result'] = not is_same_object return True return True Cheers, Daniel
  • Include same container multiple times in .res

    Cinema 4D SDK 2024 python c++
    2
    0 Votes
    2 Posts
    722 Views
    i_mazlovI
    Hi Daniel, You cannot include multiple containers and keep their IDs different. There's no special arguments for the INCLUDE statement that can optimize this workflow for you. In your case having your own implementation of CYCLE would be the solution you're looking for. Cheers, Ilia
  • 0 Votes
    3 Posts
    1k Views
    D
    Hi Maxime, thank you very much for your answer! I wasn't sure if storing things in the global document BaseContainer was a good approach, but it's working well. Cheers, Daniel
  • Python: Localized Plugin Name

    Cinema 4D SDK 2024 python
    5
    0 Votes
    5 Posts
    2k Views
    M
    Hi you are right, I double checked and my c4d_string.str was like that, sorry I copy-pasted your in my reply without notifying it. // C4D-StringResource // Identifier Text STRINGTABLE { PLuginName "AAAAAA-ROUNDED Tube"; } All the rest is correct in your sentences. Cheers, Maxime.
  • Python Weight Painting Brush Plugin Questions

    Cinema 4D SDK python 2024
    2
    0 Votes
    2 Posts
    696 Views
    M
    Hi @BretBays this is correct, if you want to make a Brush the easiest way is to register a SculptBrushToolData , you can find examples in Python in Github or in C++ in Github. SculptBrushToolData is derived from DescriptionToolData, meaning they can have a description visible in the attribute manager and therefor you can add your own checkbox if needed. Cheers, Maxime.
  • 0 Votes
    2 Posts
    728 Views
    M
    Hi @baca, sadly it is not possible to get the exact same random in Python than the one used internally for this feature. So the only way would be to actually clone some objects an retrieve their position as shown in read_modata_color.py. The previous example retrieve the color and not the position, so instead of retrieving the MODATA_COLOR, use the MODATA_MATRIX. Cheers, Maxime.
  • Python: Detect Plugins

    Cinema 4D SDK 2024 python windows
    12
    0 Votes
    12 Posts
    3k Views
    J
    Thanks for the response. I'll see if this does what I need it to John Thomas
  • 0 Votes
    7 Posts
    2k Views
    John_DoJ
    Hi Maxime, Thank you very much for looking at my issue. Did you try the new function ? I've added it in my code and unfortunately I get the same result as before. [image: 1703847634618-cinema_4d_3jwccopdud.gif]
  • 0 Votes
    2 Posts
    580 Views
    M
    Hi thanks for the report, python should never crash, so it's going to be fixed in the next release. In any case the port should be a valid a port, but an exception should be raised when None is passed. Cheers, Maxime
  • The cloner is calculated before the Python tag

    Cinema 4D SDK 2023 python
    2
    0 Votes
    2 Posts
    754 Views
    i_mazlovI
    Hi @ll2pakll , Please excuse the delay, your topic somehow slipped from my list. I can only speculate here, as you haven't attached a sample scene that highlights your issue. The way you describe the problem it looks like a priority issue of the python tag. Please have a look at how the priority works in our documentation: https://help.maxon.net/c4d/2023/en-us/Default.htm#html/TPYTHON-OBASELIST.html#EXPRESSION_PRIORITY Also note that it's forbidden to call c4d.EventAdd() (or in reality is just skipped) from the python tag due to multithreading restrictions (c4d.EventAdd() is executed on main thread whilst python tag is executed in a parallel thread): [image: 1704368550401-9ddbfeab-53dd-49e1-8ded-0a6c3dddba94-image.png] Cheers, Ilia
  • Python Effector with custom FieldList

    Cinema 4D SDK python 2024
    3
    0 Votes
    3 Posts
    1k Views
    M
    Hi @baca, this is unfortunately not possible there is some default CheckDirty in place to support the default FiledList, but since you can not override CheckDirty in an effector yourself you can't add another FieldList dependency check. Cheers Maxime.
  • Python: How to import files as modules?

    Cinema 4D SDK python 2024
    2
    0 Votes
    2 Posts
    796 Views
    i_mazlovI
    Hi @gaschka, In your next postings please provide more detailed description of your question. In this case you're lacking information about the file structure you're using, the code that performs the import, the information on how and what have you set the environment variable for. Regarding your question, when splitting python code into separate pieces one usually uses the concept of packages rather than raw files. Hence, your question relates to local modules you'd like to use in your script. Please, have a look at the Python Libraries Manual especially the last section about the Local Plugin Search Paths. Another point of interest for you would be a utility function LocalImportPath that simplifies the process of importing packages. If you have any further questions, please let me know and provide a code sketch that showcases your issue. Cheers, Ilia
  • Python: How to inject code into a Python tag?

    Cinema 4D SDK python 2024
    4
    0 Votes
    4 Posts
    1k Views
    gaschkaG
    Thanks to you both for your answers. @m_adam Regarning my issue with the file linking, I'll try to come up with a procedure for reproduction of my issue soon: It was quite random, but I was in the flow of writing my script, so I circumvented with the string solution, but I would prefer the file solution for sure.
  • Python: User Data Float Slider?

    Cinema 4D SDK python 2024
    4
    1
    0 Votes
    4 Posts
    1k Views
    gaschkaG
    @i_mazlov Thank you for the friendly introduction and the hint to CUSTOMGUI and REALSLIDER, exactly what I was looking for. @baca Thank you for the additional tip.
  • Python script to Python tag hand over?

    Cinema 4D SDK 2024 python
    3
    0 Votes
    3 Posts
    1k Views
    gaschkaG
    Thanks for your help and nudging me into the right direction, I think I can work with that