hexagon logo

Locator (External Alignment)

This is a process I have used for the past 15+ years. We use an "L" bracket on every CMM which the corner and CMM table are used as an origin then saved as an External Alignment we call "Locator"
Our template program recalls this alignment and the operator can manually measure (tape line) from the "Locator" to the part origin (per setup sheet). This gives the operator the freedom to place the part anywhere on the CMM so long as the orientation is correct. Rarely does the operator have to use the controller (joy stick) and we never ever ever take manual points.

STARTUP =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
ALIGNMENT/END
$$ NO,
RH 8/11/2022 PC-DMIS 2022R1
FORMAT/ ,OPTIONS, ,HEADINGS, , ;MEAS,NOM,DEV,TOL,OUTTOL, ,
LOADPROBE/SM25-2_5X50
TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
RECALL/ALIGNMENT,EXTERNAL,LOCATOR
L1 =LABEL/
C1 =COMMENT/YESNO,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,OVC=NO,
DO YOU WANT TO VIEW SET UP?
IF/C1.INPUT == "NO"
GOTO/START
END_IF/
COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,OVC=NO,
SETUP
WORKPLANE/ZPLUS
START =LABEL/
C6 =COMMENT/INPUT,YES,FULL SCREEN=NO,
'CMM #'
C20 =COMMENT/INPUT,YES,FULL SCREEN=NO,
PART NUMBER
C21 =COMMENT/INPUT,YES,FULL SCREEN=NO,
REVISION
C3 =COMMENT/INPUT,YES,FULL SCREEN=NO,
'Work Order\PO # ?'
C4 =COMMENT/INPUT,YES,FULL SCREEN=NO,
'Clock #?'
C5 =COMMENT/INPUT,YES,FULL SCREEN=NO,
'Serial #'
OPTIONPROBE/MAXFORCE=0.15,LOWFORCE=0.025,UPPERFORCE=0.075,TRIG GERFORCE=0.05,
PROBEACCURACY=0.1,POSACCURACY=0.1,#RETURNDATA=10,
RETURNSPEED=1,SCANPNTDENSITY=20,
SCANACCELERATION=10,SCANOFFSETFORCE=0.12,
PROBINGMODE=DFL,MANFINEPROBING=NO
MOVESPEED/ 50
TOUCHSPEED/ 2
PREHIT/1
RETRACT/1
FLY/ON
DISPLAYPRECISION/5​
C15 =COMMENT/YESNO,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,OVC=NO,
ENTER LOCATOR POSITION?
IF/C15.INPUT == "NO"
GOTO/
END_IF/
C9 =COMMENT/INPUT,NO,FULL SCREEN=NO,
X DISTANCE FROM LOCATOR
C7 =COMMENT/INPUT,NO,FULL SCREEN=NO,
INPUT PART ZERO
Y DISTANCE FROM LOCATOR
C8 =COMMENT/INPUT,NO,FULL SCREEN=NO,
INPUT PART ZERO
Z DISTANCE FROM TABLE

WORKPLANE/ZPLUS
ASSIGN/V7=C9.INPUT
ASSIGN/V8=C7.INPUT
ASSIGN/V9=C8.INPUT
WORKPLANE/ZPLUS
L2 =LABEL/
COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,OVC=NO,
DCC MODE
ASSIGN/V10=1
MODE/DCC
F1 =GENERIC/POINT,INDEPENDENT,CARTESIAN,$
NOM/XYZ,<0*1,0*1,0*1>,$
MEAS/XYZ,<V7,V8,V9>,$
NOM/IJK,<0*1,0*1,V10>,$
MEAS/IJK,<0*1,0*1,V10>

