Solved R20 Alembic Export Crash

Hi,

I'm trying to use the ExportAlembic.py example in Cinema 4D R20 but the application crashes.

The same example works in R19.

Doing it manually via File > Export... > Alembic (*.abc) does work.

Tried in both Windows 10 and macOS.

While in macOs the crash reporter makes a log, in Windows, the applications freezes with "Preparing Project for Export" in the status bar.

Hi @dev-vfxboat, first of all, welcome in the plugincafe community.

This is a known bug and already fixed for SP2 (the next Service Pack). It's impacting both Python and C++.
The workaround is to pass the flag c4d.SAVEDOCUMENTFLAGS_DIALOGSALLOWED to the SaveDocument function.

Moreover, don't worry, but please make sure to read and use How to Post Questions (Especially about tagging system)

Cheers,
Maxime.

This seems to still be happening in R20 for me and the workaround didn't seem to help. I don't see any mention of it in the release notes. This method succeeds (successful export) but Cinema freezes. I am on R20 059 (SP2 HF1) on Windows 10

void ExampleDialog::exportObj(BaseObject* obj) {
	AutoAlloc<BaseDocument> virtualDoc;
	virtualDoc->InsertObject(obj, nullptr, nullptr);
	String filepath = "D:\\Dropbox\\model.obj";
	SaveDocument(virtualDoc, filepath, SAVEDOCUMENTFLAGS::DIALOGSALLOWED, 1030178);
}

Hi @ryangordon, the Id (1030178) correspond to FORMAT_OBJ2EXPORT. So consider that both ABC and OBJ exporter is crashing in your case.

Here I'm not able to reproduce with the next code

AutoAlloc<BaseDocument> virtualDoc;
AutoAlloc<BaseObject> obj{Ocube};
virtualDoc->InsertObject(obj, nullptr, nullptr);
String filepath = "C:\\Users\\m_adam\\Desktop\\model.obj";
SaveDocument(virtualDoc, filepath, SAVEDOCUMENTFLAGS::DIALOGSALLOWED, FORMAT_OBJ2EXPORT);

So I'm wondering if you really own the BaseObject pointer and if the issue is not there. Maybe the object is already inserted. If you can provide a full example it will help me to reproduce.

Cheers,
Maxime.

Ah I think you're right - I take the object right from the document without a clone or anything. Thank you!