hexagon logo

Cone/plane intersection issues

Friends,

Wrote a simple program to check an intersection diameter between a conical bore and the top (flat) surface above it, as well as a couple other diameters. No CAD, but a pretty basic affair. As always, I built planes from autopoints and intersected an autocone with the top plane to construct an intersection circle.

When executed offline, everything resolves correctly. Measured values match theoreticals, everything is nice and clean. Online on the actual part, however, I'm receiving results that are clearly incorrect, as it's telling me the cone is off center by huge amounts that I can prove false by checking the part manually. Predictably, the "off-center" (according to PC-DMIS) cone generates a wacky intersection diameter.

Can you spot my error? Code is posted below; I kept the measured values from the last online execution. The autocone and constructed circles are in red text, but I'm posting the whole program because I don't know what may be relevant in my alignments, etc.:

STARTUP =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
ALIGNMENT/END
MODE/MANUAL
MOVESPEED/ 150
FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, ,
COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
PROGRAM TO CHECK 1st FINISH TURN/MILL OP -
INCLUDES OUTSIDE DIAMETER AND 30° ANGLE.
NOMINALS REFLECT .010" STOCK OFF PER SURFACE
FOR SILICON COATING.
LOADPROBE/BRNGFLANGE
TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
TAKE 4 HITS IN CENTER ID AND
1 HIT ON TOP SURFACE.
CIR_MNL =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
THEO/<0,0,-0.3>,<0,0,1>,7.635
ACTL/<11.473,6.2339,-0.3>,<0,0,1>,7.6997
TARG/<0,0,-0.3>,<0,0,1>
START ANG=0,END ANG=360
ANGLE VEC=<1,0,0>
DIRECTION=CCW
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=NO
PNT_MNL =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<0,0,0>,<0,0,1>
ACTL/<14.5219,3.0451,-27.0402>,<0,0,1>
TARG/<0,0,0>,<0,0,1>
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=NO
ALN_MNL =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
ALIGNMENT/TRANS,XAXIS,CIR_MNL
ALIGNMENT/TRANS,YAXIS,CIR_MNL
ALIGNMENT/TRANS,ZAXIS,PNT_MNL
ALIGNMENT/END
MODE/DCC
PREHIT/0.05
RETRACT/0.05
CLEARP/ZPLUS,0.2,ZPLUS,0,OFF
MOVE/CLEARPLANE
PNT1 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<4.5,0,0>,<0,0,1>
ACTL/<4.5,0,-0.0026>,<0,0,1>
TARG/<4.5,0,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=NO
PNT2 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<2.25,3.8971,0>,<0,0,1>
ACTL/<2.25,3.8971,0.0087>,<0,0,1>
TARG/<2.25,3.8971,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=NO
PNT3 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<-2.25,3.8971,0>,<0,0,1>
ACTL/<-2.25,3.8971,0.0061>,<0,0,1>
TARG/<-2.25,3.8971,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=NO
PNT4 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<-4.5,0,0>,<0,0,1>
ACTL/<-4.5,0,0.005>,<0,0,1>
TARG/<-4.5,0,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=NO
PNT5 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<-2.25,-3.8971,0>,<0,0,1>
ACTL/<-2.25,-3.8971,0.0097>,<0,0,1>
TARG/<-2.25,-3.8971,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=NO
PNT6 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<2.25,-3.8971,0>,<0,0,1>
ACTL/<2.25,-3.8971,0.0022>,<0,0,1>
TARG/<2.25,-3.8971,0>,<0,0,1>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=NO
PLN1 =FEAT/PLANE,CARTESIAN,TRIANGLE,NO,LEAST_SQR
THEO/<0,0,0>,<0,0,1>
ACTL/<0,0,0.0049>,<0.0007424,-0.0001907,0.9999997>
CONSTR/PLANE,BFRE,PNT6,PNT5,PNT4,PNT3,PNT2,PNT1,,
OUTLIER_REMOVAL/OFF,3
FILTER/OFF,WAVELENGTH=0
ALN_LVL =ALIGNMENT/START,RECALL:ALN_MNL,LIST=YES
ALIGNMENT/LEVEL,ZPLUS,PLN1
ALIGNMENT/TRANS,ZAXIS,PLN1
ALIGNMENT/END
MOVE/CLEARPLANE
CIR1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,OUT,LEAST_SQR
THEO/<0,0,0>,<0,0,1>,9.16,0
ACTL/<-0.0033,-0.0011,0>,<0,0,1>,9.1589,0
TARG/<0,0,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
ALN_DCC =ALIGNMENT/START,RECALL:ALN_LVL,LIST=YES
ALIGNMENT/TRANS,XAXIS,CIR1
ALIGNMENT/TRANS,YAXIS,CIR1
ALIGNMENT/END
COMMENT/REPT,
4.590 OUTSIDE RADIUS - STOCK OFF FOR SILICON COATING (F6)
DIM LOC1= LOCATION OF CIRCLE CIR1 UNITS=IN ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
R 4.5800 0.0050 0.0050 4.5795 -0.0005 0.0000 ----#----
END OF DIMENSION LOC1
MOVE/CLEARPLANE
CIR2 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
THEO/<0,0,-0.3>,<0,0,1>,7.7
ACTL/<0.0033,0.0008,-0.3>,<0,0,1>,7.699
TARG/<0,0,-0.3>,<0,0,1>
START ANG=0,END ANG=360
ANGLE VEC=<1,0,0>
DIRECTION=CCW
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=NO
COMMENT/REPT,
3.857 *STOCK ON* INSIDE RADIUS - TABS (D7)
DIM LOC2= 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
X 0.0000 0.0050 0.0050 0.0033 0.0033 0.0000 -------#-
Y 0.0000 0.0050 0.0050 0.0008 0.0008 0.0000 -----#---
R 3.8500 0.0050 0.0200 3.8495 -0.0005 0.0000 -------#-
END OF DIMENSION LOC2
MOVE/CLEARPLANE
PNT8 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<3.957,0,-0.2425>,<-0.500011,0,0.8660191>
ACTL/<3.9572,0,-0.2427>,<-0.500011,0,0.8660191>
TARG/<3.957,0,-0.2425>,<-0.500011,0,0.8660191>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=NO
PNT7 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
THEO/<4.277,0,-0.0577>,<-0.500011,0,0.8660191>
ACTL/<4.2782,0,-0.0592>,<-0.500011,0,0.8660191>
TARG/<4.277,0,-0.057>,<-0.500011,0,0.8660191>
SNAP=NO
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=NO
LIN1 =FEAT/LINE,CARTESIAN,UNBOUNDED,NO
THEO/<4.277,0,-0.0577>,<-0.8659927,0,-0.5000567>
ACTL/<4.2782,0,-0.0592>,<-0.8682308,0.0000824,-0.4961606>
CONSTR/LINE,BF,3D,PNT7,PNT8,,
OUTLIER_REMOVAL/OFF,3
FILTER/OFF,WAVELENGTH=0
WORKPLANE/YMINUS
COMMENT/REPT,
30° ANGLE OF SURFACE (G5)
DIM ANGL1= 2D ANGLE TO LINE LIN1 FROM XAXIS ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
A 30.0000 0.5000 0.5000 29.7463 -0.2537 0.0000 --#------
WORKPLANE/ZPLUS
CON1 =FEAT/CONTACT/CONE/DEFAULT,CARTESIAN,IN
THEO/<0,0,0>,<0,0,1>,120,-0.3,8.754
ACTL/<0.0379,-0.0167,0.0002>,<-0.0038977,0.0028524,0.9999883>,120.9457,-0.3355,8.8201
TARG/<0,0,0>,<0,0,1>
START ANG=0,END ANG=360
ANGLE VEC=<1,0,0>
SHOW FEATURE PARAMETERS=NO
SHOW CONTACT PARAMETERS=NO
CIR3 =FEAT/CIRCLE,CARTESIAN,IN,NO
THEO/<0,0,0>,<0,0,1>,8.759
ACTL/<0.0379,-0.0167,0>,<-0.0038977,0.0028524,0.9999883>,8.7475
CONSTR/CIRCLE,INTOF,CON1,PLN1
COMMENT/REPT,
Ø8.754 CALCULATED REFERENCE DIAMETER OF 30° SURFACE AT INTERSECTION
*NOMINAL REFLECTS ALLOWANCE FOR SILICON COATING.*
DIM LOC3= 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
X 0.0000 0.0050 0.0050 0.0379 0.0379 0.0329 -------->
Y 0.0000 0.0050 0.0050 -0.0167 -0.0167 0.0117 <--------
D 8.7590 0.0050 0.0050 8.7475 -0.0115 0.0065 <--------

