def createCircleControl(name=None, x=1, y=1, z=1, radius=1, color=None, type='strip', heightRatio=0.007):
    if not name:
        name = 'circle_CTRL'
    xform = cmds.group(name=name, em=1)
    circleShapes = []
    circleTransforms = []
    vectors = getAxisWorldVectors(xform)
    
    xyz = [x,y,z]
    for i in range(0, len(xyz)):
        if xyz[i]:
            circ = None
            if type == 'curve':
                circ = cmds.circle(radius=radius, name='jointMoverAxisCtrl', normal=vectors[i], sections=1, ch=0)
                if color:
                    cmds.color(circ, ud=color)
            if type == 'strip' or type == 'toroid':
                circ = None
                if type == 'strip':
                    circ = cmds.cylinder(radius=radius, name='jointMoverAxisCtrl', axis=vectors[i], sections=7, ch=0, heightRatio=heightRatio)
                elif type == 'toroid':
                    circ = cmds.torus(radius=radius, name='jointMoverAxisCtrl', axis=vectors[i], sections=7, ch=0, heightRatio=heightRatio)
                if color:
                    if color == 'xyz':
                        if i == 0: colorControl(circ, name='red_m', color=(1,0,0))
                        if i == 1: colorControl(circ, name='green_m', color=(0,1,0))
                        if i == 2: colorControl(circ, name='blue_m', color=(0,0,1))
                    else:
                        if len(color) == 3: colorControl(circ, color=color)
            circleShapes.append(cmds.listRelatives(circ[0], fullPath=1, shapes=1)[0])
            circleTransforms.append(circ[0])
    cmds.parent(circleShapes, xform, r=1, s=1)
    cmds.delete(circleTransforms)
    return xform
Example #2
0
 def build_torus_control(self, **p):
     n = self.cn + '_ctrl_' + p['prefix']
     axis = p['axis'] if 'axis' in p else (0, 1, 0)
     scale = p['scale'] if 'scale' in p else (1, 1, 1)
     hr = p['hr'] if 'hr' in p else 0.01  # height ratio
     r = p['radius']
     cmds.torus(ax=axis,
                ssw=0,
                esw=360,
                msw=360,
                r=r,
                hr=hr,
                d=3,
                ut=0,
                tol=0.01,
                s=16,
                nsp=4,
                ch=1,
                n=n)
     cmds.scale(scale[0], scale[1], scale[2], n, absolute=True)
     return n
Example #3
0
def create_saturn_rings():
    """
    for creating saturns rings..... more like a ring actually
    """
    cmds.torus(name='saturn_rings',
               axis=[0, 1.0, 0],
               radius=0.361,
               heightRatio=0.1)
    cmds.setAttr('saturn_ringsShape.castsShadows', 0)
    cmds.setAttr('saturn_ringsShape.receiveShadows', 0)
    cmds.setAttr('saturn_rings.scaleY', 0.125)

    myShader = cmds.shadingNode('lambert', asShader=True,
                                name='ring_lambert')  # creating lambert
    cmds.sets(name="ring_lambertG",
              renderable=True,
              empty=True,
              noSurfaceShader=True)  # creating lambertGroup
    cmds.connectAttr('ring_lambert.outColor',
                     "ring_lambertG.surfaceShader",
                     force=True)  # connecting lamberGroup to lambert

    cmds.surfaceShaderList('ring_lambert', add="ring_lambertG")

    cmds.sets('saturn_rings', e=True, forceElement="ring_lambertG")

    wood = cmds.shadingNode("wood", name='ring_wood',
                            asTexture=True)  # creating file
    my3dTexture = cmds.shadingNode("place3dTexture",
                                   name='ring_3dTexture',
                                   asUtility=True)  # creating texture

    cmds.connectAttr('ring_3dTexture.worldInverseMatrix',
                     'ring_wood.placementMatrix')

    cmds.connectAttr('ring_wood.outColor', myShader + '.color', force=True)
    cmds.parent('saturn_rings', 'saturn')
