hexagon logo

line measurement inconsistancies depending on workpiece orientation

Dear CMM gurus!

You might or might not be aware of a nasty behavior of PC-DMIS when measuring planes. If the actual plane you're measuring has a normal vector that's pointing into a direction more then 90° different from the plane's theoretical normal vector, the measured normal vector flips such that it's pointing into the workpiece instead of out of it. (I should probably add here that we're not using PC-DMIS for inspection purposes per se, but rather for precision adjustments of components, which is why it is very common that our workpieces are located and oriented a lot differently than the corresponding features' theoretical values.)

With lines, however, I have not yet encountered a similar problem----until last week. According to my tests, the following alignment procedure for a cuboid-shaped workpiece will yield consistent results:
  1. measure a plane (theoretical normal vector <0,0,1>, actual normal vector anything as long as its Z component is positive)
  2. level and Z-translate to the plane
  3. measure a line on the workpiece's side (side perpendicular to the plane measured before,workplane = ZPLUS, apart from that no restrictions to how much the side surface's normal vector may differ from the actual one)
  4. rotate XPLUS and Y-translate to the projected line
  5. measure a point on the third side (side perpendicular to the previous two with a consistent approach vector)
  6. X-translate to the projected point
In particular, with this strategy the line's directional vector has consistently been pointing in the correct direction no matter which way the workpiece was oriented. However, I did run into a problem recently under the following circumstances:
  1. start a subroutine
  2. reload an external alignment of which the Z axis and the origin's Z component are to be left unchanged
  3. measure a line under the exact same conditions as above
  4. rotate XPLUS and Y-translate to the projected line
  5. measure a point under the exact same conditions as above
  6. X-translate to the projected point
I would have expected this to behave exactly the same as the scenario listed before, but this is not the case. Here, the line all of a sudden becomes dependent on the orientation of the workpiece. If the actual line vector is pointing into a direction more than 90° different from the theoretical one, the actual line vector flips and is pointing into the opposite (wrong) direction. Furthermore, I noticed that the line and the point used for the alignment become red in the alignment's edit dialog. However, I did confirm that they are getting measured by outputting the measured directional vector through an operator comment----including the directional flipping.

Can you give me an explanation for this weird behavior and the red features in the alignment?

Thanks a lot in advance!

STARTUP =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
ALIGNMENT/END
MODE/MANUAL
PREHIT/1
RETRACT/1
MOVESPEED/ 100
MANRETRACT/1
FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, ,
LOADPROBE/KU_5X50
TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
SUBROUTINE/BS_LISA22_FULL,
=
MODE/MANUAL
RECALL/ALIGNMENT,EXTERNAL,BASE_FINE
AM_LIN =FEAT/LINE,CARTESIAN,UNBOUNDED
THEO/<18,0,3.5>,<-1,0,0>
ACTL/<18,0,3.5>,<-1,0,0>
MEAS/LINE,2,ZPLUS
HIT/BASIC,NORMAL,<18,0,3.5>,<0,-1,0>,<18.032,0,3.494>,USE THEO=YES
HIT/BASIC,NORMAL,<4,0,3.5>,<0,-1,0>,<3.842,0,3.494>,USE THEO=YES
ENDMEAS/
AM_LIN_P =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
THEO/<18,0,0>,<-1,0,0>
ACTL/<18,0,0>,<-1,0,0>
CONSTR/LINE,PROJ,AM_LIN,,14
COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
"AM_LIN: " + AM_LIN.IJK
"AM_LIN_P: " + AM_LIN_P.IJK
AM1 =ALIGNMENT/START,RECALL:BASE_FINE,LIST=YES
ALIGNMENT/ROTATE,XMINUS,TO,AM_LIN_P,ABOUT,ZPLUS
ALIGNMENT/TRANS,YAXIS,AM_LIN_P
ALIGNMENT/END
AM_PNT =FEAT/POINT,CARTESIAN
THEO/<0,1,28>,<-1,0,0>
ACTL/<0,1,28>,<-1,0,0>
MEAS/POINT,1,WORKPLANE
HIT/BASIC,NORMAL,<0,1,28>,<-1,0,0>,<0,1.745,27.279>,USE THEO=YES
ENDMEAS/
AM_PNT_P =FEAT/POINT,CARTESIAN,NO
THEO/<0,1,0>,<0,0,1>
ACTL/<0,1,0>,<0,0,1>
CONSTR/POINT,PROJ,AM_PNT,
AM =ALIGNMENT/START,RECALL:AM1,LIST=YES
ALIGNMENT/TRANS,XAXIS,AM_PNT_P
ALIGNMENT/END
COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
BS: after AM
SAVE/ALIGNMENT,BS_manual.aln,MACHINETOPARTS
...
ENDSUB/
Parents
  • When you are recalling the external alignment, is the origin ever in between the hits of the new line?

    HIT1 ----------------------------------------recalled ORIGIN------------------------------------------Hit2

    if so, that's a very common error. if your workpiece is rotated positively to existing rotation, it will produce correct vector, if your workpiece is rotated negatively to the existing rotation, it will flip your line vector 180 on you.

    Resolve? There's a few:
    -Don't orgin in the middle of the line.
    -Don't take linear hits on both sides of an origin.
    -Construct a plane instead of a line.
    -Physically restrict positioning of sample parts, so the existing origin doesn't encroach inboard of the line hits.
    -Physically sample your initial origin so it's never in the middle of the secondary alignment component.
Reply
  • When you are recalling the external alignment, is the origin ever in between the hits of the new line?

    HIT1 ----------------------------------------recalled ORIGIN------------------------------------------Hit2

    if so, that's a very common error. if your workpiece is rotated positively to existing rotation, it will produce correct vector, if your workpiece is rotated negatively to the existing rotation, it will flip your line vector 180 on you.

    Resolve? There's a few:
    -Don't orgin in the middle of the line.
    -Don't take linear hits on both sides of an origin.
    -Construct a plane instead of a line.
    -Physically restrict positioning of sample parts, so the existing origin doesn't encroach inboard of the line hits.
    -Physically sample your initial origin so it's never in the middle of the secondary alignment component.
Children
No Data