END OF DIMENSION LOC3
MOVE/CLEARPLANE
MOVE/POINT,NORMAL,<0,6,0.2>​

Parents
  • Hi UKCMM - Yes, I did try to measure as much of the surface as possible - see screenshot of the autocone dialog box below. I played with the depth/ending offset, hit number and levels, and results were all over the place depending on the combination of those parameters. The results I posted above (off center by .0379 in X and .0167 in Y) are the *best* I was able to achieve; it was initially off center by .150 to .200 and, consistent with your observations, those worse results seemed to accompany larger depth/offset values.

    But something is definitely wrong, because I use autocones all the time to measure c'sink diameters with very small surface areas and get consistent, accurate results that are verifiable using an optical comparator or chamfer gauge. The cone/plane intersection method is a staple of my programming arsenal. The only times it fails are when the part is way off and some of the hits fall off the edge. So I can't shake the feeling that there is an error here that is connected to the fact that I manually keyed in all the values instead of having them CAD-driven.

    I worked around the issue by piercing the top plane with several lines taken from the angled surface and constructing a circle from those pierce points, achieving results that I trust. But I really want to find out what went wrong here.

  • Took another look at and seen no problems with the plane hits or the Autocone, as for manually created should not make any difference. Is it possible the cone form is way out and this is throwing the results

    The only small error is with the vectors for the two points used for the line being out by a small margin.
Reply
  • Took another look at and seen no problems with the plane hits or the Autocone, as for manually created should not make any difference. Is it possible the cone form is way out and this is throwing the results

    The only small error is with the vectors for the two points used for the line being out by a small margin.
Children
No Data