Example #4
0
def createCircleControl(name=None,
                        x=1,
                        y=1,
                        z=1,
                        radius=1,
                        color=None,
                        type='strip',
                        heightRatio=0.007):

    if not name:

        name = 'circle_CTRL'

    xform = cmds.group(name=name, em=1)

    circleShapes = []

    circleTransforms = []

    vectors = getAxisWorldVectors(xform)

    xyz = [x, y, z]

    for i in range(0, len(xyz)):

        if xyz[i]:

            circ = None

            if type == 'curve':

                circ = cmds.circle(radius=radius,
                                   name='jointMoverAxisCtrl',
                                   normal=vectors[i],
                                   sections=1,
                                   ch=0)

                if color:

                    cmds.color(circ, ud=color)

            if type == 'strip' or type == 'toroid':

                circ = None

                if type == 'strip':

                    circ = cmds.cylinder(radius=radius,
                                         name='jointMoverAxisCtrl',
                                         axis=vectors[i],
                                         sections=7,
                                         ch=0,
                                         heightRatio=heightRatio)

                elif type == 'toroid':

                    circ = cmds.torus(radius=radius,
                                      name='jointMoverAxisCtrl',
                                      axis=vectors[i],
                                      sections=7,
                                      ch=0,
                                      heightRatio=heightRatio)

                if color:

                    if color == 'xyz':

                        if i == 0:
                            colorControl(circ, name='red_m', color=(1, 0, 0))

                        if i == 1:
                            colorControl(circ, name='green_m', color=(0, 1, 0))

                        if i == 2:
                            colorControl(circ, name='blue_m', color=(0, 0, 1))

                    else:

                        if len(color) == 3: colorControl(circ, color=color)

            circleShapes.append(
                cmds.listRelatives(circ[0], fullPath=1, shapes=1)[0])

            circleTransforms.append(circ[0])

    cmds.parent(circleShapes, xform, r=1, s=1)

    cmds.delete(circleTransforms)

    return xform
Example #5
0
from __future__ import print_function, division
import maya.cmds as cmds

# let's delete all objects
cmds.select(all=True)
cmds.delete()
#let's create a new torus
cmds.torus(r=4, hr=0.5, name='Torus1')
cmds.move(0, 0, 0, 'Torus1')
cmds.scale(0.5, 0.5, 0.5, 'Torus1')
cmds.rotate(0, '45deg', 0, 'Torus1')
Example #6
0
# let's create a sphere
import maya.cmds as cmds

# let's delete all objects
cmds.select(all=True)
cmds.delete()
#let's create a new torus
cmds.torus(r=4, hr=0.5, name='Torus1')
cmds.move(0, 0, 0, 'Torus1')
cmds.scale(0.5, 0.5, 0.5, 'Torus1')
cmds.rotate(0, '45deg', 0, 'Torus1')

Example #7
0
def testStaticNurbsWithoutTrim(self, surfacetype, abcFileName):

    if (surfacetype == 0):
        ret = MayaCmds.nurbsPlane(p=(0, 0, 0),
                                  ax=(0, 1, 0),
                                  w=1,
                                  lr=1,
                                  d=3,
                                  u=5,
                                  v=5,
                                  ch=0)
        errmsg = 'Nurbs Plane'
    elif (surfacetype == 1):
        ret = MayaCmds.sphere(p=(0, 0, 0),
                              ax=(0, 1, 0),
                              ssw=0,
                              esw=360,
                              r=1,
                              d=3,
                              ut=0,
                              tol=0.01,
                              s=8,
                              nsp=4,
                              ch=0)
        errmsg = 'Nurbs Sphere'
    elif (surfacetype == 2):
        ret = MayaCmds.torus(p=(0, 0, 0),
                             ax=(0, 1, 0),
                             ssw=0,
                             esw=360,
                             msw=360,
                             r=1,
                             hr=0.5,
                             ch=0)
        errmsg = 'Nurbs Torus'

    name = ret[0]

    degreeU = MayaCmds.getAttr(name + '.degreeU')
    degreeV = MayaCmds.getAttr(name + '.degreeV')
    spansU = MayaCmds.getAttr(name + '.spansU')
    spansV = MayaCmds.getAttr(name + '.spansV')
    minU = MayaCmds.getAttr(name + '.minValueU')
    maxU = MayaCmds.getAttr(name + '.maxValueU')
    minV = MayaCmds.getAttr(name + '.minValueV')
    maxV = MayaCmds.getAttr(name + '.maxValueV')

    surfaceInfoNode = MayaCmds.createNode('surfaceInfo')
    MayaCmds.connectAttr(name + '.worldSpace',
                         surfaceInfoNode + '.inputSurface',
                         force=True)

    controlPoints = MayaCmds.getAttr(surfaceInfoNode + '.controlPoints[*]')
    knotsU = MayaCmds.getAttr(surfaceInfoNode + '.knotsU[*]')
    knotsV = MayaCmds.getAttr(surfaceInfoNode + '.knotsV[*]')

    MayaCmds.AbcExport(j='-root %s -f %s' % (name, abcFileName))

    # reading test
    MayaCmds.AbcImport(abcFileName, mode='open')

    self.failUnlessEqual(degreeU, MayaCmds.getAttr(name + '.degreeU'))
    self.failUnlessEqual(degreeV, MayaCmds.getAttr(name + '.degreeV'))
    self.failUnlessEqual(spansU, MayaCmds.getAttr(name + '.spansU'))
    self.failUnlessEqual(spansV, MayaCmds.getAttr(name + '.spansV'))
    self.failUnlessEqual(minU, MayaCmds.getAttr(name + '.minValueU'))
    self.failUnlessEqual(maxU, MayaCmds.getAttr(name + '.maxValueU'))
    self.failUnlessEqual(minV, MayaCmds.getAttr(name + '.minValueV'))
    self.failUnlessEqual(maxV, MayaCmds.getAttr(name + '.maxValueV'))

    if (surfacetype == 0):
        self.failUnlessEqual(0, MayaCmds.getAttr(name + '.formU'))
        self.failUnlessEqual(0, MayaCmds.getAttr(name + '.formV'))
    elif (surfacetype == 1):
        self.failUnlessEqual(0, MayaCmds.getAttr(name + '.formU'))
        self.failUnlessEqual(2, MayaCmds.getAttr(name + '.formV'))
    elif (surfacetype == 2):
        self.failUnlessEqual(2, MayaCmds.getAttr(name + '.formU'))
        self.failUnlessEqual(2, MayaCmds.getAttr(name + '.formV'))

    surfaceInfoNode = MayaCmds.createNode('surfaceInfo')
    MayaCmds.connectAttr(name + '.worldSpace',
                         surfaceInfoNode + '.inputSurface',
                         force=True)

    controlPoints2 = MayaCmds.getAttr(surfaceInfoNode + '.controlPoints[*]')
    self.failUnlessEqual(len(controlPoints), len(controlPoints2))
    for i in range(0, len(controlPoints)):
        cp1 = controlPoints[i]
        cp2 = controlPoints2[i]
        self.failUnlessAlmostEqual(cp1[0], cp2[0], 3, 'cp[%d].x not equal' % i)
        self.failUnlessAlmostEqual(cp1[1], cp2[1], 3, 'cp[%d].y not equal' % i)
        self.failUnlessAlmostEqual(cp1[2], cp2[2], 3, 'cp[%d].z not equal' % i)

    for i in range(0, len(knotsU)):
        ku1 = knotsU[i]
        ku2 = MayaCmds.getAttr('surfaceInfo1.knotsU[%d]' % i)
        self.failUnlessAlmostEqual(ku1, ku2, 3,
                                   'control knotsU # %d not equal' % i)

    for i in range(0, len(knotsV)):
        kv1 = knotsV[i]
        kv2 = MayaCmds.getAttr('surfaceInfo1.knotsV[%d]' % i)
        self.failUnlessAlmostEqual(kv1, kv2, 3,
                                   'control knotsV # %d not equal' % i)
Example #8
0
def testStaticNurbsWithOneCloseCurveTrim(self, surfacetype, abcFileName,
                                         trimtype):

    if (surfacetype == 0):
        ret = MayaCmds.nurbsPlane(p=(0, 0, 0),
                                  ax=(0, 1, 0),
                                  w=1,
                                  lr=1,
                                  d=3,
                                  u=5,
                                  v=5,
                                  ch=0)
    elif (surfacetype == 1):
        ret = MayaCmds.sphere(p=(0, 0, 0),
                              ax=(0, 1, 0),
                              ssw=0,
                              esw=360,
                              r=1,
                              d=3,
                              ut=0,
                              tol=0.01,
                              s=8,
                              nsp=4,
                              ch=0)
    elif (surfacetype == 2):
        ret = MayaCmds.torus(p=(0, 0, 0),
                             ax=(0, 1, 0),
                             ssw=0,
                             esw=360,
                             msw=360,
                             r=1,
                             hr=0.5,
                             ch=0)

    name = ret[0]

    MayaCmds.curveOnSurface(name,
                            uv=((0.170718, 0.565967), (0.0685088, 0.393034),
                                (0.141997, 0.206296), (0.95, 0.230359),
                                (0.36264, 0.441381), (0.251243, 0.569889)),
                            k=(0, 0, 0, 0.200545, 0.404853, 0.598957, 0.598957,
                               0.598957))
    MayaCmds.closeCurve(name + '->curve1',
                        ch=1,
                        ps=1,
                        rpo=1,
                        bb=0.5,
                        bki=0,
                        p=0.1,
                        cos=1)

    if trimtype == 0:
        MayaCmds.trim(name, lu=0.68, lv=0.39)
    elif 1:
        MayaCmds.trim(name, lu=0.267062, lv=0.39475)

    degreeU = MayaCmds.getAttr(name + '.degreeU')
    degreeV = MayaCmds.getAttr(name + '.degreeV')
    spansU = MayaCmds.getAttr(name + '.spansU')
    spansV = MayaCmds.getAttr(name + '.spansV')
    formU = MayaCmds.getAttr(name + '.formU')
    formV = MayaCmds.getAttr(name + '.formV')
    minU = MayaCmds.getAttr(name + '.minValueU')
    maxU = MayaCmds.getAttr(name + '.maxValueU')
    minV = MayaCmds.getAttr(name + '.minValueV')
    maxV = MayaCmds.getAttr(name + '.maxValueV')

    surfaceInfoNode = MayaCmds.createNode('surfaceInfo')
    MayaCmds.connectAttr(name + '.worldSpace',
                         surfaceInfoNode + '.inputSurface',
                         force=True)

    controlPoints = MayaCmds.getAttr(surfaceInfoNode + '.controlPoints[*]')
    knotsU = MayaCmds.getAttr(surfaceInfoNode + '.knotsU[*]')
    knotsV = MayaCmds.getAttr(surfaceInfoNode + '.knotsV[*]')

    MayaCmds.AbcExport(j='-root %s -f %s' % (name, abcFileName))
    MayaCmds.AbcImport(abcFileName, mode='open')

    self.failUnlessEqual(degreeU, MayaCmds.getAttr(name + '.degreeU'))
    self.failUnlessEqual(degreeV, MayaCmds.getAttr(name + '.degreeV'))
    self.failUnlessEqual(spansU, MayaCmds.getAttr(name + '.spansU'))
    self.failUnlessEqual(spansV, MayaCmds.getAttr(name + '.spansV'))
    self.failUnlessEqual(minU, MayaCmds.getAttr(name + '.minValueU'))
    self.failUnlessEqual(maxU, MayaCmds.getAttr(name + '.maxValueU'))
    self.failUnlessEqual(minV, MayaCmds.getAttr(name + '.minValueV'))
    self.failUnlessEqual(maxV, MayaCmds.getAttr(name + '.maxValueV'))

    surfaceInfoNode = MayaCmds.createNode('surfaceInfo')
    MayaCmds.connectAttr(name + '.worldSpace',
                         surfaceInfoNode + '.inputSurface',
                         force=True)

    controlPoints2 = MayaCmds.getAttr(surfaceInfoNode + '.controlPoints[*]')
    self.failUnlessEqual(len(controlPoints), len(controlPoints2))
    for i in range(0, len(controlPoints)):
        cp1 = controlPoints[i]
        cp2 = controlPoints2[i]
        self.failUnlessAlmostEqual(cp1[0], cp2[0], 3, 'cp[%d].x not equal' % i)
        self.failUnlessAlmostEqual(cp1[1], cp2[1], 3, 'cp[%d].y not equal' % i)
        self.failUnlessAlmostEqual(cp1[2], cp2[2], 3, 'cp[%d].z not equal' % i)

    for i in range(0, len(knotsU)):
        ku1 = knotsU[i]
        ku2 = MayaCmds.getAttr('surfaceInfo1.knotsU[%d]' % i)
        self.failUnlessAlmostEqual(ku1, ku2, 3,
                                   'control knotsU # %d not equal' % i)

    for i in range(0, len(knotsV)):
        kv1 = knotsV[i]
        kv2 = MayaCmds.getAttr('surfaceInfo1.knotsV[%d]' % i)
        self.failUnlessAlmostEqual(kv1, kv2, 3,
                                   'control knotsV # %d not equal' % i)
