WARNING : 3000 – Objects were not saved normally

Occasionally I’ll see reports of this kind of error. Sometimes I see it when I’m investigating some other problem in a scene.

// WARNING : 3000 - Save: [1] objects were not saved normally
// WARNING : 3000 - -- [Framebuffer<1004>] was saved, but is disconnected from the scene. (Floating object)

You can use Dictionary.GetObject to get the floating object and interrogate it:

var x = Dictionary.GetObject( "Framebuffer<1004>" );
LogMessage( ClassName(x) );
LogMessage( x.Parent );
// INFO : C:\Program Files\Autodesk\Softimage 2012.SAP\Application\bin\XSI.exe
LogMessage( x.Parent3DObject == null );
// INFO : True
LogMessage( x.Owners.Count );
// INFO : 0
LogMessage( x.RenderChannel );
// INFO : Normal
//LogMessage( x.GetResolvedPath(0) );
// ERROR : 21000 - Unspecified failure - [line 15]

And you could even delete the floating object before you save the scene:

DeleteObj( Dictionary.GetObject( "Framebuffer<1004>" ) );

However, there is a scene debugging preference that allows you to “skip the loading of floating objects”. This preference was added back in 2004 or so to deal with “ghost models” (which are basically floating or disconnected objects).

You could also try printver -cleanfloating to remove floating objects. I don’t know if that still works, I haven’t used it three or four years.

Another thing you can try is to merge your scene into a new scene. The warning could be a “false positive”. If the warning is gone after the merge, then it was indeed a false positive (which means that something, such as the schematic view, was still holding on to a reference to a deleted object).