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
  • Been using the Readpoint method for years, in MeasureMax and PC-DMIS. Less Operator Interaction = Win. Just use consistant fixturing. Usually done over a hole, flush with the top surface, or a corner. It's gotta be in Manual first, then after the readpoint put it in DCC, pick up the hole with a Sample Touch, then set your origins and proceed from there with a temporary DCC Alignment. Works Great!
  • Even faster is to bolt a square down to the CMM table, make an external alignment to the plate and the square corner, and then corner parts in the square. Simply recall the external alignment at the beginning of your program. You can now start your programs DCC from the start. No readpoint for positioning needed. (Unless you inspect round parts with no easy clocking feature.)
  • 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
  • Almost without exception for both MMax and PcDmis we use just one touch on the part for a manual set up. Insert a couple of operator comments with detailed setup and fixturing instructions at the top of your program. Pick a hole or corner of the part that is going to be consistent piece to piece. Our instructions are usually to the effect of "Take a Z point just Y pos of the far, right #40 pilot hole" for the only manual touch on the part. Set X,Y,Z and then go to DCC.

    Between the two softwares we've got about a 1000 programs where this has worked just fine.
  • Read Point alignments are taught in the level 2 course as they are a very good way to easily start the machine in DCC mode. However, if you don't understand 6 degrees of freedom, or fixturing principles, new programmers will have a rough time when the part is not set up the way they programmed it. Manual alignments can give you freedom to set the part any way you need to and at any angle within probing limits and will still work properly. Manual alignments are also taught to help new programmer get used to probing, looking at vectors and editing features without fear of crashing.
  • Yeah, Readpoints work so well for us because we use really consistent fixturing. R&R plates with the FixtureBuilder CAD software really helps with that. So take your readpoint, then proceed with your temporary alignment. I learned this back in MeasureMax so it was easy to transition the technique to PC-DMIS.
  • We use a large Rayco fixture that we run and save the alignement. Then at the beginning of each program we recall that alignment and start in DCC. With the rayco fixture we can create set-ups and place the part in the exact same spot every time. Works like a charm.
  • I've only been programming for about 1 month, Level 1 training only. What is the best alignment option if I always use the same fixture bolted to the CMM? I don't have a CAD model of my part. I check axel shafts so manual align is a cyl & a plane. I don't want to have to do a manual align every time & I not going to level 2 training till later this year.
  • I do too many one off's / prototype work , don't mind doing manual aligments . I still add a DCC aligment after to take out the human eliment.