SaveDocument Error, Alembic export

On 27/04/2017 at 08:26, xxxxxxxx wrote:

Hi,

I am new to c4d API, and I have  a strange error when trying to use SaveDocument command, using alembic plugin. I am wondering if it's an error in C4D or if I do something wrong...

In a new C4d session/document (R17 or R18), I only create a cube and a cone. (cube is selected, cone is not)

Following that example:
https://github.com/PluginCafe/cinema4d_py_sdk/blob/master/scripts/ExportAlembic.py

I added a 'print', before and after changing the export settings.

import c4d
from c4d import gui
#Welcome to the world of Python
from c4d import documents, plugins
from c4d import documents, plugins, storage
  
def main() :
    # Get Alembic export plugin, 1028082 is its ID
    plug = plugins.FindPlugin(1028082, c4d.PLUGINTYPE_SCENESAVER)
    if plug is None:
        return
    
    # Get a path to save the exported file
    filePath ="C:/temp/C4dExport_v001.abc"
  
    op = {}
    # Send MSG_RETRIEVEPRIVATEDATA to Alembic export plugin
    if plug.Message(c4d.MSG_RETRIEVEPRIVATEDATA, op) :
  
        if "imexporter" not in op:
            return
        
        # BaseList2D object stored in "imexporter" key hold the settings
        abcExport = op["imexporter"]
        if abcExport is None:
            return
        
        print 'SELECTION BEFORE: ',  abcExport[c4d.ABCEXPORT_SELECTION_ONLY]
        
        # Change Alembic export settings
        abcExport[c4d.ABCEXPORT_SELECTION_ONLY] = True
        abcExport[c4d.ABCEXPORT_PARTICLES] = True
        abcExport[c4d.ABCEXPORT_PARTICLE_GEOMETRY] = True
        
        
        print 'SELECTION AFTER: ',  abcExport[c4d.ABCEXPORT_SELECTION_ONLY]
  
  
        # Finally export the document
        if documents.SaveDocument(doc, filePath, c4d.SAVEDOCUMENTFLAGS_DONTADDTORECENTLIST, 1028082) :
            print "Document successfully exported to:"
            print filePath
        else:
            print "Export failed!"
            
if __name__=='__main__':
    main()

The error is:
1- If I didn't open the actual Alembic plugin UI yet (in my c4d session). It seems I can't update the preferences. IE:  Before = 0, then I set it to True, After = 0...

The export won't take into consideration the preferences I've tried to set up for abcExport[c4d.ABCEXPORT_SELECTION_ONLY]

2- If I manually open Alembic exporter UI (File --> Export --> Alembic)... I do not need to change anything, I do not need to export (I can cancell).

Then, I can execute my script, and the preferences I'll choose for abcExport[c4d.ABCEXPORT_SELECTION_ONLY] will be taken into consideration...

IE: Before = 0, then I set it to True, After = 1... or Before = 1, then I set it to False, After = 0

Any idea?

On 28/04/2017 at 03:00, xxxxxxxx wrote:

Hi,

welcome to the Plugin Café forums 🙂

This was actually a known issue (and special for the selection only parameter). But it should have been fixed with version 18.030. I just tried your code here in 18.041 without problem. So I'm a bit confused, that you say, you can reproduce this in R18.

On 28/04/2017 at 08:20, xxxxxxxx wrote:

Hey thanks Andreas,

your right. I was using C4D R18.020 and just upgraded to R18.041.

It seems to work fine!

😉