Discussion:
[Maya-Python] MMeshIntersector: Getting world position / matrix of point in object space
igo rov
2018-07-31 07:53:19 UTC
Permalink
Hi,

I utilized the MMeshintersector.getClosestPoint() to get closest point on
a cube. my problem is, that I can`t make use of it (e.g. set the world
position of a locator) because its in local space.

- MMeshIntersector.getClosestPoint gives me a MPointOnMesh
- MPointOnMesh.point gives me a MFloatPoint

I have less knowledge of Matrix, I guess if i would have a child matrix I
could multiply with the parent. Her is the full code:


import maya.api.OpenMaya as om2

selList = om2.MGlobal.getActiveSelectionList()
dag = selList.getDagPath(0)

matr = dag.inclusiveMatrix()

mesh = dag.child(0)
meshIntersect = om2.MMeshIntersector()
meshIntersect.create(mesh) # documentation says, mesh and matrix as
parametres, ...
# but matrix throws me an error, without Matrix
it works I guess

selLoc = om2.MSelectionList()
selLoc.add("locator1")
dagLoc = selLoc.getDagPath(0)
trLoc = om2.MFnTransform(dagLoc)
vec = trLoc.translation(4)

point = om2.MPoint(vec)
pOnMesh = meshIntersect.getClosestPoint(point,1000)
pos3d = pOnMesh.point #this gives the local translation of the mesh`s
transform as MFloatPoint()

# the following is kind of a mess... trying to get the world position of
the point in object space. But it gives me wrong results

XVal = pos3d.x
YVal = pos3d.y
ZVal = pos3d.z

childMatr = om2.MMatrix()
childMatr.setToIdentity()
childMatr.setElement(3,0,XVal)
childMatr.setElement(3,1,YVal)
childMatr.setElement(3,2,ZVal)
worldM = childMatr * matr

targetX = worldM.getElement(3,0)
targetY = worldM.getElement(3,1)
targetZ = worldM.getElement(3,2)
newVec = om2.MVector(targetX, targetY, targetZ)


selLoc2 = om2.MSelectionList()
selLoc2.add("locator2")
dagLoc2 = selLoc2.getDagPath(0)
trLoc2 = om2.MFnTransform(dagLoc2)
trLoc2.setTranslation(newVec, 4)
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/405bdeae-e71d-43bd-a1f9-442ccbf5e586%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Michael Boon
2018-08-01 00:46:32 UTC
Permalink
I haven't tested this code, but I think it should be a simple matter of
multiplying the point by the mesh's transform. Something like:
node = om.MFnDagNode(dag)
nodeTransform = loc.transformationMatrix()
worldPos = pos3d * nodeTransform
Post by igo rov
Hi,
I utilized the MMeshintersector.getClosestPoint() to get closest point on
a cube. my problem is, that I can`t make use of it (e.g. set the world
position of a locator) because its in local space.
- MMeshIntersector.getClosestPoint gives me a MPointOnMesh
- MPointOnMesh.point gives me a MFloatPoint
I have less knowledge of Matrix, I guess if i would have a child matrix I
import maya.api.OpenMaya as om2
selList = om2.MGlobal.getActiveSelectionList()
dag = selList.getDagPath(0)
matr = dag.inclusiveMatrix()
mesh = dag.child(0)
meshIntersect = om2.MMeshIntersector()
meshIntersect.create(mesh) # documentation says, mesh and matrix as
parametres, ...
# but matrix throws me an error, without
Matrix it works I guess
selLoc = om2.MSelectionList()
selLoc.add("locator1")
dagLoc = selLoc.getDagPath(0)
trLoc = om2.MFnTransform(dagLoc)
vec = trLoc.translation(4)
point = om2.MPoint(vec)
pOnMesh = meshIntersect.getClosestPoint(point,1000)
pos3d = pOnMesh.point #this gives the local translation of the mesh`s
transform as MFloatPoint()
# the following is kind of a mess... trying to get the world position of
the point in object space. But it gives me wrong results
XVal = pos3d.x
YVal = pos3d.y
ZVal = pos3d.z
childMatr = om2.MMatrix()
childMatr.setToIdentity()
childMatr.setElement(3,0,XVal)
childMatr.setElement(3,1,YVal)
childMatr.setElement(3,2,ZVal)
worldM = childMatr * matr
targetX = worldM.getElement(3,0)
targetY = worldM.getElement(3,1)
targetZ = worldM.getElement(3,2)
newVec = om2.MVector(targetX, targetY, targetZ)
selLoc2 = om2.MSelectionList()
selLoc2.add("locator2")
dagLoc2 = selLoc2.getDagPath(0)
trLoc2 = om2.MFnTransform(dagLoc2)
trLoc2.setTranslation(newVec, 4)
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/4c11c70e-d13b-4931-9a21-ca1262cbd6f7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
igo rov
2018-08-01 12:01:08 UTC
Permalink
hi thanks,

