• Thinking Particles allocation failure in new document

    python s22
    7
    0 Votes
    7 Posts
    1k Views
    ManuelM
    @ivodow said in Thinking Particles allocation failure in new document: So, would ExecutePasses() with the BUILDFLAGS_EXPORT flag set be typically called just before exporting to alembic (to be on the safe side)? the exporter is calling ExecutePasses several times, you don't really need it. And because the scene can be sometimes quiet complexe, you have to call it several times in a row. for example, in the alembic exporter : [image: 1597218183449-68d39647-ef56-430b-ae1a-2189e1b83617-image.png] Cheers, Manuel
  • Mouse positions and screen dimensions

    r20 r21 c++
    17
    4
    0 Votes
    17 Posts
    2k Views
    ManuelM
    hi, sorry, it get out of my mind. Cheers, Manuel
  • GeDialog shadows

    c++ windows macos r20 r19
    6
    0 Votes
    6 Posts
    1k Views
    ManuelM
    hi, this is the current state: "I think this is related to the ASYNC_POPUPEDIT being a non-resizable, modal dialog - and as such it is displayed kind of "Win legacy style" by the OS. Nothing we actively do set (and something which could change once they do further design overhauls in Win10)" Cheers, Manuel
  • Problem with TreeViewFunctions.HeaderClick in c4d r20, 21 22

    python r20 r21 s22
    3
    0 Votes
    3 Posts
    533 Views
    ManuelM
    hi, Since R20, arguments have been added, and the problem is coming from the last one def HeaderClick(self, root, userdata, lColID, lChannel, bDblClk, mouseX, mouseY, ua): I've opened a bug report Cheers, Manuel
  • Change the default name of ID_OBJECTPROPERTIES

    python
    3
    1
    0 Votes
    3 Posts
    638 Views
    mfersaouiM
    @m_magalhaes said in Change the default name of ID_OBJECTPROPERTIES: DEFAULT 1; Thank you much.
  • Merge IsolateObjects into a second document

    r20 python windows
    2
    0 Votes
    2 Posts
    530 Views
    ManuelM
    hi, you have to save the document to memory and use the result to merge the document. When you merge, you have to set the flags to what you want to merge, otherwise it will not merge what you want. On this example i'm merging a document with another selected document. import c4d from c4d import gui # Welcome to the world of Python # Main function def main(): obj = doc.GetActiveObject() if obj is None: return # Isolate the active object isolateDoc = c4d.documents.IsolateObjects(doc, [obj]) # Creates the Memory File Strcuture mfs = c4d.storage.MemoryFileStruct() # Sets the mfs to write mode mfs.SetMemoryWriteMode() # save the document to mfs c4d.documents.SaveDocument(isolateDoc, mfs, c4d.SAVEDOCUMENTFLAGS_DONTADDTORECENTLIST, c4d.FORMAT_C4DEXPORT) # retrieve the data data = mfs.GetData() # Set the MFS to read mode mfs.SetMemoryReadMode(data[0], data[1] ) flags = c4d.SCENEFILTER_OBJECTS | c4d.SCENEFILTER_MATERIALS # Load Document selectedFile = c4d.storage.LoadDialog() if selectedFile is None: return newDoc = c4d.documents.LoadDocument(selectedFile, flags) #Merge the isolated document with the current one. c4d.documents.MergeDocument(newDoc, mfs, flags) c4d.documents.InsertBaseDocument(newDoc) c4d.documents.SetActiveDocument(newDoc) # Execute main() if __name__=='__main__': main() Cheers, Manuel
  • Creating a Python Script box

    python
    3
    1
    0 Votes
    3 Posts
    391 Views
    ManuelM
    hi, except what @zipit said, there's nothing outof the box that you can use in our API to do it. You have to come with your own solution. Remotion have create such a tool few years ago: https://bitbucket.org/remotion/code-editor-gui-for-c4d/downloads/ I would say that it's not really hard to do, it's just long and during the path you are walking to build such a tool, you could find some walls that you didn't expect ^^' I would start using the function GetDParameter, check the content and change the color of some words accordingly. Cheers, Manuel
  • Centering an icon in a BITMAPBUTTON

    python
    3
    2
    0 Votes
    3 Posts
    638 Views
    ?
    @m_magalhaes Thank you for clarifying the Bitmap Button, Manuel.
  • Adding Undos for CommandData Changes

    python
    7
    0 Votes
    7 Posts
    717 Views
    ?
    @m_magalhaes That's helpful, thank you, Manuel!
  • Camera Position/Rotation to POS/DIR/UP Vectors

    r21 c++
    5
    0 Votes
    5 Posts
    974 Views
    N
    Hello Manuel, thanks for your input! I got it working correctly with the values you mentioned. Reading through the docs again I feel kinda dumb for not getting it right myself. Thanks to both you and zipit for your great help! Best Regards, Florian
  • Getting an Object to Follow Another Regardless of Hierarchy

    sdk python
    12
    0 Votes
    12 Posts
    1k Views
    ?
    @m_magalhaes That's okay. Thank you for letting me know!
  • How to work with LoadFile from content browser

    python windows r20
    4
    0 Votes
    4 Posts
    715 Views
    ManuelM
    hi, you could also use LoadDocument lowPoly = c4d.documents.LoadDocument("preset://Optimized_Assets.lib4d/Asset_Library.c4d", c4d.SCENEFILTER_OBJECTS | c4d.SCENEFILTER_MATERIALS) As the documentation says: Similar to LoadFile() but this time the document is not put into the editors list of documents and it gives control over the loaded document. Cheers, Manuel
  • Mirroring with Matching or Different Axes

    s22 python
    26
    0 Votes
    26 Posts
    17k Views
    kbarK
    @zipit I also want to say that the amount of time you contribute here to help out developers is very generous of you. You are doing an amazing job. I would hope that Maxon would actually pay you some retainer fee for your time or at least provide you with a free subscription for all the help you have given everyone here.
  • ZipFile extracting spanned files

    r20 c++ sdk classic api maxon api
    10
    0 Votes
    10 Posts
    1k Views
    kbarK
    @zipit Really great insights.Totally appreciate all your comments. I have worked with zlib for many years and integrated it into many different platforms, apps and plugins. This is just the first time I have ever looked into splitting or spanning features. Off topic: Would be great to work on compression algorithms again. I keep eyeing up all the image compression formats being used and developed these days. Fun stuff.
  • Update generator plugin with FieldList sub-objects being updated

    python
    5
    0 Votes
    5 Posts
    540 Views
    bacaB
    Thamks @zipit, it works. Just noticed it has to be adjusted with GetClone(), otherwise I'm getting "link is not alive" error def get_field_layers(op): """ Returns all field layers that are referenced in a field list. """ def flatten_tree(node): """ Listifies a GeListNode tree. """ res = [] while node: res.append(node.GetClone()) for child in node.GetChildren(): res += flatten_tree(child) node = node.GetNext() return res # get the GeListHead for the FieldList root = op.GetLayersRoot() if root is None: return [] # Get the first node under the GeListHead first = root.GetFirst() if first is None: return []
  • Add and Remove Edge Loops Poly Object

    python r19
    12
    1
    0 Votes
    12 Posts
    3k Views
    A
    Hi @r_gigante, Not to worry! I understand! Thanks for your help! Andre
  • Prevent Projects from opening if dragged.

    python sdk
    5
    0 Votes
    5 Posts
    881 Views
    lasselauchL
    @mp5gosu Whooop! Thanks, Robert! You have to return a tuple so return (c4d.NOTOK, False) does the trick for me. Thank you!!! Cheers, Lasse
  • Set Xray in GetVirtualObjects()

    6
    0 Votes
    6 Posts
    788 Views
    RenatoTR
    Thanks R, the insert was an error, i already corrected. OBJECT_USECACHECOLOR work as expected Cheers Renato
  • Changing parameters broken in S22

    5
    0 Votes
    5 Posts
    940 Views
    M
    @m_adam Thanks for clarifying!
  • Using "config" plugins to modify the loading queue in R19

    Moved r19 c++
    4
    0 Votes
    4 Posts
    1k Views
    r_giganteR
    Hi @hazzzel, thanks for reaching out us. The QueryStartupOrder() has been introduced in R20 and there's no way to call it on previous releases. As suggested by @kbar , you're instead supposed to make use of the SetPluginPriority() as shown in the Plugin Functions Manual / Priority section to properly specify the plugin priority and control the loading time. Cheers, R