Example #9
0
def torus(*args, **kwargs):
    res = cmds.torus(*args, **kwargs)
    if not kwargs.get('query', kwargs.get('q', False)):
        res = _factories.maybeConvert(res, _general.PyNode)
    return res
    def testAnimNSurfaceDeleteReload(self):

        # create an animated Nurbs sphere
        MayaCmds.sphere(ch=False, name='nSphere')
        MayaCmds.move(5, 0, 0, relative=True)
        MayaCmds.select('nSphere.cv[0:1][0:7]', 'nSphere.cv[5:6][0:7]',
            replace=True)
        MayaCmds.setKeyframe(time=[1, 24])
        MayaCmds.currentTime(12, update=True)
        MayaCmds.scale(1.5, 1, 1, relative=True)
        MayaCmds.setKeyframe(time=12)

        # create an animated Nurbs torus
        MayaCmds.torus(ch=False, name='nTorus')
        MayaCmds.move(-5, 0, 0, relative=True)
        MayaCmds.select('nTorus.cv[0][0:7]', 'nTorus.cv[2][0:7]',
            replace=True)
        MayaCmds.setKeyframe(time=[1, 24])
        MayaCmds.currentTime(12, update=True)
        MayaCmds.scale(1, 2, 2, relative=True)
        MayaCmds.setKeyframe(time=12)

        # create an animated Nurbs plane
        # should add the trim curve test on this surface, will be easier
        # than the rest
        MayaCmds.nurbsPlane(ch=False, name='nPlane')
        MayaCmds.move(-5, 5, 0, relative=True)
        MayaCmds.select('nPlane.cv[0:3][0:3]', replace=True)
        MayaCmds.setKeyframe(time=1)
        MayaCmds.currentTime(12, update=True)
        MayaCmds.rotate(0, 0, 90, relative=True)
        MayaCmds.setKeyframe(time=12)
        MayaCmds.currentTime(24, update=True)
        MayaCmds.rotate(0, 0, 90, relative=True)
        MayaCmds.setKeyframe(time=24)

        # create an animated Nurbs cylinder
        MayaCmds.cylinder(ch=False, name='nCylinder')
        MayaCmds.select('nCylinder.cv[0][0:7]', replace=True)
        MayaCmds.setKeyframe(time=[1, 24])
        MayaCmds.currentTime(12, update=True)
        MayaCmds.move(-3, 0, 0, relative=True)
        MayaCmds.setKeyframe(time=12)

        # write it out to Abc file and load back in
        self.__files.append(util.expandFileName('testNSurfaceReload.abc'))
        MayaCmds.AbcExport(j='-fr 1 24 -root nSphere -root nTorus -root nPlane -root nCylinder -file ' +
            self.__files[-1])

        # load back the Abc file, delete the torus and save to a maya file
        MayaCmds.AbcImport(self.__files[-1], mode='open')
        MayaCmds.delete('nTorus')
        self.__files.append(util.expandFileName('test.mb'))
        MayaCmds.file(rename=self.__files[-1])
        MayaCmds.file(save=True)

        # import the saved maya file to compare with the original scene
        MayaCmds.file(self.__files[-1], open=True)
        MayaCmds.select('nSphere', 'nPlane', 'nCylinder', replace=True)
        MayaCmds.group(name='ReloadGrp')
        MayaCmds.AbcImport(self.__files[-2], mode='import')

        surfaceList = MayaCmds.ls(type='nurbsSurface')
        self.failUnlessEqual(len(surfaceList), 7)

        surfaces = [('|nSphere|nSphereShape',
            '|ReloadGrp|nSphere|nSphereShape'),
            ('|nPlane|nPlaneShape', '|ReloadGrp|nPlane|nPlaneShape'),
            ('|nCylinder|nCylinderShape',
            '|ReloadGrp|nCylinder|nCylinderShape')]

        for s in surfaces:
            for t in range(1, 25):
                MayaCmds.currentTime(t, update=True)
                if not util.compareNurbsSurface(s[0], s[1]):
                    self.fail('%s and %s are not the same at frame %d' %
                        (s[0], s[1], t))
    def testAnimNSurfaceDeleteReload(self):

        # create an animated Nurbs sphere
        MayaCmds.sphere(ch=False, name='nSphere')
        MayaCmds.move(5, 0, 0, relative=True)
        MayaCmds.select('nSphere.cv[0:1][0:7]', 'nSphere.cv[5:6][0:7]',
            replace=True)
        MayaCmds.setKeyframe(time=[1, 24])
        MayaCmds.currentTime(12, update=True)
        MayaCmds.scale(1.5, 1, 1, relative=True)
        MayaCmds.setKeyframe(time=12)

        # create an animated Nurbs torus
        MayaCmds.torus(ch=False, name='nTorus')
        MayaCmds.move(-5, 0, 0, relative=True)
        MayaCmds.select('nTorus.cv[0][0:7]', 'nTorus.cv[2][0:7]',
            replace=True)
        MayaCmds.setKeyframe(time=[1, 24])
        MayaCmds.currentTime(12, update=True)
        MayaCmds.scale(1, 2, 2, relative=True)
        MayaCmds.setKeyframe(time=12)

        # create an animated Nurbs plane
        # should add the trim curve test on this surface, will be easier
        # than the rest
        MayaCmds.nurbsPlane(ch=False, name='nPlane')
        MayaCmds.move(-5, 5, 0, relative=True)
        MayaCmds.select('nPlane.cv[0:3][0:3]', replace=True)
        MayaCmds.setKeyframe(time=1)
        MayaCmds.currentTime(12, update=True)
        MayaCmds.rotate(0, 0, 90, relative=True)
        MayaCmds.setKeyframe(time=12)
        MayaCmds.currentTime(24, update=True)
        MayaCmds.rotate(0, 0, 90, relative=True)
        MayaCmds.setKeyframe(time=24)

        # create an animated Nurbs cylinder
        MayaCmds.cylinder(ch=False, name='nCylinder')
        MayaCmds.select('nCylinder.cv[0][0:7]', replace=True)
        MayaCmds.setKeyframe(time=[1, 24])
        MayaCmds.currentTime(12, update=True)
        MayaCmds.move(-3, 0, 0, relative=True)
        MayaCmds.setKeyframe(time=12)

        # write it out to Abc file and load back in
        self.__files.append(util.expandFileName('testNSurfaceReload.abc'))
        MayaCmds.AbcExport(j='-fr 1 24 -root nSphere -root nTorus -root nPlane -root nCylinder -file ' + 
            self.__files[-1])

        # load back the Abc file, delete the torus and save to a maya file
        MayaCmds.AbcImport(self.__files[-1], mode='open')
        MayaCmds.delete('nTorus')
        self.__files.append(util.expandFileName('test.mb'))
        MayaCmds.file(rename=self.__files[-1])
        MayaCmds.file(save=True)

        # import the saved maya file to compare with the original scene
        MayaCmds.file(self.__files[-1], open=True)
        MayaCmds.select('nSphere', 'nPlane', 'nCylinder', replace=True)
        MayaCmds.group(name='ReloadGrp')
        MayaCmds.AbcImport(self.__files[-2], mode='import')

        surfaceList = MayaCmds.ls(type='nurbsSurface')
        self.failUnlessEqual(len(surfaceList), 7)

        surfaces = [('|nSphere|nSphereShape',
            '|ReloadGrp|nSphere|nSphereShape'),
            ('|nPlane|nPlaneShape', '|ReloadGrp|nPlane|nPlaneShape'),
            ('|nCylinder|nCylinderShape',
            '|ReloadGrp|nCylinder|nCylinderShape')]

        for s in surfaces:
            for t in range(1, 25):
                MayaCmds.currentTime(t, update=True)
                if not util.compareNurbsSurface(s[0], s[1]):
                    self.fail('%s and %s are not the same at frame %d' % 
                        (s[0], s[1], t))
