Basically, I have a cylindrical part in a rotary table. I take a few hits with a touch probe to align, and make some measurements for some notches.
After this I switch to the camera
The rotation of the part is dependent on the rotation vector of a specific hole.
Due to the leveling features available to me, this hole is either on one side or the other of the part.
Using the camera, I measure the location. If the hole is not there (using OnError) it rotates 180° and tries again.
If all goes well it continues measuring and dimensions everything.
--------------------------------------------------
The question I have pertains specifically to the relationship between the notches and the holes;
I start measuring the notches at Rotab Angle 0. But what if the hole is reversed, at 180?
Now the notches and holes that share the same name (notch_XXX_45, hole_xxx_45) are 180° apart!
Hole_xxx_0 and Notch_xxx_180 are at the same angle!
Essentially I want to add in some tidbits to fix that.
I originally had the program where I would measure some stuff on the part with a probe, then switch to the camera to measure the holes,
then switch
back to the probe to measure the notches from the hole alignment, keeping everything together.
Personally I do not like this, I would rather switch probes as little as possible.
We have a rack, so it is not a
huge deal, but I
did spend all day reworking the program to only change once...
Regardless, I was looking for some ideas on how I would go about this
I have all of the necessary features using a naming convention like above.
I would assume I could get the feature name, get all the characters (from right to left) up to the first underscore (which would give me the degree of rotation of that feature)
[I like that idea]
Then if the number is >= 180, subtract 180, or if its <= 135, add 180 to the name.
This would theoretically "flip" the numbers in the name and report them correctly.
To put it together:
If the hole is at 0, it will output hole 0 and notch 0 instead of hole 0 and notch 180
If the hole is at 180, it will output hole 180 and notch 180, instead of hole 180 and notch 0
--------------------------------------------------------------------------------------------------------
Is this possible?
So you are looking to create feature names that are dependent on variable outputs? it's black magic, but should work in theory.
What I would do instead however is fix your alignment structure, so it doesn't end up flipping randomly 180° out of phase.
One thing I've noticed when making rotation datum alignments based upon a feature on a cylindrical part, is if your initial alignment is located -.00001 about the initial alignment it will flip your vectors 180 degrees. To fix this random flipping, create a line from cylinder axis out to whatever feature you are rotating to, then rotate X+ or Y+ to that line. Do not rotate to the feature measured on its own.
So you are looking to create feature names that are dependent on variable outputs? it's black magic, but should work in theory.
What I would do instead however is fix your alignment structure, so it doesn't end up flipping randomly 180° out of phase.
One thing I've noticed when making rotation datum alignments based upon a feature on a cylindrical part, is if your initial alignment is located -.00001 about the initial alignment it will flip your vectors 180 degrees. To fix this random flipping, create a line from cylinder axis out to whatever feature you are rotating to, then rotate X+ or Y+ to that line. Do not rotate to the feature measured on its own.