"""
while these techniques are not OOP they are still fully valid ways to
perform these operations - Pymel is object oriented but is slower to
execute (wrapper on wrapper on wrapper on wrapper) I am not a hater of
pymel (i prefer OOP coding but autodesk didnt implement it that way 8( )
but my code always comes down to speed and stability rather than just being
concerned with it being easy to write and access as I write it. why i use a
good python IDE ;)
"""
cmds.createNode('transform') - does not have a shape node
cmds.createNode('locator') - returns shapeNode only
#create a locator
loc = cmds.spaceLocator()[0]
locShape = cmds.listRelatives(loc, s=True)[0]
api 2.0 is showing great promise but is still missing a lot and the 2 api's
dont play nice, spending a lot of code to convert information but it has
huge speed increases.
On Thu, Dec 19, 2013 at 1:06 PM, Jeremy YeoKhoo <[email protected]> wrote:
> Hey Eric,
>
> Hows it going?
>
> It really depends on what you need. Using OpenMaya (or python for that
> matter) doesnt necessarily make things faster in maya. It really depends on
> whether youre trying to make a plugin or youre executing a command. Using
> OpenMaya with with python uses a wrapper (SWIG) anyway, but there is a new
> python API 2.0, but Im not sure how much faster it is but its better in
> with the implementation of python's syntax.
>
> If youre trying to get the shape node after creating a transform, then I
> would do....
>
> import maya.cmds as cmds
>
> myLoc= cmds.spaceLocator('')[0]
> myLocShape= cmds.listRelatives(myLoc, s=1)[0]
>
>
> But if youre creating a plugin or your own custom locator with a
> shape(that does something) then you have to use
>
> import maya.OpenMayaMPx as OpenMayaMPx
>
> class myClass(OpenMayaMPx.MPxLocatorNode):
> def __init__(OpenMayaMPx.MPxLocatorNode.__init__, self):
>
> And etc..............
>
> Write that plugin so it returns a shape node and then execute your command
> that created the plugin and node... And away you go, but I reckon thats not
> what you want to achieve.
>
> -Jeremy
>
>
> On Thursday, 19 December 2013 05:34:33 UTC+11, Eric Thivierge wrote:
>>
>> Hey all,
>>
>> Been lurking here for a long time but just now picking up some Maya
>> programming for some rigging tools here at work. I've been a long time
>> Softimage user and am used to the OM they have there so it's a bit of an
>> uphill battle trying to make heads or tails of some of the stuff in
>> OpenMaya.
>>
>> Is this the simplest way to get to the shape node after it's created from
>> the transform node?
>>
>> # Sample Python
>> import maya.OpenMaya as om
>>
>> dagModifier = om.MDagModifier()
>>
>> locator = dagModifier.createNode('transform')
>> dagModifier.renameNode(locator, "myLocator")
>> dagModifier.createNode('locator', locator) # create locator shape under
>> transform
>> dagModifier.doIt()
>>
>> locatorDagPath = om.MDagPath()
>> locatorDag = om.MFnDagNode(locator)
>> locatorDag.getPath(locatorDagPath)
>> locatorDagPath.extendToShape()
>>
>> shapeDag = om.MFnDagNode()
>> shapeDag.setObject(locatorDagPath.node())
>> shapeNode = om.MObject()
>> shapeNode = locatorDagPath.node()
>>
>> dagModifier.renameNode(shapeNode, "myLocatorShape")
>> dagModifier.doIt()
>>
>> --------------------------------------------
>> Eric Thivierge
>> http://www.ethivierge.com
>>
> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/python_inside_maya/8fc33ef0-6cff-4cc3-8c31-34eea1fa2250%40googlegroups.com
> .
>
> For more options, visit https://groups.google.com/groups/opt_out.
>
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/python_inside_maya/CAM9RXo%2B1r8WFfzyV_tBau%3Den7uCvMpVEOuE5PGcozEg7j6P5Gg%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.