A2 =ALIGNMENT/START,RECALL:LOCATOR,LIST=YES
ALIGNMENT/TRANS,XAXIS,F1
ALIGNMENT/TRANS,YAXIS,F1
ALIGNMENT/TRANS,ZAXIS,F1
ALIGNMENT/END​
  • A readpoint alignment can do the same without having to manually measure from your locator.

    Park it in the right spot, hit enter, and it's going.
  • Seems to be very interesting to avoid homing repeatability problems !
  • I agree. This method is used because the programs can be used on any CMM without a programmer.
  • I've never used this technique before, and it looks interesting; I'll definitely give it a try.
  • This is a process I have used for the past 15+ years. We use an "L" bracket on every CMM which the corner and CMM table are used as an origin then saved as an External Alignment we call "Locator"
    Our template program recalls this alignment and the operator can manually measure (tape line) from the "Locator" to the part origin (per setup sheet). This gives the operator the freedom to place the part anywhere on the CMM so long as the orientation is correct. Rarely does the operator have to use the controller (joy stick) and we never ever ever take manual points.

    STARTUP =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
    ALIGNMENT/END
    $$ NO,
    RH 8/11/2022 PC-DMIS 2022R1
    FORMAT/ ,OPTIONS, ,HEADINGS, , ;MEAS,NOM,DEV,TOL,OUTTOL, ,
    LOADPROBE/SM25-2_5X50
    TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
    RECALL/ALIGNMENT,EXTERNAL,LOCATOR
    L1 =LABEL/
    C1 =COMMENT/YESNO,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,OVC=NO,
    DO YOU WANT TO VIEW SET UP?
    IF/C1.INPUT == "NO"
    GOTO/START
    END_IF/
    COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,OVC=NO,
    SETUP
    WORKPLANE/ZPLUS
    START =LABEL/
    C6 =COMMENT/INPUT,YES,FULL SCREEN=NO,
    'CMM #'
    C20 =COMMENT/INPUT,YES,FULL SCREEN=NO,
    PART NUMBER
    C21 =COMMENT/INPUT,YES,FULL SCREEN=NO,
    REVISION
    C3 =COMMENT/INPUT,YES,FULL SCREEN=NO,
    'Work Order\PO # ?'
    C4 =COMMENT/INPUT,YES,FULL SCREEN=NO,
    'Clock #?'
    C5 =COMMENT/INPUT,YES,FULL SCREEN=NO,
    'Serial #'
    OPTIONPROBE/MAXFORCE=0.15,LOWFORCE=0.025,UPPERFORCE=0.075,TRIG GERFORCE=0.05,
    PROBEACCURACY=0.1,POSACCURACY=0.1,#RETURNDATA=10,
    RETURNSPEED=1,SCANPNTDENSITY=20,
    SCANACCELERATION=10,SCANOFFSETFORCE=0.12,
    PROBINGMODE=DFL,MANFINEPROBING=NO
    MOVESPEED/ 50
    TOUCHSPEED/ 2
    PREHIT/1
    RETRACT/1
    FLY/ON
    DISPLAYPRECISION/5​
    C15 =COMMENT/YESNO,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,OVC=NO,
    ENTER LOCATOR POSITION?
    IF/C15.INPUT == "NO"
    GOTO/
    END_IF/
    C9 =COMMENT/INPUT,NO,FULL SCREEN=NO,
    X DISTANCE FROM LOCATOR
    C7 =COMMENT/INPUT,NO,FULL SCREEN=NO,
    INPUT PART ZERO
    Y DISTANCE FROM LOCATOR
    C8 =COMMENT/INPUT,NO,FULL SCREEN=NO,
    INPUT PART ZERO
    Z DISTANCE FROM TABLE

    WORKPLANE/ZPLUS
    ASSIGN/V7=C9.INPUT
    ASSIGN/V8=C7.INPUT
    ASSIGN/V9=C8.INPUT
    WORKPLANE/ZPLUS
    L2 =LABEL/
    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,OVC=NO,
    DCC MODE
    ASSIGN/V10=1
    MODE/DCC
    F1 =GENERIC/POINT,INDEPENDENT,CARTESIAN,$
    NOM/XYZ,<0*1,0*1,0*1>,$
    MEAS/XYZ,<V7,V8,V9>,$
    NOM/IJK,<0*1,0*1,V10>,$
    MEAS/IJK,<0*1,0*1,V10>

    A2 =ALIGNMENT/START,RECALL:LOCATOR,LIST=YES
    ALIGNMENT/TRANS,XAXIS,F1
    ALIGNMENT/TRANS,YAXIS,F1
    ALIGNMENT/TRANS,ZAXIS,F1
    ALIGNMENT/END​


    I like this program. My plant, QAs run the programs, use caliper to measure the distance, this method will help them take care of the machine.