I thought I did this with "worldM = childMatr * matr". But I first tried to
construct a matrix from "pos3d" in order to multiply the matrix.

The code I posted, works somehow, but not what I expect: the locator jumps
to a exposed point on the cube, but not on the nearest point to locator2
Post by Michael Boon
I haven't tested this code, but I think it should be a simple matter of
node = om.MFnDagNode(dag)
nodeTransform = loc.transformationMatrix()
worldPos = pos3d * nodeTransform
Post by igo rov
Hi,
I utilized the MMeshintersector.getClosestPoint() to get closest point
on a cube. my problem is, that I can`t make use of it (e.g. set the world
position of a locator) because its in local space.
- MMeshIntersector.getClosestPoint gives me a MPointOnMesh
- MPointOnMesh.point gives me a MFloatPoint
I have less knowledge of Matrix, I guess if i would have a child matrix I
import maya.api.OpenMaya as om2
selList = om2.MGlobal.getActiveSelectionList()
dag = selList.getDagPath(0)
matr = dag.inclusiveMatrix()
mesh = dag.child(0)
meshIntersect = om2.MMeshIntersector()
meshIntersect.create(mesh) # documentation says, mesh and matrix as
parametres, ...
# but matrix throws me an error, without
Matrix it works I guess
selLoc = om2.MSelectionList()
selLoc.add("locator1")
dagLoc = selLoc.getDagPath(0)
trLoc = om2.MFnTransform(dagLoc)
vec = trLoc.translation(4)
point = om2.MPoint(vec)
pOnMesh = meshIntersect.getClosestPoint(point,1000)
pos3d = pOnMesh.point #this gives the local translation of the mesh`s
transform as MFloatPoint()
# the following is kind of a mess... trying to get the world position of
the point in object space. But it gives me wrong results
XVal = pos3d.x
YVal = pos3d.y
ZVal = pos3d.z
childMatr = om2.MMatrix()
childMatr.setToIdentity()
childMatr.setElement(3,0,XVal)
childMatr.setElement(3,1,YVal)
childMatr.setElement(3,2,ZVal)
worldM = childMatr * matr
targetX = worldM.getElement(3,0)
targetY = worldM.getElement(3,1)
targetZ = worldM.getElement(3,2)
newVec = om2.MVector(targetX, targetY, targetZ)
selLoc2 = om2.MSelectionList()
selLoc2.add("locator2")
dagLoc2 = selLoc2.getDagPath(0)
trLoc2 = om2.MFnTransform(dagLoc2)
trLoc2.setTranslation(newVec, 4)
--
You received this message because you are subscribed to a topic in the
Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this topic, visit https://groups.google.com/d/
topic/python_inside_maya/zGdhBD6SuUE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
To view this discussion on the web visit https://groups.google.com/d/
msgid/python_inside_maya/4c11c70e-d13b-4931-9a21-
ca1262cbd6f7%40googlegroups.com
<https://groups.google.com/d/msgid/python_inside_maya/4c11c70e-d13b-4931-9a21-ca1262cbd6f7%40googlegroups.com?utm_medium=email&utm_source=footer>
.
For more options, visit https://groups.google.com/d/optout.
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CANAXgk9hKLTR6JjFKaipP5Rvmsy5um_OGxii5c0yFBxEwaKEsw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Luiz Amaral
2018-08-01 21:47:59 UTC
Permalink
Hey there,

