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:
- measure a plane (theoretical normal vector <0,0,1>, actual normal vector anything as long as its Z component is positive)
- level and Z-translate to the plane
- 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)
- rotate XPLUS and Y-translate to the projected line
- measure a point on the third side (side perpendicular to the previous two with a consistent approach vector)
- X-translate to the projected point
- start a subroutine
- reload an external alignment of which the Z axis and the origin's Z component are to be left unchanged
- measure a line under the exact same conditions as above
- rotate XPLUS and Y-translate to the projected line
- measure a point under the exact same conditions as above
- X-translate to the projected point
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/