Moin Sebastian, I haven't completely debugged your code snippet, but I can tell you this much, MDataHandle.set() is not script-supported. MDataHandle offers data type specific, non-polymorph functions to set data through Python, like MDataHandle.setFloat() or MDataHandle.setMObject(). I have not yet tried to generate geometry through custom DG nodes, so unfortunately I can't tell you if you are on the right track in general.
Cheers! -André On Jan 6, 12:49 am, borgus <[email protected]> wrote: > hi guys! > > I simply want to create a node wich produces a simple polygon and pass > it to an output attribute ( kMesh). > > #head of file > import maya.OpenMaya as om > import maya.OpenMayaMPx as ommpx > > inside of the compute method I do this: > > if plug == PlaceBetween.outputMesh: > #create handle > outputDataHandle = > om.MDataHandle( dataBlock.outputValue( PlaceBetween.outputMesh ) ) > > dataCreator = om.MFnMeshData() > moOutputData = dataCreator.create() > points = om.MFnPointArrayData() > meshFn = om.MFnMesh() > > vtx1 = om.MFloatPoint( 0.0, 0.0, 0.0 ) > vtx2 = om.MFloatPoint( 0.0, 1.0, 0.0 ) > vtx3 = om.MFloatPoint( 1.0, 1.0, 0.0 ) > > points = om.MFloatPointArray() > > #append points to array > points.append( vtx1 ) > points.append( vtx2 ) > points.append( vtx3 ) > > #number of faces > su1 = om.MScriptUtil() > polyArray = om.MIntArray() > su1.createIntArrayFromList( [1], polyArray) > > #number of connections > su2 = om.MScriptUtil() > connecArray = om.MIntArray() > su2.createIntArrayFromList( [0,1,2], connecArray) > > #create the mesh data here... > meshFn.create( 3, 1, points, polyArray, connecArray, > moOutputData) > > #pass the create meshdata to the output attribute.... > ERROR > outputDataHandle.set( moOutputData ) > > #set the plug clean > dataBlock.setClean( plug ) > > The problem is that when I set the output attribute using > dataHandle.set( ) I get an attribute error in maya, just > "attribute error... set() " > I really can't find it out and I hope you can spread some light here. > I'm very new to maya python API programming > and doing my first steps here :) > > what I do in Maya is: > > createNode "myNode"; > createNode "mesh"; > > connectAttr nameOfMyNode.outmesh nameOfMesh.geometry; > > I hope that's correct so far....when I connect the nodes and the > compute method of my node is called, I get the > error. > > Thanks, Seb. -- view archives: http://groups.google.com/group/python_inside_maya change your subscription settings: http://groups.google.com/group/python_inside_maya/subscribe