“ ‘Point’ Specifies the location for which to evaluate the closest point on the mesh. `point' is transformed using the matrix parameter passed to the create() method, so for example if your matrix maps world to object space, then `point' should be specified in world space.”

You should either pass the cube’s world matrix on creation or pass the point localized to the cube’s space on get closest point.

Since you created the MMeshIntercector without passing a matrix to it the get closest point function expects a localized position.

That’s why you are getting a “random” point instead of the closest point to locator2.

If you pass the cube’s world matrix to the create just multiply the result of the get closest point by the same matrix and your locator will snap to the expected place.

Or you can keep create the way it is and multiply the point by the inverse of the cube’s world matrix before passing it to the get closest point and then multiply the result by the world matrix again.

Cheers,

Luiz
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/82d9cdd0-b19f-4da4-b36d-883ef7f86deb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
igo rov
2018-08-01 22:44:48 UTC
Permalink
Hi,
as for the missing Matrix parameter, there is this thread:
https://groups.google.com/forum/#!topic/python_inside_maya/axX7W8imeEU

I have the same problems as described there, if I pass the matrix I will
get this error: More keyword list entries (4) than format specifiers (2)

But you are right, there has to be a Matrix parameter as the documentation
says:.....

then the matrix passed to create() should provide the mapping
from world space to the mesh's object space.


So for me the MMeshIntersector is not working....
Post by Luiz Amaral
Hey there,
“ ‘Point’ Specifies the location for which to evaluate the closest point
on the mesh. `point' is transformed using the matrix parameter passed to
the create() method, so for example if your matrix maps world to object
space, then `point' should be specified in world space.”
You should either pass the cube’s world matrix on creation or pass the
point localized to the cube’s space on get closest point.
Since you created the MMeshIntercector without passing a matrix to it the
get closest point function expects a localized position.
That’s why you are getting a “random” point instead of the closest point
to locator2.
If you pass the cube’s world matrix to the create just multiply the result
of the get closest point by the same matrix and your locator will snap to
the expected place.
Or you can keep create the way it is and multiply the point by the inverse
of the cube’s world matrix before passing it to the get closest point and
then multiply the result by the world matrix again.
Cheers,
Luiz
--
You received this message because you are subscribed to a topic in the
Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this topic, visit https://groups.google.com/d/
topic/python_inside_maya/zGdhBD6SuUE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
To view this discussion on the web visit https://groups.google.com/d/
msgid/python_inside_maya/82d9cdd0-b19f-4da4-b36d-
883ef7f86deb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CANAXgk8_jZvjo2%3Dp0jvNk06iWC_Oq584yEiUv%2BeS8Z12HSt5Cg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
igo rov
2018-08-01 23:20:18 UTC
Permalink
...I tried what you wrote in your last sentence with inverse matrix, but
may be its to late, I'm getting wrong results. I will try again tomorow,
thanks
Post by igo rov
Hi,
https://groups.google.com/forum/#!topic/python_inside_maya/axX7W8imeEU
I have the same problems as described there, if I pass the matrix I will
get this error: More keyword list entries (4) than format specifiers (2)
But you are right, there has to be a Matrix parameter as the documentation
says:.....
then the matrix passed to create() should provide the mapping
from world space to the mesh's object space.
So for me the MMeshIntersector is not working....
Post by Luiz Amaral
Hey there,
“ ‘Point’ Specifies the location for which to evaluate the closest point
on the mesh. `point' is transformed using the matrix parameter passed to
the create() method, so for example if your matrix maps world to object
space, then `point' should be specified in world space.”
You should either pass the cube’s world matrix on creation or pass the
point localized to the cube’s space on get closest point.
Since you created the MMeshIntercector without passing a matrix to it the
get closest point function expects a localized position.
That’s why you are getting a “random” point instead of the closest point
to locator2.
If you pass the cube’s world matrix to the create just multiply the
result of the get closest point by the same matrix and your locator will
snap to the expected place.
Or you can keep create the way it is and multiply the point by the
inverse of the cube’s world matrix before passing it to the get closest
point and then multiply the result by the world matrix again.
Cheers,
Luiz
--
You received this message because you are subscribed to a topic in the
Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this topic, visit https://groups.google.com/d/to
pic/python_inside_maya/zGdhBD6SuUE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
To view this discussion on the web visit https://groups.google.com/d/ms
gid/python_inside_maya/82d9cdd0-b19f-4da4-b36d-883ef7f86deb%
40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CANAXgk-qfsrm56zmi0NGFJ1oMSJOFuypjHk2NBUkM_SA6cLghA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Luiz Amaral
2018-08-02 00:13:27 UTC
Permalink
Try this

