Hi Mylenium, Sorry for my lack of variables. I tried it again with a variable for the pin (myPin1) and tried calling .toComp in the following manner: myPin1 = thisComp.layer("R_Leg").effect("Puppet").arap.mesh("Mesh 1").deform("Puppet Pin 1"); myPin1.toComp(myPin1.position); This throws up an error, "function 'myPin1.toComp' is not defined", so I presume that the value that is returned to variable myPin1 doesn't have a method ".toComp". If I remove the myPin and just pass the position property of myPin1 to toComp as a function, myPin1 = thisComp.layer("R_Leg").effect("Puppet").arap.mesh("Mesh 1").deform("Puppet Pin 1"); toComp(myPin1.position); it doesn't error, it returns some coordinates, but not the right ones. Just as a test, I made a second null layer and did this in its position expression: myNull = thisComp.layer("Null 20"); myNullpos = myNull.toComp(myNull.anchorPoint); The second null mapped perfectly to the first with identical coords. Same result for this: myNull = thisComp.layer("Null 20"); myNullpos = myNull.position; Try: myNull = thisComp.layer("Null 20"); myNullpos = myNull.anchorPoint; And I get 0,0 , presumably because the anchorPoint coords are layer coords. The anchorpoint of a null is at 0,0 on the layer by default. Now if I try one more permutation calling myNull.toComp on the myNull.position property (a composition space position coordinate): myNull = thisComp.layer("Null 20"); myNullpos = myNull.toComp(myNull.position); I get a position way off to the bottom right. So what I take from all this is: 1- I can use .toComp with my null layer as myNull.toComp() but not with myPin1 as myPin1.toComp(). I presume whatever is returned by the pin query doesn't have a method .toComp, while the null layer returned to variable myNull, does. So maybe its not possible to get comp space coordinates of a pin using this approach. Like it only works for layers not sub-layer items like pins. 2- Using myNull.toComp(), I get the right result passing myNull.anchorPoint. I also get the right result if I dispense with .toComp and just use myNull.position, so presuably they're equal. Using just myNull.anchorPoint gives the position of the anchor within the layer (0,0 by default) and using myNull.toComp() and passing myNull.position gives a position to the far bottom right of the correct one (presumably because myNull.position is already a comp space coord, I don't know the internals of .toComp). So my conclusion thus far is that the pin position coords, when passed to .toComp() dont work, so they must be in some way differently defined than the anchorpoint of a null, which does work. whatever is returned by the pin query has no .toComp method. The method seems to need an anchorPoint to be passed, and a pin position doesn't seem to serve the same purpose. So is there a different method to get the comp space coords of a PP or is there some property of a PP which can be passed to .toComp?
... View more