hexagon logo

Do away with manual alignments - use Readpoint

Hi Everyone
I am fairly new to PCDMIS being a Mitutoyo programmer for the last 10 years (Booo). The training I had on PCDMIS was reliant on a MANUAL setup before going into DCC mode. By going straight into DCC mode position your probe over its start point. Then you can insert a READ POINT. Then put the XYZ origin on the READ POINT and hey presto your probe has a X0, Y0 and Z0 starting point. You can now do a rough setup by getting the CMM mode to search for your part elements.
This can still then be skipped if not required for further parts. Why go to the lengths of manual probing when the CMM will do it for you?

I am enjoying the new challenge of PCDMIS and can see that it is deep and dark. By using code instead of set routines like the Mitutoyo I realise it can be a lot more flexible. Now if I only knew all the codeing tricks?
Please look out for my questions appearing.

Butch
Parents
  • Here is a snipet of code that is in all our programs. We have a plate that lets us repeat positions very well from one part to the next (similar to leaving a square permanently clamped). This takes care of the manual alignment, and you can do a pair of DCC alignments to get it done. If you comment out the GOTO/ENDOF_FIX_ALIGN before you run, you can set the part anywhere and it will go back to that spot on subsequent runs.

    The Move/point after the Fix_Align is to get the probe in position to rotate safely.

    TIP/T1A90B180, SHANKIJK=0, -1, 0, ANGLE=180
    $$ NO, 
         , 
         ,
         ,-----------------------------------------------------------------
         ,                         FIXTURE ALIGNMENT
         ,-----------------------------------------------------------------
         , 
                [COLOR="#00FFFF"]GOTO/ENDOF_FIX_ALIGN[/COLOR]            
    COMMENT/OPER,NO,Take 4 hits in the 6.64 diameter.
    CIRCLE_1   =FEAT/CONTACT/CIRCLE,CARTESIAN,IN,LEAST_SQR
                THEO/<0,2.685,0>,<0,-1,0>,6.56,232.7062,142.0397
                ACTL/<19.7243,2.685,-24.245>,<0,-1,0>,5.3227,232.7062,502.0397
                TARG/<0,2.685,0>,<0,-1,0>
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW ADVANCED MEASUREMENT OPTIONS=NO
                SHOW_CONTACT_PARAMETERS=NO
                COMMENT/OPER,NO,Take 4 hits on the mating surface
    FACE26     =FEAT/CONTACT/PLANE,CARTESIAN,TRIANGLE
                THEO/<0,0,0.2001>,<0,-1,0>
                ACTL/<17.4015,10.2751,-24.0579>,<-0.0010229,-0.9999961,-0.0026132>
                TARG/<0,0,0.2001>,<0,-1,0>
                ANGLE VEC=<1,0,0>,RADIAL
                SHOW ADVANCED MEASUREMENT OPTIONS=NO
                SHOW_CONTACT_PARAMETERS=NO
                GOTO/ENDOF_FIX_ALIGN
    ENDOF_FIX_ALIGN=LABEL/
    FIX_ALIGN  =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                ALIGNMENT/TRANS,XAXIS,CIRCLE_1
                ALIGNMENT/TRANS,ZAXIS,CIRCLE_1
                ALIGNMENT/LEVEL,YMINUS,FACE26
                ALIGNMENT/TRANS,YAXIS,FACE26
                ALIGNMENT/END
                MOVE/POINT,NORMAL,<6,-2,15>
    $$ NO, 
         , 
         , 
         ,-----------------------------------------------------------------
         ,                      SUBROUTINE INFORMATION
         ,-----------------------------------------------------------------
         , 
    WORK_ORDER =COMMENT/INPUT,NO,'Please input the work order number.'
    BODY       =COMMENT/INPUT,NO,'Please input the body number.'
    MAIN_MENU  =LABEL/
                ENDSCRIPT/
    CS1        =SCRIPT/FILENAME= N:\QA\CMMDATA\ALT\MAIN_MENU_part_num.BAS
                FUNCTION/Main,SHOW=YES,,
                STARTSCRIPT/
                ENDSCRIPT/
    TEMP FILE  =FILE/OPEN,N:\QA\CMMDATA\ALT\TEMP_FILE.TXT,READ
    MAIN_MENU_OPTION=FILE/READ_CHARACTER,TEMP FILE
                FILE/CLOSE,TEMP FILE,KEEP
                SELECT/MAIN_MENU_OPTION
                CASE/INSPECT_PARTS
                GOTO/START
                END_CASE/
                CASE/EXIT_PROGRAM
                GOTO/ENDOF_PROGRAM
                END_CASE/
                DEFAULT_CASE/
                COMMENT/OPER,NO,MAIN_MENU_OPTION+ " is not a valid entry!"
                GOTO/MAIN_MENU
                END_DEFAULTCASE/
                END_SELECT/
    $$ NO,  
         , 
         , 
         ,-----------------------------------------------------------------
         ,           ERROR RECOVERY ROUTINE, UNEXPECTED PROBE HIT
         ,-----------------------------------------------------------------
         , 
    REORIENT   =LABEL/
                COMMENT/OPER,NO,The part is not seated properly.
                               ,Please reorient the part.
                               , 
                               ,If necessary, please reseat the probe.
                GOTO/RESTART
    RECOVER    =LABEL/
                COMMENT/OPER,NO,Error - Probe missed a hit.
                               , 
                               ,Returning to Main Menu . . .
                GOTO/MAIN_MENU
    $$ NO, 
    $$ NO, ***** INPSECTION ROUTINE *****
    $$ NO, 
    START      =LABEL/
                TIP/T1A90B180, SHANKIJK=0, -1, 0, ANGLE=180
                ONERROR/UNEXPECTED_HIT,GOTO REORIENT
                ONERROR/PROBE_MISS,GOTO RECOVER
                MODE/DCC
                CLEARP/YPLUS,-0.5,ZPLUS,0,ON
    RESTART    =LABEL/
    $$ NO, 
         , 
         , 
         ,-----------------------------------------------------------------
         ,                 DCC ALIGNMENT & MEASURED FEATURES
         ,-----------------------------------------------------------------
         , 
                MOVE/CLEARPLANE
                PREHIT/ 0.3
                RETRACT/ 0.3
    664_ORIGIN =FEAT/CONTACT/CIRCLE,CARTESIAN,IN,LEAST_SQR
                THEO/<0,1.8,0>,<0,-1,0>,6.6,240,135
                ACTL/<-0.0002,1.8,-0.0226>,<0,-1,0>,6.6449,240,135
                TARG/<0,1.8,0>,<0,-1,0>
                ANGLE VEC=<1,0,0.0000027>
                DIRECTION=CCW
                SHOW ADVANCED MEASUREMENT OPTIONS=YES
                  REMEASURE=NO
                  SURFACE=THEO_THICKNESS,0
                  MEASURE MODE=NOMINALS
                  RMEAS=NONE,NONE,NONE
                  AUTO WRIST=NO
                  CIRCULAR MOVES=NO
                  CLEARPLANE=YES
                  GRAPHICAL ANALYSIS=NO
                  SCREEN CAPTURE=NO
                  FEATURE LOCATOR=NO,NO,""
                SHOW_CONTACT_PARAMETERS=YES
                  NUMHITS=5,DEPTH=0.04,PITCH=0
                  SAMPLE HITS=0,SPACER=0
                  AVOIDANCE MOVE=NO,DISTANCE=0
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                  SHOWHITS=NO
    ORIGIN_ALIGN=ALIGNMENT/START,RECALL:FIX_ALIGN,LIST=YES
                ALIGNMENT/TRANS,XAXIS,664_ORIGIN
                ALIGNMENT/TRANS,ZAXIS,664_ORIGIN
                ALIGNMENT/END
                MOVE/CLEARPLANE
