hexagon logo

Dimensioning with Variables

Hello!
PC-DMIS 2013 MR1, Optiv Perf. 443
-------------------------------------------------

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?
Parents
  • You'll have to measure twice, but something like this? (Note - I was setup to a 90° so I evaluated Y, you could evaluate X, or do some other calculation:

    FIRST_MEASURE=FEAT/CONTACT/CIRCLE/DEFAULT,POLAR,IN,LEAST_SQR
                THEO/<0.05,90,0>,<0,-1,0>,4.4997
                ACTL/<0.05,90,0>,<0,-1,0>,4.4997
                TARG/<0.05,90,0>,<0,-1,0>
                START ANG=5,END ANG=5
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=12,DEPTH=0,PITCH=0
                  SAMPLE METHOD=SAMPLE_HITS
                  SAMPLE HITS=0,SPACER=0.25
                  AVOIDANCE MOVE=NO,DISTANCE=0.375
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
               ASSIGN/V2=IF(FIRST_MEASURE.Y>0,"NOTCH_90_45","NOTCH_270_45")
    V2         =FEAT/CONTACT/CIRCLE/DEFAULT,POLAR,IN,LEAST_SQR
                THEO/<0.05,90,0>,<0,-1,0>,4.4997
                ACTL/<0.05,90,0>,<0,-1,0>,4.4997
                TARG/<0.05,90,0>,<0,-1,0>
                START ANG=5,END ANG=5
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=12,DEPTH=0,PITCH=0
                  SAMPLE METHOD=SAMPLE_HITS
                  SAMPLE HITS=0,SPACER=0.25
                  AVOIDANCE MOVE=NO,DISTANCE=0.375
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
    DIM DIM_1= LOCATION OF CIRCLE V2  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  HALF ANGLE=NO
    AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
    PR      0.0500     0.0020     0.0020     0.0500     0.0000     0.0000 ----#----
    PA     90.0000     0.0004     0.0004    90.0000     0.0000     0.0000 ----#----
    D       4.4997     0.0020     0.0020     4.4997     0.0000     0.0000 ----#----
    END OF DIMENSION DIM_1
Reply
  • You'll have to measure twice, but something like this? (Note - I was setup to a 90° so I evaluated Y, you could evaluate X, or do some other calculation:

    FIRST_MEASURE=FEAT/CONTACT/CIRCLE/DEFAULT,POLAR,IN,LEAST_SQR
                THEO/<0.05,90,0>,<0,-1,0>,4.4997
                ACTL/<0.05,90,0>,<0,-1,0>,4.4997
                TARG/<0.05,90,0>,<0,-1,0>
                START ANG=5,END ANG=5
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=12,DEPTH=0,PITCH=0
                  SAMPLE METHOD=SAMPLE_HITS
                  SAMPLE HITS=0,SPACER=0.25
                  AVOIDANCE MOVE=NO,DISTANCE=0.375
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
               ASSIGN/V2=IF(FIRST_MEASURE.Y>0,"NOTCH_90_45","NOTCH_270_45")
    V2         =FEAT/CONTACT/CIRCLE/DEFAULT,POLAR,IN,LEAST_SQR
                THEO/<0.05,90,0>,<0,-1,0>,4.4997
                ACTL/<0.05,90,0>,<0,-1,0>,4.4997
                TARG/<0.05,90,0>,<0,-1,0>
                START ANG=5,END ANG=5
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=12,DEPTH=0,PITCH=0
                  SAMPLE METHOD=SAMPLE_HITS
                  SAMPLE HITS=0,SPACER=0.25
                  AVOIDANCE MOVE=NO,DISTANCE=0.375
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
    DIM DIM_1= LOCATION OF CIRCLE V2  UNITS=IN ,$
    GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  HALF ANGLE=NO
    AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
    PR      0.0500     0.0020     0.0020     0.0500     0.0000     0.0000 ----#----
    PA     90.0000     0.0004     0.0004    90.0000     0.0000     0.0000 ----#----
    D       4.4997     0.0020     0.0020     4.4997     0.0000     0.0000 ----#----
    END OF DIMENSION DIM_1
Children
No Data