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?
The problem I am having is not the construction of the hole. The OnError works and works well, the dimensions are fine, alignments are fine. I just want to programmatically choose which feature is getting dimensioned when.
I wish this was easier to explain lol
RandomJerk I like the idea. Can you explain a little more whats going on?
The problem I am having is not the construction of the hole. The OnError works and works well, the dimensions are fine, alignments are fine. I just want to programmatically choose which feature is getting dimensioned when.
I wish this was easier to explain lol
RandomJerk I like the idea. Can you explain a little more whats going on?
The IF() statement is three parts - the statement to evaluate, what to set the variable to if TRUE, what to set the variable to if FALSE. On a 90° hole, the Y value will be positive, if 270 it will be negative. So I check to see if it's positive, if yes, then set the variable V2 to indicate a 90. If it's negative, it's at 270, so the variable is changed. In your case, if it's reading 0°, X should be positive, if it's negative it's at 180°.
Then I remeasure the same feature but assign it the variable name. When you do so, the software will ask if you're referring to an input variable, you answer yes. Fact is, however, I could have just constructed the feature from the previously measured hits
You also change the dimension to the same variable.