def testStaticNurbsWithoutTrim(self, surfacetype, abcFileName):

    if (surfacetype == 0):
        ret  = MayaCmds.nurbsPlane(p=(0, 0, 0), ax=(0, 1, 0), w=1, lr=1, d=3,
            u=5, v=5, ch=0)
        errmsg = 'Nurbs Plane'
    elif (surfacetype == 1):
        ret = MayaCmds.sphere(p=(0, 0, 0), ax=(0, 1, 0), ssw=0, esw=360, r=1,
            d=3, ut=0, tol=0.01, s=8, nsp=4, ch=0)
        errmsg = 'Nurbs Sphere'
    elif (surfacetype == 2):
        ret = MayaCmds.torus(p=(0, 0, 0), ax=(0, 1, 0), ssw=0, esw=360,
            msw=360, r=1, hr=0.5, ch=0)
        errmsg = 'Nurbs Torus'

    name = ret[0]

    degreeU = MayaCmds.getAttr(name+'.degreeU')
    degreeV = MayaCmds.getAttr(name+'.degreeV')
    spansU  = MayaCmds.getAttr(name+'.spansU')
    spansV  = MayaCmds.getAttr(name+'.spansV')
    minU    = MayaCmds.getAttr(name+'.minValueU')
    maxU    = MayaCmds.getAttr(name+'.maxValueU')
    minV    = MayaCmds.getAttr(name+'.minValueV')
    maxV    = MayaCmds.getAttr(name+'.maxValueV')

    surfaceInfoNode = MayaCmds.createNode('surfaceInfo')
    MayaCmds.connectAttr(name+'.worldSpace', surfaceInfoNode+'.inputSurface',
        force=True)

    controlPoints = MayaCmds.getAttr(surfaceInfoNode+'.controlPoints[*]')
    knotsU = MayaCmds.getAttr(surfaceInfoNode+'.knotsU[*]')
    knotsV = MayaCmds.getAttr(surfaceInfoNode+'.knotsV[*]')

    MayaCmds.AbcExport(j='-root %s -f %s' % (name, abcFileName))

    # reading test
    MayaCmds.AbcImport(abcFileName, mode='open')

    self.failUnlessEqual(degreeU, MayaCmds.getAttr(name+'.degreeU'))
    self.failUnlessEqual(degreeV, MayaCmds.getAttr(name+'.degreeV'))
    self.failUnlessEqual(spansU, MayaCmds.getAttr(name+'.spansU'))
    self.failUnlessEqual(spansV, MayaCmds.getAttr(name+'.spansV'))
    self.failUnlessEqual(minU, MayaCmds.getAttr(name+'.minValueU'))
    self.failUnlessEqual(maxU, MayaCmds.getAttr(name+'.maxValueU'))
    self.failUnlessEqual(minV, MayaCmds.getAttr(name+'.minValueV'))
    self.failUnlessEqual(maxV, MayaCmds.getAttr(name+'.maxValueV'))


    if (surfacetype == 0):
        self.failUnlessEqual(0, MayaCmds.getAttr(name+'.formU'))
        self.failUnlessEqual(0, MayaCmds.getAttr(name+'.formV'))
    elif (surfacetype == 1):
        self.failUnlessEqual(0, MayaCmds.getAttr(name+'.formU'))
        self.failUnlessEqual(2, MayaCmds.getAttr(name+'.formV'))
    elif (surfacetype == 2):
        self.failUnlessEqual(2, MayaCmds.getAttr(name+'.formU'))
        self.failUnlessEqual(2, MayaCmds.getAttr(name+'.formV'))


    surfaceInfoNode = MayaCmds.createNode('surfaceInfo')
    MayaCmds.connectAttr(name+'.worldSpace', surfaceInfoNode+'.inputSurface',
        force=True)

    controlPoints2 = MayaCmds.getAttr(surfaceInfoNode + '.controlPoints[*]')
    self.failUnlessEqual(len(controlPoints), len(controlPoints2))
    for i in range(0, len(controlPoints)):
        cp1 = controlPoints[i]
        cp2 = controlPoints2[i]
        self.failUnlessAlmostEqual(cp1[0], cp2[0], 3, 'cp[%d].x not equal' % i)
        self.failUnlessAlmostEqual(cp1[1], cp2[1], 3, 'cp[%d].y not equal' % i)
        self.failUnlessAlmostEqual(cp1[2], cp2[2], 3, 'cp[%d].z not equal' % i)

    for i in range(0, len(knotsU)):
        ku1 = knotsU[i]
        ku2 = MayaCmds.getAttr('surfaceInfo1.knotsU[%d]' % i)
        self.failUnlessAlmostEqual(ku1, ku2, 3,
            'control knotsU # %d not equal' % i)

    for i in range(0, len(knotsV)):
        kv1 = knotsV[i]
        kv2 = MayaCmds.getAttr('surfaceInfo1.knotsV[%d]' % i)
        self.failUnlessAlmostEqual(kv1, kv2, 3,
            'control knotsV # %d not equal' % i)
