• Jiggle modifier not cached

    c++ r20 r19
    3
    0 Votes
    3 Posts
    455 Views
    ManuelM
    Hello, Regarding the question yes, using GetDeformCache is the way to go. Using one object, there's not too much difference between MCOMMAND_CURRENTSTATETOOBJECT and MCOMMAND_JOIN as the MCOMMAND_JOIN is calling a MCOMMAND_CURRENTSTATETOOBJECT for each object. The obvious part is that the Join command will create one object while the other will return a hierarchy. (if there are children) Cheers, Manuel
  • Saving pointers to BaseObjects for use between scene updates

    c++
    3
    0 Votes
    3 Posts
    575 Views
    C
    Greetings! Thanks for the reply. I kinda goofed up- apparently my objects were being improperly deconstructed before I was trying to use them, which was causing the BaseLink to get deleted and crash on subsequent access. BaseLink does indeed work fine and solves my problem. Sorry for the confusion! -CMPX
  • Beginner:How to set A cube as the child of B cube by python?

    Moved
    3
    1
    0 Votes
    3 Posts
    919 Views
    I
    @m_adam Thanks a lot, great help, I will try your way
  • API questions

    Moved
    3
    0 Votes
    3 Posts
    666 Views
    J
    @m_adam thanks so using c4d.documents.SaveDocument the window is still showing up.. even with "SAVEDOCUMENTFLAGS_NONE" or "SAVEDOCUMENTFLAGS_AUTOSAVE" could it still be showing up because of an error in the file path its trying to save to or something like that?
  • [python] SetFont not working

    r20 sdk python
    6
    0 Votes
    6 Posts
    2k Views
    I
    @m_adam said in [python] SetFont not working: In which version are you? The code I posted is working nicely in R20.059. 20.059. Before i tried any methods, that's my fail. Not work for me. From new start of c4d. - it works
  • How do I change parameters in Camera using user data

    4
    0 Votes
    4 Posts
    714 Views
    r_giganteR
    Can you create user interfaces with Python or do you somehow build the tool interface with user data? Yes you can! Cinema 4D Python API comes with a complete set of classes to deliver full-fledged UI to your scripts or plugins. Please start looking at the examples in the Python Github repository to get an idea on Python API potentials. If I wanted this camera rig to be setup via a button would I have to create the xpresso interface or would this be done another way? Depending on the final purposes, skipping the Xpresso graph in favor of a Python-based logic could be preferred if the logic is supposed not to be changed by development-agnostic guys. The initial idea of Xpresso was exactly of providing a convenient and easy-to-use interface to implement programmatic behaviors or models without writing a single line of code. Also, is it best to learn Python basics before jumping into C4D plugin development? If so what are the best starting points? Definitively it is! I warmly recommend going through a first dive in Python, get comfortable with those concepts representing its development foundation and then move to the Cinema 4D Python API. This will help you to better understand the examples. Best, Riccardo
  • Beginner:How to set axis to the bottom of a cube by python?

    Moved
    6
    2
    0 Votes
    6 Posts
    2k Views
    M
    @ilad Well, it's not limited to non-animated objects. As @r_gigante posted, you're actually modifying the points and the matrix. Both operations can also be achieved manually. So, no difference if animated or not. The only thing you have to keep in mind when modifying animated objects is to make sure, all keys containing Matrix/PLA data have to be handled as well.
  • Export objects with materials to new document

    python r19
    2
    0 Votes
    2 Posts
    469 Views
    A
    Found it! c4d.documents.IsolateObjects(doc, t_objects) A helper routine to copy the objects t_objects of document doc to a new document (returned). All materials associated are also copied over and the links are corrected. Parameters: doc (c4d.documents.BaseDocument) – The document that contains the objects in t_objects. t_objects (List[c4d.BaseObject]) – The objects to isolate. Return type: c4d.documents.BaseDocument Returns: The document containing the isolated objects. Thank you all !
  • Get current frame at render time with Python?

    3
    0 Votes
    3 Posts
    730 Views
    A
    Hi Maxime, thanks for the response! I was aware that the scene gets copied, but unaware of the GetDocument function so it definitely makes sense! I will give that a try and report back. I have been trying this with both a python effector, as well as in a python xpresso node. Andrew
  • Search Icon in Menubar

    3
    1
    0 Votes
    3 Posts
    573 Views
    lasselauchL
    Wow, thanks so much for this complete Example, Maxime..!!! Great work, really appreciated! Cheers, Lasse
  • Beginner:How can i set a key-frame and value to a cube by python?

    Moved
    5
    1
    0 Votes
    5 Posts
    2k Views
    ManuelM
    hello, thanks @tummosoft, it's nice to see it's helpful @ilad By the way instead of ID_BASEOBJECT_POSITION you could have use ID_BASEOBJECT_REL_POSITION. Both Ids are the same. If you want to know how to get those ids you can use the python console and drag and drop parameters, more information on this page In this case the DescID is composed of two DescLevel. The first define the Vector type, the second de Float type for X, Y and Z. (DescID can have less or more levels) To change the Size.Y of the cube, the descID will be : c4d.DescID(c4d.DescLevel(c4d.PRIM_CUBE_LEN, c4d.DTYPE_VECTOR, 0), c4d.DescLevel(c4d.VECTOR_Y, c4d.DTYPE_REAL, 0))) To change the scale of the object the descID will be : c4d.DescID(c4d.DescLevel(c4d.ID_BASEOBJECT_REL_SCALE, c4d.DTYPE_VECTOR, 0), c4d.DescLevel(c4d.VECTOR_Y, c4d.DTYPE_REAL, 0))) Cheers Manuel
  • ToolResizeData UI

    7
    0 Votes
    7 Posts
    895 Views
    r_giganteR
    @rsodre : looks like it.
  • i code to create a group of cylinders in C4D python,why no response?

    Moved
    5
    1
    0 Votes
    5 Posts
    1k Views
    I
    @r_gigante Thank for your professional help! I am so grateful for your commitment!
  • Dynamic Update on Plug-ins

    r20 python
    5
    0 Votes
    5 Posts
    667 Views
    B
    Hi @m_magalhaes Thanks for the response and clarification specially with the def __init___ and def InitValuesthat was news to me. The plug-in works as expected. Have a great day ahead!
  • What are the options to install a Cinema4D plug-in?

    3
    0 Votes
    3 Posts
    2k Views
    M
    Hi Riccardo, Thank you for the detailed answer. With the many options available, I chose one that fits best with our installer. Again, thanks for the help! Maxime
  • Automatically add effector object into In-/Exclusion User Data

    5
    0 Votes
    5 Posts
    705 Views
    M
    @mfersaoui said in Automatically add effector object into In-/Exclusion User Data: @m_adam Thank you, Now I'm searching for how to add an Object to an In-Exclude user data. I tried with the following code but this doesn't work. import c4d def main(): effectors = op[c4d.ID_USERDATA,2] # In/Exclude User Data plain = doc.GetFirstObject() # Plain object (Effector) effectors.InsertObject(plain, 1) c4d.EventAdd() if __name__=='__main__': main() The actual issue is that effectors = op[c4d.ID_USERDATA,2] perform a copy of the InExcludeData so that means you have to reassign the data correctly after it since you don't do the change directly from the InExcludeData of the BaseContainer. op[c4d.ID_USERDATA,2] = effector Cheers, Maxime.
  • Limit the number of executions of an object plugin.

    5
    0 Votes
    5 Posts
    946 Views
    mfersaouiM
    @s_bach Sorry, I just saw your message. the replies notifications was disabled. Thank You!
  • urllib2.HTTPError: HTTP Error 403

    python
    4
    0 Votes
    4 Posts
    1k Views
    ManuelM
    hello, we did run a couple of test and seems that the "issue" is on Patreon side. HTTP Error 403: Forbidden We did try with other url, it work. We did try adding header-agent or things like that, it failed. They probably changed something on their server that doesn't allow to connect with python with default parameters. You have to contact them in order to know what you have to do. Cheers Manuel
  • How to Get CAJoint points Counts(Bone Display Set : Polygon)

    r20 python
    3
    0 Votes
    3 Posts
    469 Views
    chuanzhenC
    @m_adam Thanks
  • ProjectTool & visual studio: /DELAYLOAD

    8
    0 Votes
    8 Posts
    2k Views
    ManuelM
    hello, if you can give us feedback that would be awesome. Cheers Manuel