I have a program I am writing with some dimensioning I'd like y'alls opinion on. The attached image shows it pretty clearly. The red arrows are pointing to the actual part edge. I am trying to get the .29 and 4.06 dimension. The issue is the radius surface is very small compared to the size of the radius. How would you go about getting these dimensions?
My idea (and what I have programmed currently) is use polar points. I have a constructed point at the center of the radius then take three hits on the radius then 3D dimension them to the constructed point. I then went and made a generic circle setting the center at nominal and have the actual radius set as the average of the three 3D dimensions. I think that the radius variation will account for any actual difference in location.
CIRLOC.JPG
My idea (and what I have programmed currently) is use polar points. I have a constructed point at the center of the radius then take three hits on the radius then 3D dimension them to the constructed point. I then went and made a generic circle setting the center at nominal and have the actual radius set as the average of the three 3D dimensions. I think that the radius variation will account for any actual difference in location.
CIRLOC.JPG
Code:
CIR1PN1 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN THEO/<-1.3604,1.1071,1.1>,<-0.9998766,-0.0157073,0> ACTL/<-1.3604,1.1071,1.1>,<-0.9998766,-0.0157073,0> TARG/<-1.3604,1.1071,1.1>,<-0.9998766,-0.0157073,0> SNAP=NO SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=YES AVOIDANCE MOVE=NO,DISTANCE=0 SHOW HITS=NO CIR1PNT2 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN THEO/<-1.3703,1.3084,1.1>,<-0.9965655,-0.0828082,0> ACTL/<-1.3703,1.3084,1.1>,<-0.9965655,-0.0828082,0> TARG/<-1.3703,1.3084,1.1>,<-0.9965655,-0.0828082,0> SNAP=NO SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=YES AVOIDANCE MOVE=NO,DISTANCE=0 SHOW HITS=NO CIR1PNT3 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN THEO/<-1.3937,1.5086,1.1>,<-0.9887564,-0.1495353,0> ACTL/<-1.3937,1.5086,1.1>,<-0.9887564,-0.1495353,0> TARG/<-1.3937,1.5086,1.1>,<-0.9887564,-0.1495353,0> SNAP=NO SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=YES AVOIDANCE MOVE=NO,DISTANCE=0 SHOW HITS=NO CIR1_GROUP =GROUP/SHOWALLPARAMS=YES CIR1 =FEAT/CIRCLE,CARTESIAN,IN,LEAST_SQR,NO THEO/<-4.36,1.06,1.1>,<0,0,1>,6 ACTL/<-4.36,1.06,1.1>,<0,0,1>,6 CONSTR/CIRCLE,BFRE,3D,CIR1PN1,CIR1PNT2,CIR1PNT3,, OUTLIER_REMOVAL/OFF,3 FILTER/OFF,UPR=0 CIR1_PNT =FEAT/POINT,CARTESIAN,NO THEO/<-4.36,1.06,1.1>,<0,0,1> ACTL/<-4.36,1.06,1.1>,<0,0,1> CONSTR/POINT,OFFSET,ORIGIN,-4.36,1.06,1.1 DIM C1A= 3D DISTANCE FROM POINT CIR1_PNT TO POINT CIR1PN1,SHORTEST=OFF,NO_RADIUS UNITS=IN,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=NONE AX NOMINAL +TOL -TOL MEAS MAX MIN DEV OUTTOL M 3.0000 0.0300 0.0300 3.0000 3.0000 3.0000 0.0000 0.0000 ----#---- DIM C1B= 3D DISTANCE FROM POINT CIR1_PNT TO POINT CIR1PNT2,SHORTEST=OFF,NO_RADIUS UNITS=IN,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=NONE AX NOMINAL +TOL -TOL MEAS MAX MIN DEV OUTTOL M 3.0000 0.0300 0.0300 3.0000 3.0000 3.0000 0.0000 0.0000 ----#---- DIM C1C= 3D DISTANCE FROM POINT CIR1_PNT TO POINT CIR1PNT3,SHORTEST=OFF,NO_RADIUS UNITS=IN,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=NONE AX NOMINAL +TOL -TOL MEAS MAX MIN DEV OUTTOL M 3.0000 0.0300 0.0300 3.0000 3.0000 3.0000 0.0000 0.0000 ----#---- ENDGROUP/ID=CIR1_GROUP ASSIGN/C1R=(C1A.MEAS+C1B.MEAS+C1C.MEAS)/3 CIR1_GEN =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$ NOM/XYZ,<CIR1.X.THEO,CIR1.Y.THEO,CIR1.X.THEO>,$ MEAS/XYZ,<CIR1.X.ACTL,CIR1.Y.ACTL,CIR1.Z.THEO>,$ NOM/IJK,<CIR1.I.THEO,CIR1.J.THEO,CIR1.K.THEO>,$ MEAS/IJK,<CIR1.I.ACTL,CIR1.J.ACTL,CIR1.K.ACTL>,$ RADIUS/CIR1.D.THEO/2,C1R DIM 80= 2D DISTANCE FROM CIRCLE CIR1_GEN TO POINT ORIGIN PAR TO YAXIS,ADD_RADIUS UNITS=IN,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH AX NOMINAL +TOL -TOL MEAS MAX MIN DEV OUTTOL M 4.0600 0.0300 0.0300 4.0600 4.0600 4.0600 0.0000 0.0000 ----#----
Comment