Reply
  • Here is a snipet of code that is in all our programs. We have a plate that lets us repeat positions very well from one part to the next (similar to leaving a square permanently clamped). This takes care of the manual alignment, and you can do a pair of DCC alignments to get it done. If you comment out the GOTO/ENDOF_FIX_ALIGN before you run, you can set the part anywhere and it will go back to that spot on subsequent runs.

    The Move/point after the Fix_Align is to get the probe in position to rotate safely.

    TIP/T1A90B180, SHANKIJK=0, -1, 0, ANGLE=180
    $$ NO, 
         , 
         ,
         ,-----------------------------------------------------------------
         ,                         FIXTURE ALIGNMENT
         ,-----------------------------------------------------------------
         , 
                [COLOR="#00FFFF"]GOTO/ENDOF_FIX_ALIGN[/COLOR]            
    COMMENT/OPER,NO,Take 4 hits in the 6.64 diameter.
    CIRCLE_1   =FEAT/CONTACT/CIRCLE,CARTESIAN,IN,LEAST_SQR
                THEO/<0,2.685,0>,<0,-1,0>,6.56,232.7062,142.0397
                ACTL/<19.7243,2.685,-24.245>,<0,-1,0>,5.3227,232.7062,502.0397
                TARG/<0,2.685,0>,<0,-1,0>
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW ADVANCED MEASUREMENT OPTIONS=NO
                SHOW_CONTACT_PARAMETERS=NO
                COMMENT/OPER,NO,Take 4 hits on the mating surface
    FACE26     =FEAT/CONTACT/PLANE,CARTESIAN,TRIANGLE
                THEO/<0,0,0.2001>,<0,-1,0>
                ACTL/<17.4015,10.2751,-24.0579>,<-0.0010229,-0.9999961,-0.0026132>
                TARG/<0,0,0.2001>,<0,-1,0>
                ANGLE VEC=<1,0,0>,RADIAL
                SHOW ADVANCED MEASUREMENT OPTIONS=NO
                SHOW_CONTACT_PARAMETERS=NO
                GOTO/ENDOF_FIX_ALIGN
    ENDOF_FIX_ALIGN=LABEL/
    FIX_ALIGN  =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                ALIGNMENT/TRANS,XAXIS,CIRCLE_1
                ALIGNMENT/TRANS,ZAXIS,CIRCLE_1
                ALIGNMENT/LEVEL,YMINUS,FACE26
                ALIGNMENT/TRANS,YAXIS,FACE26
                ALIGNMENT/END
                MOVE/POINT,NORMAL,<6,-2,15>
    $$ NO, 
         , 
         , 
         ,-----------------------------------------------------------------
         ,                      SUBROUTINE INFORMATION
         ,-----------------------------------------------------------------
         , 
    WORK_ORDER =COMMENT/INPUT,NO,'Please input the work order number.'
    BODY       =COMMENT/INPUT,NO,'Please input the body number.'
    MAIN_MENU  =LABEL/
                ENDSCRIPT/
    CS1        =SCRIPT/FILENAME= N:\QA\CMMDATA\ALT\MAIN_MENU_part_num.BAS
                FUNCTION/Main,SHOW=YES,,
                STARTSCRIPT/
                ENDSCRIPT/
    TEMP FILE  =FILE/OPEN,N:\QA\CMMDATA\ALT\TEMP_FILE.TXT,READ
    MAIN_MENU_OPTION=FILE/READ_CHARACTER,TEMP FILE
                FILE/CLOSE,TEMP FILE,KEEP
                SELECT/MAIN_MENU_OPTION
                CASE/INSPECT_PARTS
                GOTO/START
                END_CASE/
                CASE/EXIT_PROGRAM
                GOTO/ENDOF_PROGRAM
                END_CASE/
                DEFAULT_CASE/
                COMMENT/OPER,NO,MAIN_MENU_OPTION+ " is not a valid entry!"
                GOTO/MAIN_MENU
                END_DEFAULTCASE/
                END_SELECT/
    $$ NO,  
         , 
         , 
         ,-----------------------------------------------------------------
         ,           ERROR RECOVERY ROUTINE, UNEXPECTED PROBE HIT
         ,-----------------------------------------------------------------
         , 
    REORIENT   =LABEL/
                COMMENT/OPER,NO,The part is not seated properly.
                               ,Please reorient the part.
                               , 
                               ,If necessary, please reseat the probe.
                GOTO/RESTART
    RECOVER    =LABEL/
                COMMENT/OPER,NO,Error - Probe missed a hit.
                               , 
                               ,Returning to Main Menu . . .
                GOTO/MAIN_MENU
    $$ NO, 
    $$ NO, ***** INPSECTION ROUTINE *****
    $$ NO, 
    START      =LABEL/
                TIP/T1A90B180, SHANKIJK=0, -1, 0, ANGLE=180
                ONERROR/UNEXPECTED_HIT,GOTO REORIENT
                ONERROR/PROBE_MISS,GOTO RECOVER
                MODE/DCC
                CLEARP/YPLUS,-0.5,ZPLUS,0,ON
    RESTART    =LABEL/
    $$ NO, 
         , 
         , 
         ,-----------------------------------------------------------------
         ,                 DCC ALIGNMENT & MEASURED FEATURES
         ,-----------------------------------------------------------------
         , 
                MOVE/CLEARPLANE
                PREHIT/ 0.3
                RETRACT/ 0.3
    664_ORIGIN =FEAT/CONTACT/CIRCLE,CARTESIAN,IN,LEAST_SQR
                THEO/<0,1.8,0>,<0,-1,0>,6.6,240,135
                ACTL/<-0.0002,1.8,-0.0226>,<0,-1,0>,6.6449,240,135
                TARG/<0,1.8,0>,<0,-1,0>
                ANGLE VEC=<1,0,0.0000027>
                DIRECTION=CCW
                SHOW ADVANCED MEASUREMENT OPTIONS=YES
                  REMEASURE=NO
                  SURFACE=THEO_THICKNESS,0
                  MEASURE MODE=NOMINALS
                  RMEAS=NONE,NONE,NONE
                  AUTO WRIST=NO
                  CIRCULAR MOVES=NO
                  CLEARPLANE=YES
                  GRAPHICAL ANALYSIS=NO
                  SCREEN CAPTURE=NO
                  FEATURE LOCATOR=NO,NO,""
                SHOW_CONTACT_PARAMETERS=YES
                  NUMHITS=5,DEPTH=0.04,PITCH=0
                  SAMPLE HITS=0,SPACER=0
                  AVOIDANCE MOVE=NO,DISTANCE=0
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                  SHOWHITS=NO
    ORIGIN_ALIGN=ALIGNMENT/START,RECALL:FIX_ALIGN,LIST=YES
                ALIGNMENT/TRANS,XAXIS,664_ORIGIN
                ALIGNMENT/TRANS,ZAXIS,664_ORIGIN
                ALIGNMENT/END
                MOVE/CLEARPLANE
Children
No Data