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
  • I understand what a readpoint does, and like I said we use them in our CAD programs.....but I have never made one without CAD...is it possible?
  • Thanks dph51... I will give that a try. We do not have any programs without CAD just yet but I am preparing ahead of time. Like most of you, I prefer to reduce operator error and to cut down on manual alignments all together. Thank you as well Chally72 for your in put.

    CMMGUY13
  • We don't use read points because we have every Tom, Dick and Harry in the shop running programs (over 150 people on 3 shifts). Learn to make the programs idiot proof, you set the part up on the CMM so the set up can be repeated, put good instructions in the program, you take the manual alignment hits then unmark them and anyone with a little knowledge of your parts and PC knowledge can run your CMM programs.

    Sent from my PC36100 using Tapatalk 2
  • I don't use read points, I program everything off line with models. I can't see how to set a readpoint while programming offline. It seems like everyone says you have to have a part on the machine and physically set the point and then program. I usually have my programs done long before I have a part. I have never been to the class that teaches readpoints so maybe it is just my ignorance.
  • I don't use read points, I program everything off line with models. I can't see how to set a readpoint while programming offline. It seems like everyone says you have to have a part on the machine and physically set the point and then program. I usually have my programs done long before I have a part. I have never been to the class that teaches readpoints so maybe it is just my ignorance.


    Moolvie, put your machine in your program.

    LOADMACHINE/GLOBAL_DEA_9-15-8
    


    Then place the part on the machine, decide the probe orientation and the start point that you want. Set your readpoint and go from there.
  • I will give that a try, thanks!
    except my machine. Mitutoyo Bright A710 is not listed.
  • You simply have to enter a readpoint...there is no magic here. I almost never program readpoints online at runtime. For example, if I want to use a readpoint to quickly set the center of a ring to go to DCC, and my CAD model has origin in the center of the ring, then I make a readpoint with nominals at 0,0,0. If I want my readpoint to set a rough origin over a hole, I create a temporary auto circle of that hole, note the XYZ coordinates, and then punch them in as nominals for the readpoint I enter next.
  • OK, So I do have a machine in the list, apparently the A in the A710 is apex. I had purchased the manuals for all three levels of the cmm classes although I've never been to them so I was able to bring in my model, load my machine and position my part on the table, having the coordinate location at the top of the plate centered over a bore.

    I am programming this all offline.
    Now, the next thing I did was make a readpoint over the center of a small tapped hole(MODE is manual)
    Set the XYZ coordinate at the point.
    changed mode to DCC and did an alignment.

    When I tried running the program I expected PC-DMIS to wait for me to move to the readpoint position and take a manual point, it did not. it just took off and wanted to start the DCC alignment.
    I eventually got it to work by putting in an operator comment telling me to move the probe to the readpoint position. Once I did that and pressed OK the program took off and ran properly.

    Is this how readpoints are supposed to work?

    PART NAME  : 05472 OP-10
    REV NUMBER : 110-12 
    SER NUMBER : -
    STATS COUNT : 1
     
    STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                ALIGNMENT/END
                MODE/MANUAL
                PREHIT/0.2
                RETRACT/0.2
                MOVESPEED/ 40
                TOUCHSPEED/ 1
                FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, , 
                LOADPROBE/DOCK1_BASIC
                TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
    $$ NO,
                  
                  
                **************************
                *
                * Author : Doug 
                *
                * Date : 11/7/2013
                *
                **************************
                  
                  
    CS1        =SCRIPT/FILENAME= S:\PC-DMIS PROGRAMS\PC-DMIS BASIC SCRIPTS\TRACEFIELDEX.BAS
                FUNCTION/Main,SHOW=YES,,
                STARTSCRIPT/
    $$ NO,
                ****************************** PART INFORMATION ******************************
                TRACEFIELD/NO_DISPLAY,LIMIT=15 ; Operator : 227
                TRACEFIELD/NO_DISPLAY,LIMIT=15 ; Serialization : 1
                TRACEFIELD/NO_DISPLAY,LIMIT=15 ; Inspector :  205 
                TRACEFIELD/NO_DISPLAY,LIMIT=15 ; Machine no. : 206
    $$ NO,
                ****************************** PART INFORMATION ******************************
                ASSIGN/SRN=1
                ENDSCRIPT/
                LOADMACHINE/APEX
                COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                Move probe to center of front left tapped hole
                with probe diameter even with top of part
    FRONT_LEFT_HOLE=FEAT/POINT,CARTESIAN
                THEO/<-9.25,-1.42,0>,<0,0,1>
                ACTL/<3.0987,-29.2285,-22.5249>,<0,0,1>
                READPOINT/
    A01        =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                ALIGNMENT/TRANS,XAXIS,FRONT_LEFT_HOLE
                ALIGNMENT/TRANS,YAXIS,FRONT_LEFT_HOLE
                ALIGNMENT/TRANS,ZAXIS,FRONT_LEFT_HOLE
                ALIGNMENT/END
                MODE/DCC
                MOVE/INCREMENT,<0,0,1>
    TOP_ALN    =FEAT/PLANE,CARTESIAN,TRIANGLE
                THEO/<9.1632,1.5425,0>,<0,0,1>
                ACTL/<9.1631,1.5427,0.0229>,<0.0007383,-0.0025167,0.9999966>
                MEAS/PLANE,6
                HIT/BASIC,NORMAL,<-0.5716,-0.7215,0>,<0,0,1>,<-0.5715,-0.7214,0.0245>,USE THEO=YES
                HIT/BASIC,NORMAL,<-0.6192,3.7268,0>,<0,0,1>,<-0.6186,3.727,0.0358>,USE THEO=YES
                HIT/BASIC,NORMAL,<4.3144,1.6045,0>,<0,0,1>,<4.3138,1.6048,0.0264>,USE THEO=YES
                HIT/BASIC,NORMAL,<14.4089,1.4992,0>,<0,0,1>,<14.4084,1.4994,0.0185>,USE THEO=YES
                HIT/BASIC,NORMAL,<18.7726,3.9741,0>,<0,0,1>,<18.772,3.9743,0.022>,USE THEO=YES
                HIT/BASIC,NORMAL,<18.6744,-0.828,0>,<0,0,1>,<18.6743,-0.8279,0.0101>,USE THEO=YES
                ENDMEAS/
    A02        =ALIGNMENT/START,RECALL:A01,LIST=YES
                ALIGNMENT/LEVEL,ZPLUS,TOP_ALN
                ALIGNMENT/TRANS,ZAXIS,TOP_ALN
                ALIGNMENT/END
                PREHIT/0.075
                RETRACT/0.075
                MOVE/POINT,NORMAL,<18.5000,0.0000,0.5000>
    FRNT_TAP_RGT_ALN=FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<18.5,0,0>,<0,0,1>,0.4219
                ACTL/<18.5099,-0.0083,0>,<0,0,1>,0.4294
                TARG/<18.5,0,0>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,-0.0000019,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/POINT,NORMAL,<18.5000,0.0000,0.5000>
                MOVE/POINT,NORMAL,<0.0000,0.0000,0.5000>
    FRNT_TAP_LFT_ALN=FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<0,0,0>,<0,0,1>,0.4219
                ACTL/<0.0102,0.0031,0>,<0,0,1>,0.4288
                TARG/<0,0,0>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,-0.0000019,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/POINT,NORMAL,<0.0000,0.0000,0.5000>
    A03        =ALIGNMENT/START,RECALL:A02,LIST=YES
                ALIGNMENT/ROTATE_CIRCLE,XPLUS,TO,FRNT_TAP_LFT_ALN,AND,FRNT_TAP_RGT_ALN,ABOUT,ZPLUS
                ALIGNMENT/END
                PREHIT/0.2
                RETRACT/0.2
                MOVE/POINT,NORMAL,<9.2500,1.4200,0.5000>
    BORE_ALN   =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<9.25,1.42,-0.2825>,<0,0,1>,4.37
                ACTL/<9.2579,1.4237,-0.2825>,<0,0,1>,4.3702
                TARG/<9.25,1.42,-0.2825>,<0,0,1>
                START ANG=4.9227,END ANG=355.0773
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/POINT,NORMAL,<9.2500,1.4200,0.5000>
    A04        =ALIGNMENT/START,RECALL:A03,LIST=YES
                ALIGNMENT/TRANS,XAXIS,BORE_ALN
                ALIGNMENT/TRANS,YAXIS,BORE_ALN
                ALIGNMENT/END
                MOVE/POINT,NORMAL,<0.0000,0.0000,7.0000>
    $$ NO,
                  
                  
                **************************
                *
                * PROBE CHANGE
                *
                **************************
                  
                  
                LOADPROBE/25MM DISK
                TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                PREHIT/0.075
                RETRACT/0.075
    DIA_43700  =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<0,0,-0.2825>,<0,0,1>,4.37,3.1775
                ACTL/<-0.001,-0.0001,-0.2825>,<-0.0001416,0.0002446,1>,4.3701,3.1775
                TARG/<0,0,-0.2825>,<0,0,1>
                START ANG=4,END ANG=356
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/POINT,NORMAL,<0.0000,0.0000,7.0000>
    $$ NO,
                  
                  
                **************************
                *
                * PROBE CHANGE
                *
                **************************
                  
                  
                LOADPROBE/2MM_BARREL
                TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                MOVE/POINT,NORMAL,<-9.2500,-1.4200,0.5000>
    CIR002     =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<-9.25,-1.42,0>,<0,0,1>,0.4219
                ACTL/<-9.2501,-1.4201,0>,<0,0,1>,0.4273
                TARG/<-9.25,-1.42,0>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/POINT,NORMAL,<-9.2500,-1.4200,0.5000>
                MOVE/POINT,NORMAL,<-9.2500,1.4200,0.5000>
    CIR003     =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<-9.25,1.42,0>,<0,0,1>,0.4219
                ACTL/<-9.2493,1.4193,0>,<0,0,1>,0.426
                TARG/<-9.25,1.42,0>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/POINT,NORMAL,<-9.2500,1.4200,0.5000>
                MOVE/POINT,NORMAL,<9.2500,1.4200,0.5000>
    CIR004     =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<9.25,1.42,0>,<0,0,1>,0.4219
                ACTL/<9.2504,1.4191,0>,<0,0,1>,0.4255
                TARG/<9.25,1.42,0>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/POINT,NORMAL,<9.2500,1.4200,0.5000>
                MOVE/POINT,NORMAL,<9.2500,-1.4200,0.5000>
    CIR005     =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<9.25,-1.42,0>,<0,0,1>,0.4219
                ACTL/<9.2497,-1.4202,0>,<0,0,1>,0.4267
                TARG/<9.25,-1.42,0>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                MOVE/POINT,NORMAL,<9.2500,-1.4200,0.5000>
                MOVE/POINT,NORMAL,<0.0000,7.0000,7.0000>
    [ATTACH=CONFIG]8644[/ATTACH]
    
    
  • I believe that it is doing exactly what you want it to do. Your machine is reading the location of your probe as it passes that command. If you were to load your machine with the part, place the probe at your desired location then hit "Execute", it should do exactly what you are asking it to do. The most common practice, in my experience, is to put an operator comment telling where you want your probe to be at the start of the program.
    There are other options if you are trying to make it a fully automated program without any operator interaction (with the exception of setting up the part correctly), but that would be in an entirely different thread.