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?
That's not exactly what I'm looking for. I already have all of the features created, but I want to be able to choose if I'm using the feature at 0° or the feature at 180°.
There is no "random flipping"; I use onerror statements to check for the presence of a hole, and if it is not there it must be on the other side. It would be the same as if I knew the hole was at 180° so before I measure it I rotate 180°, all the OnError is doing is finding out where the hole is, at 0 or 180, and I measure off of this feature.
The operator comments in my program state to align slots upright. There are 4 slots at two different angles (0 and 180). Meaning the operator could line up the slots at 0 OR the slots at 180. So I level to one or the other; the hole could be on the side up or the side down. I needed to make a program to account for this.
When aligning the slots upright I construct a plane from one. This I level to, and is made Notch_XXX_0
From there I measure the notch, rotate 45° and repeat up to 315°. Then I switch to the camera and rotate to 0°. I check the presence of the notch, and rotate to it.
This is labeled Hole_xxx_0.
So the Notch at 0° is Notch_XXX_0, but the hole at 0° is Hole_XXX_180
I would like to have something where if the hole is at 180, use Notch_XXX_180 instead of Notch_XXX_0, for each 45° increment of rotation.
That's not exactly what I'm looking for. I already have all of the features created, but I want to be able to choose if I'm using the feature at 0° or the feature at 180°.
There is no "random flipping"; I use onerror statements to check for the presence of a hole, and if it is not there it must be on the other side. It would be the same as if I knew the hole was at 180° so before I measure it I rotate 180°, all the OnError is doing is finding out where the hole is, at 0 or 180, and I measure off of this feature.
The operator comments in my program state to align slots upright. There are 4 slots at two different angles (0 and 180). Meaning the operator could line up the slots at 0 OR the slots at 180. So I level to one or the other; the hole could be on the side up or the side down. I needed to make a program to account for this.
When aligning the slots upright I construct a plane from one. This I level to, and is made Notch_XXX_0
From there I measure the notch, rotate 45° and repeat up to 315°. Then I switch to the camera and rotate to 0°. I check the presence of the notch, and rotate to it.
This is labeled Hole_xxx_0.
So the Notch at 0° is Notch_XXX_0, but the hole at 0° is Hole_XXX_180
I would like to have something where if the hole is at 180, use Notch_XXX_180 instead of Notch_XXX_0, for each 45° increment of rotation.