Possible Maya bug: Loading editMB into Maya via cmds.file()

107 views
Skip to first unread message

Fredrik Averpil

unread,
Oct 31, 2014, 12:44:29 PM10/31/14
to python_in...@googlegroups.com

I think I found a bug in Maya. After having fiddled around with reference edits in a script, something broke and it is impossible to load an “editMB” file back into Maya using Python or MEL. See the example script below. Step 4 won't work.

However, if you re-open the scene after having run this code and then run the code for step 4 … it works, and the reference edits are loaded back in successfully. So it seems a re-open of the scene is needed for step 4 to work properly when chaining these commands in a script.

And if you right-click the reference and choose “Assign offline file” and assign a file that way, it just works without re-opening the scene. My problem is I have to automate this using a script.

Anyone understand what’s going on?

for ref in cmds.ls(references=True):
    print 'Working on ' + ref

    # Step 1. Export edits
    print 'Exporting edits to C:/...'
    cmds.exportEdits(
                        'C:/'+ref.replace(':','')+'.editMB',
                        type='editMB',          # default
                        onReferenceNode=ref,    # default
                        includeNetwork=True,    # default
                        includeAnimation=True,  # default
                        includeShaders=True,    # default
                        includeSetAttrs=True,   # default

                        includeSetDrivenKeys=True,
                        includeConstraints=True,
                        includeDeformers=True,

                        force=True
                    )

    # Step 2. Remove all edits
    print 'Removing all edits...'
    cmds.file(unloadReference=ref)
    cmds.file (cr=ref) # cleanReference
    cmds.file(loadReference=ref)


    # Step 3. Save down new edits into maya reference files
    print 'Saving down new edits into reference...'
    filepath = cmds.referenceQuery( ref, filename=True )
    cmds.file(filepath, saveReference=True, force=True)


    # Step 4. Apply the original reference edits back onto the reference files
    print 'Apply reference edits from file in C:/...editMB back into reference...'
    cmds.file( 'C:/'+ref.replace(':','')+'.editMB', applyTo=ref, i=True, namespace=ref.replace(':',''), type='editMB')

// Fredrik

Macbeth R.

unread,
Mar 30, 2017, 9:09:43 AM3/30/17
to Python Programming for Autodesk Maya
Hi sir did you find an answer for this??

Thanks!!

Fredrik Averpil

unread,
Apr 3, 2017, 10:12:47 AM4/3/17
to Python Programming for Autodesk Maya
Nope, it was too unreliable so I ended up abandoning that approach.

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/86d5ea0c-1679-4aca-bee4-297a5fbba2a2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages