Beispiel #1
0
    def confirmWritePropReference(self, body=None):
        filepath = pm.sceneName()
        fileDir = os.path.dirname(filepath)
        project = Project()

        if not body:
            checkout = project.get_checkout(fileDir)
            bodyName = checkout.get_body_name()
            body = project.get_body(bodyName)

        if body.is_asset() and body.get_type() == AssetType.PROP:
            element = body.get_element(Department.MODEL)
            filepath = os.path.join(project.get_assets_dir(),
                                    element.get_cache_dir())
            assemblies = pm.ls(assemblies=True)
            pm.select(pm.listCameras(), replace=True)
            cameras = pm.selected()
            pm.select([])
            non_cameras = [
                assembly for assembly in assemblies if assembly not in cameras
            ]
            self.exportPropJSON(filepath,
                                non_cameras[0],
                                isReference=False,
                                name=body.get_name())
            print("JSON references written successfully.")
Beispiel #2
0
def writeXML(assetName='None', context='OBJ'):
    project = Project()
    asset_body = project.get_body(assetName)
    icon = os.path.join('$JOB', 'pipe', 'tools', '_resources', '2.png')

    if not asset_body.is_asset():
        print('error me this')
        raise Exception('Failed to generate XML for: ' + assetName +
                        ' \n Object is not an Asset')

    global baseXML
    xml = Template(baseXML).substitute(NAME=assetName,
                                       LABEL=assetName.replace('_',
                                                               ' ').title(),
                                       ICON=icon,
                                       CONTEXT=context)

    try:
        path = os.path.join(project.get_assets_dir(), assetName)
        path = os.path.join(path, assetName + '.shelf')

        file = open(path, 'w')
        file.write(xml)
        file.close()

        if not os.path.exists(project.get_tabs_dir()):
            os.makedirs(project.get_tabs_dir())

        sym = os.path.join(project.get_tabs_dir(), assetName + '.shelf')

        if os.path.exists(sym):
            os.unlink(sym)
        os.link(path, sym)

    except Exception as e:
        print e
        raise Exception('Failed to generate XML for: ' + assetName)
Beispiel #3
0
import checkout
from pipe.am.project import Project
from pipe.am.environment import Environment, Department
from pipe.am.element import Element
from pipe.am.body import Body, Asset, Shot, AssetType

import maya.standalone
maya.standalone.initialize(name='python')
import maya.cmds as cmds



project=Project()
environment=Environment()


asset_dir=project.get_assets_dir()


for i,asset in enumerate(project.list_assets(AssetType.PROP)):

    asset_obj=project.get_body(asset)
    element_obj = asset_obj.get_element(Department.MODEL,force_create=True)
    element_path = element_obj.checkout(environment.get_current_username())
    cmds.file(rename='/tmp/lol'+str(i)+'.mb')
    cmds.file(save=True)


    checkout.non_gui_open(element_path,asset)
print 'Done'