We simply use this program for a quick circularity check on round parts. it Asks how many 'circles' to check and then loops through asking if each circle is outside,if it is then it prompts for a diameter, calculates the number of hits and then you measure the circle. if it isn't outside it jumps to the inside circle section and prompts for a diameter, calculates the hits and the you measure that circle. This is used on our romer arm but could be used on a bridge CMM with some modification.
PART NAME : Circularity REV NUMBER : SER NUMBER : STATS COUNT : 1 STARTUP =ALIGNMENT/START,RECALL:,LIST=YES ALIGNMENT/END MODE/MANUAL PREHIT/0.05 RETRACT/0.05 MOVESPEED/ 40 TOUCHSPEED/ 1 FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, , LOADPROBE/6MM_BALL_505L_6D TIP/TIP1, SHANKIJK=0, 0, 1, ANGLE=0 $$ NO, ,************************** ,* ,* AUTHOR: Moolvie ,* ,* DATE: 12/5/2011 ,* ,************************** , C2 =COMMENT/INPUT,NO,FULL SCREEN=NO,'Enter the number of Circles to check for Roundness' ASSIGN/V5=C2.INPUT $$ NO, , , , PLN1 =FEAT/PLANE,CARTESIAN,OUTLINE THEO/<0,0,0>,<0,0,1> ACTL/<6.2372,-31.9252,2.1161>,<0.0028862,0.0019883,0.9999939> MEAS/PLANE,4 HIT/BASIC,NORMAL,<1,0,0>,<0,0,1>,<5.3872,-23.7386,2.1024>,USE THEO=YES HIT/BASIC,NORMAL,<0,1,0>,<0,0,1>,<-2.0388,-31.7319,2.1395>,USE THEO=YES HIT/BASIC,NORMAL,<-1,0,0>,<0,0,1>,<6.8631,-40.1469,2.1307>,USE THEO=YES HIT/BASIC,NORMAL,<0,-1,0>,<0,0,1>,<14.7372,-32.0833,2.0918>,USE THEO=YES ENDMEAS/ A1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES ALIGNMENT/LEVEL,ZPLUS,PLN1 ALIGNMENT/TRANS,ZAXIS,PLN1 ALIGNMENT/END CIR1 =FEAT/CIRCLE,CARTESIAN,IN,LEAST_SQR THEO/<0,0,0>,<0,0,1>,10 ACTL/<6.346,-31.8854,-0.7261>,<0,0,1>,15.7551 MEAS/CIRCLE,4,ZPLUS HIT/BASIC,NORMAL,<4.7638,0,0>,<-1,-0.0000057,0>,<6.1628,-24.0102,-0.6472>,USE THEO=YES MOVE/CIRCULAR HIT/BASIC,NORMAL,<0,4.7638,0>,<0.0000057,-1,0>,<-1.5293,-31.6879,-0.5125>,USE THEO=YES MOVE/CIRCULAR HIT/BASIC,NORMAL,<-4.7638,0,0>,<1,0.0000057,0>,<7.3283,-39.7013,-0.5626>,USE THEO=YES MOVE/CIRCULAR HIT/BASIC,NORMAL,<0,-4.7638,0>,<-0.0000057,1,0>,<14.223,-31.7809,-1.1819>,USE THEO=YES ENDMEAS/ A2 =ALIGNMENT/START,RECALL:A1,LIST=YES ALIGNMENT/TRANS,XAXIS,CIR1 ALIGNMENT/TRANS,YAXIS,CIR1 ALIGNMENT/END $$ NO, , WHILE/V5<>0 C3 =COMMENT/YESNO,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,Is this an outside Circle? $$ NO, , , IF_GOTO/C3.INPUT=="NO",GOTO = INSIDE $$ NO, , , C1 =COMMENT/INPUT,NO,FULL SCREEN=NO,'Enter Diameter for Current Circle' ASSIGN/V1=C1.INPUT $$ NO, , , ASSIGN/PI=[COLOR="#FF0000"]ACOS(-1)[/COLOR] ASSIGN/V3=V1*PI ASSIGN/V4=V3/[COLOR="#008000"]2.[/COLOR] $$ NO, , [COLOR="#008000"]the '2.' number just seemed like a good chord length so I could increase or decrease hits to the given diameter.[/COLOR] , ASSIGN/V2=INT(V4) CIR2 =FEAT/CONTACT/CIRCLE,CARTESIAN,OUT,LEAST_SQR THEO/<0,0,0>,<0,0,1>,V1,0 ACTL/<-0.0001,-0.0002,0>,<0.0000199,0.0000363,1>,15.2827,0 TARG/<0,0,0>,<0,0,1> START ANG=0,END ANG=360 ANGLE VEC=<1,0.0000057,0> DIRECTION=CCW SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=NO DIM LOC1= LOCATION OF CIRCLE CIR2 UNITS=IN ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL +TOL -TOL MEAS DEV OUTTOL D V1 0.0020 0.0020 15.2827 -2.4723 2.4703 <-------- END OF DIMENSION LOC1 FCFCIRTY1 =CIRCULARITY OF CIR2 FEATCTRLFRAME/SHOWPARAMS=YES,SHOWEXPANDED=YES CADGRAPH=OFF,REPORTGRAPH=OFF,TEXT=OFF,MULT=10.00,ARROWDENSITY=100,OUTPUT=BOTH,UNITS=IN DIMENSION/CIRCULARITY,0.005 NOTE/FCFCIRTY1 FEATURES/CIR2,, GOTO/L_END $$ NO, , , INSIDE =LABEL/ $$ NO, , , C4 =COMMENT/INPUT,NO,FULL SCREEN=NO,'Enter Diameter for Current Circle' ASSIGN/V6=C4.INPUT $$ NO, , , ASSIGN/PI=[COLOR="#FF0000"]ACOS(-1)[/COLOR] ASSIGN/V3=V6*PI ASSIGN/V4=V3/2. ASSIGN/V2=INT(V4) CIR3 =FEAT/CONTACT/CIRCLE,CARTESIAN,IN,LEAST_SQR THEO/<0,0,0>,<0,0,1>,V6 ACTL/<0.0001,-0.0003,0>,<0,0,1>,15.7547 TARG/<0,0,0>,<0,0,1> START ANG=0,END ANG=360 ANGLE VEC=<1,0.0000057,0> DIRECTION=CCW SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=NO DIM LOC1= LOCATION OF CIRCLE CIR3 UNITS=IN ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL +TOL -TOL MEAS DEV OUTTOL D V6 0.0020 0.0020 15.7547 -2.0003 1.9983 <-------- END OF DIMENSION LOC1 FCFCIRTY1 =CIRCULARITY OF CIR3 FEATCTRLFRAME/SHOWPARAMS=YES,SHOWEXPANDED=YES CADGRAPH=OFF,REPORTGRAPH=OFF,TEXT=OFF,MULT=10.00,ARROWDENSITY=100,OUTPUT=BOTH,UNITS=IN DIMENSION/CIRCULARITY,0.005 NOTE/FCFCIRTY1 FEATURES/CIR3,, $$ NO, , , L_END =LABEL/ ASSIGN/V5=V5-1 END_WHILE/