def testStaticNurbsWithOneCloseCurveTrim(self, surfacetype, abcFileName,
    trimtype):

    if (surfacetype == 0):
        ret  = MayaCmds.nurbsPlane(p=(0, 0, 0), ax=(0, 1, 0), w=1, lr=1,
            d=3, u=5, v=5, ch=0)
    elif (surfacetype == 1):
        ret  = MayaCmds.sphere(p=(0, 0, 0), ax=(0, 1, 0), ssw=0, esw=360, r=1,
            d=3, ut=0, tol=0.01, s=8, nsp=4, ch=0)
    elif (surfacetype == 2):
        ret = MayaCmds.torus(p=(0, 0, 0), ax=(0, 1, 0), ssw=0, esw=360,
            msw=360, r=1, hr=0.5, ch=0)

    name = ret[0]

    MayaCmds.curveOnSurface(name, uv=((0.170718,0.565967),
        (0.0685088,0.393034), (0.141997,0.206296), (0.95,0.230359),
        (0.36264,0.441381), (0.251243,0.569889)),
        k=(0,0,0,0.200545,0.404853,0.598957,0.598957,0.598957))
    MayaCmds.closeCurve(name+'->curve1', ch=1, ps=1, rpo=1, bb=0.5, bki=0,
        p=0.1, cos=1)

    if trimtype == 0 :
        MayaCmds.trim(name, lu=0.68, lv=0.39)
    elif 1 :
        MayaCmds.trim(name, lu=0.267062, lv=0.39475)

    degreeU = MayaCmds.getAttr(name+'.degreeU')
    degreeV = MayaCmds.getAttr(name+'.degreeV')
    spansU = MayaCmds.getAttr(name+'.spansU')
    spansV = MayaCmds.getAttr(name+'.spansV')
    formU = MayaCmds.getAttr(name+'.formU')
    formV = MayaCmds.getAttr(name+'.formV')
    minU = MayaCmds.getAttr(name+'.minValueU')
    maxU = MayaCmds.getAttr(name+'.maxValueU')
    minV = MayaCmds.getAttr(name+'.minValueV')
    maxV = MayaCmds.getAttr(name+'.maxValueV')

    surfaceInfoNode = MayaCmds.createNode('surfaceInfo')
    MayaCmds.connectAttr(name+'.worldSpace', surfaceInfoNode+'.inputSurface',
        force=True)

    controlPoints = MayaCmds.getAttr(surfaceInfoNode+'.controlPoints[*]')
    knotsU = MayaCmds.getAttr(surfaceInfoNode+'.knotsU[*]')
    knotsV = MayaCmds.getAttr(surfaceInfoNode+'.knotsV[*]')

    MayaCmds.AbcExport(j='-root %s -f %s' % (name, abcFileName))
    MayaCmds.AbcImport(abcFileName, mode='open')

    self.failUnlessEqual(degreeU, MayaCmds.getAttr(name+'.degreeU'))
    self.failUnlessEqual(degreeV, MayaCmds.getAttr(name+'.degreeV'))
    self.failUnlessEqual(spansU, MayaCmds.getAttr(name+'.spansU'))
    self.failUnlessEqual(spansV, MayaCmds.getAttr(name+'.spansV'))
    self.failUnlessEqual(minU, MayaCmds.getAttr(name+'.minValueU'))
    self.failUnlessEqual(maxU, MayaCmds.getAttr(name+'.maxValueU'))
    self.failUnlessEqual(minV, MayaCmds.getAttr(name+'.minValueV'))
    self.failUnlessEqual(maxV, MayaCmds.getAttr(name+'.maxValueV'))

    surfaceInfoNode = MayaCmds.createNode('surfaceInfo')
    MayaCmds.connectAttr(name+'.worldSpace', surfaceInfoNode+'.inputSurface',
        force=True)

    controlPoints2 = MayaCmds.getAttr( surfaceInfoNode + '.controlPoints[*]')
    self.failUnlessEqual(len(controlPoints), len(controlPoints2))
    for i in range(0, len(controlPoints)):
        cp1 = controlPoints[i]
        cp2 = controlPoints2[i]
        self.failUnlessAlmostEqual(cp1[0], cp2[0], 3, 'cp[%d].x not equal' % i)
        self.failUnlessAlmostEqual(cp1[1], cp2[1], 3, 'cp[%d].y not equal' % i)
        self.failUnlessAlmostEqual(cp1[2], cp2[2], 3, 'cp[%d].z not equal' % i)

    for i in range(0, len(knotsU)):
        ku1 = knotsU[i]
        ku2 = MayaCmds.getAttr('surfaceInfo1.knotsU[%d]' % i)
        self.failUnlessAlmostEqual(ku1, ku2, 3,
            'control knotsU # %d not equal' % i)

    for i in range(0, len(knotsV)):
        kv1 = knotsV[i]
        kv2 = MayaCmds.getAttr('surfaceInfo1.knotsV[%d]' % i)
        self.failUnlessAlmostEqual(kv1, kv2, 3,
            'control knotsV # %d not equal' % i)