matr = om2.MMatrix(dag.inclusiveMatrix())
meshIntersect.create(mesh, matr)
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/5d3acb67-af64-44b9-9871-aea7967bae66%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Luiz Amaral
2018-08-02 00:19:20 UTC
Permalink
You should at least pass the identity matrix like this

meshIntersect.create(mesh, om2.MMatrix.identity)
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/fab96010-ac16-49c7-8452-68851e98f0d3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
igo rov
2018-08-02 06:35:52 UTC
Permalink
Can you execute this:

import maya.api.OpenMaya as om2

selList = om2.MGlobal.getActiveSelectionList()
dag = selList.getDagPath(0)
matr = dag.inclusiveMatrix()
mesh = dag.child(0)
meshIntersect = om2.MMeshIntersector()
meshIntersect.create(mesh, matr)


I get an error, because it won`t accept the "matr" argument
Post by Luiz Amaral
You should at least pass the identity matrix like this
meshIntersect.create(mesh, om2.MMatrix.identity)
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/6455b845-aa61-4458-932b-867c1c16c895%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Luiz Amaral
2018-08-02 16:29:15 UTC
Permalink
Try this

meshIntersect.create(mesh, om2.MMatrix(matr))
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/9e6d8b5d-32d6-4bcc-b359-41b81a665a86%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
igo rov
2018-08-02 17:26:50 UTC
Permalink
I get the same error
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/16e2c4e6-565a-41f8-b559-83c20ac28095%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Luiz Amaral
2018-08-02 19:34:56 UTC
Permalink
OK I’m out of ideas now :/
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/d49e25b8-3d57-47d9-8bb5-c0af4442cff1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Cedric Bazillou
2018-08-02 23:33:07 UTC
Permalink
Hi guys ,
normally by design the closest point value returned by the intersector is
in object space
http://help.autodesk.com/view/MAYAUL/2017/ENU/?guid=__cpp_ref_closest_point_cmd_2closest_point_cmd_8cpp_example_html

in the function closestPointCmd::createDisplay( MPointOnMesh
<http://help.autodesk.com/cloudhelp/2017/ENU/Maya-SDK/cpp_ref/class_m_point_on_mesh.html>&
info, MMatrix
<http://help.autodesk.com/cloudhelp/2017/ENU/Maya-SDK/cpp_ref/class_m_matrix.html>&
matrix )
we go from local to worldspace by applying the mesh parent transform ( and
its what is used as well for the matrix initialization.) is quite horrible
that they labelled a local point as world point though..

i would as well stay as far as possible from the OpenMaya 2 layer if i can
as you will soon see some hidden bugs and only 30 percent of the function
are exposed ( dont concern yourself with pythonic argument as you will need
to convert your code to c++ if your are serious about your work)
Post by Luiz Amaral
OK I’m out of ideas now :/
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/7aed4d19-7f93-415d-8f83-50a98dad7f4c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Luiz Amaral
2018-08-03 13:30:25 UTC
Permalink
Yeah good one! Try with the api 1.0
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/55bd6124-2aec-4898-b5fb-9dd5931fce6e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Luiz Amaral
2018-08-03 13:33:23 UTC
Permalink
import maya.openmaya as om
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/a13fe09e-54fb-414a-9496-175a3539fc9a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
igo rov
2018-08-03 20:22:30 UTC
Permalink
Hi again,

I don`t know how much sense this code still makes, however for me its for
learning purposes and for me its one step towards my goal to learn c++ api.
Especially converting between vectors, MFloatPoint and Matrix type might be
horrible code...but I didn*t find a more direct way.....at least it works
for me.
If you have some hints for me, how to do things more clever, please don`t
hesitate

import maya.OpenMaya as om

selList = om.MSelectionList()
selList.add("pCube1")
dagCube = om.MDagPath()
selList.getDagPath(0, dagCube)
mesh = dagCube.child(0)
trFn = om.MFnTransform(dagCube)
matrCube = trFn.transformationMatrix()
######
mesh.apiTypeStr() # should be kMesh
######
intersector = om.MMeshIntersector()
intersector.create(mesh, matrCube) # no error in API 1.0...Yeah ;)

selListLoc1 = om.MSelectionList()
selListLoc1.add("locator1")
dagLoc1 = om.MDagPath()
selListLoc1.getDagPath(0, dagLoc1)
trFnLoc1 = om.MFnTransform(dagLoc1)
vecLoc1 = trFnLoc1.translation(4)
pointLoc1 = om.MPoint(vecLoc1.x, vecLoc1.y, vecLoc1.z)
mPointOnMesh = om.MPointOnMesh()
intersector.getClosestPoint(pointLoc1,mPointOnMesh, 1000)
resultPoint = mPointOnMesh.getPoint()

# first I create vector
resultVector = om.MVector(resultPoint.x, resultPoint.y,resultPoint.z)

# then I convert to matrix
matrTrans = om.MTransformationMatrix()
matrTrans.setTranslation(resultVector,4)
localMatrix = matrTrans.asMatrix(1)
# this is the important step to get the world matrix, multiply child/local
with the parent Matrix
worldMatr = localMatrix*matrCube
worldMatrTrans = om.MTransformationMatrix(worldMatr)

selListLoc2 = om.MSelectionList()
selListLoc2.add("locator2")
dagLoc2 = om.MDagPath()
selListLoc2.getDagPath(0, dagLoc2)
trFnLoc2 = om.MFnTransform(dagLoc2)
trFnLoc2.set(worldMatrTrans)
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/55ad67e8-62b9-48a5-8155-4bc90a7de78f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Luiz Amaral
2018-08-04 16:08:17 UTC
Permalink
Hey igo, happy to see you solved the puzzle! Its such a great feeling to have our tools working. Specially after some struggle ;)

Maya API can be tricky sometimes.

I highly recomend Chad Vernon’s courses on cgcircuit for learning c++ API

https://www.cgcircuit.com/

http://www.chadvernon.com/blog/resources/maya-api-programming/

Good luck and enjoy the ride :D
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/02874409-af3c-4fc9-afa2-083f3cf40a95%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
igo rov
2018-08-04 18:37:43 UTC
Permalink
...yes thats true, and I wasnt`t expecting that there could be a bug in the
API :) Deciding for api 1.0 or 2.0 ist not too easy.
I know the courses of cgcircuit, but for python. Hopefully taking the next
step to c++ won`t bee too hard for somebody coming more from the artist
side of maya. Though I will stick with python also, and defintely come back
here soon.
Post by Luiz Amaral
Hey igo, happy to see you solved the puzzle! Its such a great feeling to
have our tools working. Specially after some struggle ;)
Maya API can be tricky sometimes.
I highly recomend Chad Vernon’s courses on cgcircuit for learning c++ API
https://www.cgcircuit.com/
http://www.chadvernon.com/blog/resources/maya-api-programming/
Good luck and enjoy the ride :D
--
You received this message because you are subscribed to a topic in the
Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this topic, visit https://groups.google.com/d/
topic/python_inside_maya/zGdhBD6SuUE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
To view this discussion on the web visit https://groups.google.com/d/
msgid/python_inside_maya/02874409-af3c-4fc9-afa2-
083f3cf40a95%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CANAXgk-JKK34Rr02TdRabLPwgnbDTesjF4e%3DE6j-SUUWWHhEDg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Cedric Bazillou
2018-08-04 20:38:27 UTC
Permalink
tips wise maybe just put your code into a function so the garbage collector
can clean up intermediate elements?
--
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 python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/b17d5eb1-202e-43fc-8b00-cb87dc530148%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...