ID 270481 - Adding a version to a GeoEntity object containing a partial alembic no longer works

Follow

Problem summary
Adding a version to a GeoEntity object containing a partial alembic no longer works correctly.

Customer reported version
3.2v1
Customer reported platform
n/a
Steps to reproduce

1) Open Mari

2) Create a project with using the files attached (file_v001.abc)

3) Select just "pCube1" to load and merge (Single Mesh, Do not merge selection groups)

4) Add (file_v002.abc) as a version using the following script
 

import marinew_version_path = '/path/to/file.abc'geo_entity = mari.geo.list()[0]geo_version = geo_entity.versionList()[0]options = {}for metadata_name in geo_version.metadataNames():    if 'SelectedObject' in metadata_name:        options[metadata_name] = geo_version.metadata(metadata_name)geo_entity.addVersion(new_version_path, 'v002', Options=options)
5) Results in crash of GeoEntity error depending on OS

Workaround
Please add your object versions via the UI objects palette where it will still work correctly.

Alternatively, please try the following:
 

new_version_path = '/path/to/new/version.abc'geo_entity = mari.geo.list()[0]o={u'SeparateGeometries': u'0',u'MergeType': u'2',u'ForcePtex': u'0',u'StartFrame': u'1',u'Animated': u'0',u'EndFrame': u'1',u'FrameOffset': u'0',u'MergeSelectionGroupWithSameNameType': u'0',u'FromScript':u'1',u'SelectedObjectNodeCount': u'3',u'SelectedObjectNode_0': u'/',u'SelectedObject_SelectChildren_0': u'0',u'SelectedObject_MergeChildren_0': u'1',u'SelectedObjectNode_1': u'/pSphere1',u'SelectedObject_SelectChildren_1': u'0',u'SelectedObject_MergeChildren_1': u'1',u'SelectedObject_MergeChildren_2': u'1',u'SelectedObject_SelectChildren_2': u'1',u'SelectedObjectNode_2': u'/pSphere1/pSphereShape1',}geo_entity.addVersion(new_version_path, 'v002', Options=o)
NOTE: We need to pass in the key "FromScript", with value "1" in the options dictionary to tell Mari this is being added via python.
 


Reproduced by support
Crash reproduced:
MacOS 10.12 - 3.2v1, 3.2v1, 3.1v1, 3.0v4, 3.0v1

GeoEntity error returned:
Win7 - 3.2v1, 3.1v1, 3.0v1
CentOS6 - 3.2v1, 3.0v1

Regression
Last working version 2.6v5

Expected behaviour
The version should update as it would when using the UI method.

Actual behaviour
On MacOS Mari immediately crashed whereas on Windows and Linux systems a GeoEntity error was returned.
"Cannot load more than 1 geoEntity as a version"

    We're sorry to hear that

    Please tell us why