Пример #1
0
def override_dagMenuProc():
    '''
    Builds `dagMenuProc.<maya version#>.mel` in this folder if it doesn't exist.
    
    '''
    overrideFilename = os.path.dirname(__file__).replace('\\', '/') + '/dagMenuProc.' + str(version()) + '.mel'
    
    if not os.path.exists(overrideFilename):

        filename = find_dagMenuProcMel()
        
        if not filename:
            warning( 'dagMenuProc.mel not found so unable to create custom override' )
            return
        else:
            print('Making dagMenuProc.mel override')

            with open(filename, 'r') as fid:
                lines = fid.readlines()
            
            newline = re.search('[\r\n]+$', lines[0]).group(0)
            
            for i, line in enumerate(lines):
                if '"m_dagMenuProc.kSelect"' in line:
                    lines[i:i] = ['''            python("try:pdil.melOverrides.dagMenuProc.customMenu('" + $object + "')\\nexcept:pass");''' + newline]
                    break
            
            with open(overrideFilename, 'w') as fid:
                fid.write( ''.join(lines) )
    
    print('Sourced override ' + overrideFilename)
    mel.source('dagMenuProc')
    mel.source(overrideFilename)
Пример #2
0
def reloadTextures():
    """Reload all texture files."""
    mel.source("AEfileTemplate")
    for _file in pm.ls(type="file"):
        mel.AEfileTextureReloadCmd(_file.fileTextureName)

    print "# Textures reloaded."
Пример #3
0
def sourceSliders():
    from pymel.core import mel
    result = False
    try:
        if not mel.exists('boSliders'):
            LOG.debug('Sourcing boSliders...')
            mel.source('boSliders')
        result = True
    except:
        LOG.error('Could not find/source `boSliders.mel.` This script is needed for boTweaks to function properly')
    return result
Пример #4
0
def baseOverride(target, source):
    '''
    Builds `<target>.<maya version#>.mel` if it doesn't exist.
    
    Args:
        target: Simple mel filename, ex "FileMenu.mel"
        
    Yields:
        Tuple of (<source filepath>, <override filepath to make>)
        
    '''

    folder = getOverrideFolder()
    overrideFilename = folder + '/' + target

    if not os.path.exists(overrideFilename):
        if not os.path.exists(folder):
            os.makedirs(folder)

        filename = findMelTarget(target)

        if not filename:
            raise Exception(
                '{} not found so unable to create custom override'.format(
                    target))
        else:
            print('Making {} override'.format(target))

            try:
                yield filename, overrideFilename

            except Exception:
                print('Error creating {} override'.format(target))
                print(traceback.format_exc())

    else:
        yield None, None

    print('Sourced override ' + overrideFilename)

    # Prepend so it supercedes the maya version
    if folder not in os.environ['maya_script_path']:
        os.environ[
            'maya_script_path'] = folder + ';' + os.environ['maya_script_path']
    mel.rehash()

    if source:
        mel.source(overrideFilename)