Example #14
0
cmds.sphere(name='sphere', radius=2)
name = 'sphere'

#quering and printing radius of the sphere
r = cmds.sphere(name, query=True, radius=True)
print r

#assigning new value for radius
cmds.sphere('sphere', edit=True, radius=4)

#deleting all objects from the scene
cmds.select(all=True)
cmds.delete()

#creating a new shape: torus
cmds.torus(name='torus', radius=4, heightRatio=0.5)

#translate 'torus' by 1 unit along the x-axis
cmds.move(1, 0, 0, 'torus')

#scale 'torus' by half along y-axis
cmds.scale(1, 0.5, 1, 'torus')

#rotate 'torus by 45 degrees about the z-axis
cmds.rotate(0, 0, 45, 'torus')

#now move, scale, rotate 'torus' relative to its current
#position, scale, rotation
cmds.move(2, 0, 0, 'torus', relative=True)
cmds.scale(1, 0.7, 1, 'torus', relative=True)
cmds.rotate(0, 0, 10, 'torus', relative=True)
	def createTorus(): 
    for i in range(1,9):             
            mx.torus(n='totus1',r=i*1,hr=0.01)          
	else:
		mx.sphere()

import maya.cmds as mx
	dataFromUser = input (‘Please enter number only’)
	print (dataFromUser)
	if	dataFromUser = =1:
		mx.nurbsCube()
	elif	dataFromUser = =2:
		mx.sphere()
	elif	dataFromUser = =3:
		mx.cylinder()
	elif	dataFromUser = =4:
		mx.cone()
	elif	dataFromUser = =5:
		mx.torus()
	else:
		mx. plane()
2nd Part

The For Loop
EX.      	import maya.cmds as mx
            	for i in range (1 , 10):
                            	print (‘this is i =  ’str(i))
 
Make box and move
EX.      	import maya.cmds as mx                                                      		# your name
            	nameOfItems = [‘Box2’ , ‘Box3’ , ‘Box4’ , ‘Box5’]
 
            	# for i in range (1 , 10):
 
            	for nameItem in nameOfItems: