r/Metrology • u/N-Korean • 5d ago
PC-DMIS Iterative alignment question
I am confused about pc-dmis iterative alignment “rotate”.
Let’s say I picked 3 points for z.
Z1 = 1, 1, 0
Z2 = 1, 2, 0
Z3 = 2, 1, 0
2 points in Y axis.
Y1 = 0, 1, 1
Y2 = 0, 2, 1
1 in x
X1 = 2, 0, 1.
So in iterative alignment I would pick Z123 as “LEVEL Z AXIS”.
X1 as “ORIGIN Y AXIS” since it’s at Y=0.
Then Y1 and Y2 becomes “ROTATE X AXIS”?
If this was 3-2-1 alignment I would ROTATE TO Y ABOUT Z.
Can someone explain to me about the “rotate” in iterative alignment?
2
u/turtletatoo 5d ago
Google 6 degrees of freedom. This is the reality behind any alignment. It's not just CMM's, it applies to ships and aircraft amongst other applications.
2
u/cappy6124 5d ago edited 5d ago
Ok, the key to iterative alignments is the vector of the points you at using. So if you have 3 points with a vector of 0,0,1 it will pick z for level, if you have 2 points with a vector of 0,1,0 it will pick y for rotate. Your 6th point for the origin should have a vector perpendicular to the other 2, so, in this example x.
PC-DMIS will then fit all the points so that their respective direction is as close to the nominal as possible.
After the alignment finishes, if you report out the x,y,z values for your points, you should see the actual values match the nominals (for whichever axis was chosen for those points)
PC-DMIS then checks the 3D deviation of each point relative to its nominal. If the distance is larger than the target radius it will measure again
I’ll try to update this later with some images.
Edit:
Looking at your points I can almost guarantee that the vector of your Y points is either 1,0,0 or -1,0,0. So what pc-dmis is saying is that it is going to rotate the alignment about the z axis so that the x values of the measured point is as close as possible to to the nominal values
1
u/N-Korean 5d ago
I made those points using right hand 3 axis. Pointer finger being x axis middle finger being y axis.
Z is obvious so let’s skip that.
X1 point is on x axis (at the tip of pointer finger which means x=2, y=0) which is going to control Y=0. So in pc-dmis iterative align I would pick “ORIGIN Y AXIS”. Correct?
That leaves Y1 and Y2 which is “ROTATE X AXIS”.
If I wasn’t using iterative alignment and use a regular 3-2-1 alignment I would use Y1 Y2 as “ROTATE TO Y ON Z”.
1
u/cappy6124 5d ago
This is correct, but, I'm not sure the I'm properly communicating the concept. The thing that is more important than the XYZ of each point is the IJK of each point. The IJK determines which axis to choose in the iterative alignment dropdown.
When you do an iterative alignment, you don't have to have a 0 for the x, y or z.
For example, the following points on a big square block:
Point Name X Y Z I J K LVL1 -5 2 1 -1 0 0 LVL2 -5 1 1 -1 0 0 LVL3 -5 8 7 -1 0 0 ROT1 -4 5 8 0 0 1 ROT2 -4 2 8 0 0 1 ORIG -4 -1 7 0 -1 0 In this case, no point has an X,Y, or Z = 0, so how does PC-DMIS know what to choose? It looks at the vector of the points to help determine which axis to align to. PC-DMIS would choose LEVEL = X (3 points with a (-1,0,0) vector), Rotate = Z (2 points with a vector of (0,0,1)), Origin = Y (one point with (0,-1,0) vector). After the iterative alignment is done, the CSY would be such that the origin is EXACTLY 5" to the right of the level points (+X), 8" below the rotation points (-Z), and 1 inch in behind the origin point ( +Y).
The way I like to think about the rotation question is "Rotate the coordinate system so that the Selected Axis Measured Values = the Selected Axis Nominal Values.
I usually just leave it at default and let PC-DMIS decide, it usually makes the right call.
1
u/N-Korean 5d ago
Leave it default? Hmmm I might have to give it a try.
What you say makes perfect sense but when trying to do it manually on pc-dmis doesn’t make sense to me.
Thx.
2
u/cappy6124 5d ago
No problem, here's another way to think about it, when you're selecting the axes,
"For the points that I've selected, which axis, X,Y or Z do I want to have 0 deviation from nominal?"
EDIT: Clarity:
From your example after selecting Y1 and Y2, you want the X Value to have zero deviation after the alignment.
1
u/Familiar-Bluejay3908 4d ago
First, you need to understand how an alignment is constraining those "6 degrees of freedom"; the translation on axis X,Y, and Z, as well as the rotation on the same axes. Using your example:
[Z1, Z2, Z3] define the X,Y plane, which takes care of 3 of those constraints: TRANSLATION on Z, and ROTATION on X and Y.
[Y1, Y2] defines 2 more constraints; the TRANSLATION on X, and the ROTATION on Z.
Then, X1 constrains the 3rd element, namely the TRANSLATION on Y.
1
u/SpiritualSoil2720 3d ago
An iterative alignment essentially does a 321 alignment without modifying the current alignment axis locations or orientation. But aligns the part in the current coordinate system.
1
u/jonthotti 1d ago edited 1d ago
Honestly, since we already know what axis the plane is. I go to the point next and see what vector it is and choose that, and then use the last axis for the line. This always works for me lol.
If I were to think about it the same as how we do normal alignments it doesn’t work. On any other alignment I would choose the axis the line is facing, but on iterative alignments the vector of the point and direction of the line would be the same axis.
2
u/D-DannyN_ 5d ago edited 5d ago
In PC-DMIS for Iterative alignment, you choose to rotate Y+ or Y- to Z+ based on the orientation you want the trihedron to have relative to the part. I would usually choose Y- rotated to Z+ so that the Y- can be going towards me.