There is no built in way to do this currently. I’ve been working through the math myself but do not have it quite complete. I’ll see if I can wrap it up in the next couple weeks and post.
If someone else has it that’d be great. Please post it.
@TVRU if you check out this post in November 2019 I posted up how to do this for the old way of calculating UR planes. I saw something recently on the new calculations, UR changed how planes are calculated around 3.7. We use this everyday in production, its just slightly different in that the second point defines +y, and now with the newest UR method the second point defines +x.
I was able to find the post where I saw the code for the new plane feature, its actually a script file UR generated with a lot of helper functions in it, one of them is get_feature_plane(p1, p2, p3) you would simply need to assign the return value of this to your feature variable and pass in the 3 points that you want to use. I have attached the file from UR. I know of one typo that existed in the file and so I corrected that, I have not personally ran any of these functions so I cannot vouch for their correctness or completeness.
Has anyone found a way to update/recalculate the whole feature plane including rotations in X,Y&Z? Do you know the math on how the original feature plane is calculated based off of the three points?
Currently I am using feature planes for all of my positions inside of our CNC machines for picking and placing parts in and out of hydraulic vises. This has been working well but now we are moving the robots around more frequently from one machine to another. So now I need a more efficient way to reset the three positions in my feature plane. The big issue I have is most of my programs have their own installation program. This means that I have to teach every recipes feature plane when I move the robot around, usually 3 or 4 programs.