hexagon logo

Question about the small arc method

Hello all!

Please let me know if I am doing something wrong following the small arc method.

Btw, I am using vector points and auto circles with NO CAD always in DCC mode. Let's also assume that I am measuring in Z plane.

1) I am measuring the small arc with a fixed radius auto circle.
2) I am setting my origin XY to this circle.
3) Just to be sure I am repeating with a new auto circle fixed radius and realign to it.
4) I am taking 3 vector points in polar coordinates to be precise.
5) I am reporting the PR of the points.

This morning I had a 80deg on an arc R2.8mm to measure. I used this method and I was getting repeatable results at 2.80. The issue is that the radius has been measured to be 2.75mm (verified with 2 other methods also).

I also tried to change the fixed rad value based on the R measurement I had performed before with least squares (around 2.75 non repeatable value) and I was getting results close to that value (the least square value).

With this method, does the fixed Radius value provided alter the centre that is being found? Doesn't this beat the purpose of using this method?

Thanks in advance!
  • I can't say that I report the PR of individual points. I do think that having a fixed_rad of alternate size would cause some disruption in PR reporting for individual points.
    Typically I measure with fixed_rad and reduced arc span for initial location, align, repeat fixed_rad with larger (generally full) arc span, align, measure with least_sq(match last arc span) and report R.
    I found this practice does not match perfectly to mold/comp but it is pretty close. (subjective based on tolerancing)
  • If you are using the fixed radius method and then report out the polar radius of the hits after you will get results mirroring your fixed radius value since the origin of the circle is moved from the surface by the radius value input.
  • Small arcs are susceptible to form error just as any other shape. Make sure your vector points are not near a breakedge, chamfer, gate location or injector pin location (if injection molded)...
    --I would suggest taking more hits, just to be sure that form isn't contributing to your delta.
    --If you need to report ONE radius for the feature, it would be beneficial to average all the vector hits with an assignment and a generic feature.

    Assign/PRaverage= (PRHIT1.PR + PRHIT2.PR + PRHIT3.PR)/3

    GEN _AVG_PR generic feature/Polar coords
    theo Angle 0+0/PR you can set to the nominal+0 /Z 0+0 ijk 0+0 or 1+0 in one of the vectors
    act same as above but use PRAVERAGE in the PR
    Report GEN_AVG_PR polar radius and you get one average value of PR from the 3 (or more) hits that you made.
  • My method for measuring small arc is similar, except that I usually use six points. I need to measure the radius of the lining material on brake pads, which range from about 28 degrees to about 44 degrees.
    First step is to construct an alignment at the center of the axle (the center point of the radius), then construct an Origin Point. My example is a radius of 169.0mm, so I create an Auto Vector Point at 0, 169.0, 15.5 with vectors of 0, 1, 0. My arc is 44 degrees on this part, so my starting point is rotated -22 degrees about Z-Axis. I copy the created point and Edit Pattern -22 degrees about Z and Paste 1 time. This is the first point of the six for my radius. I need 44 degrees evenly spaced, so 44/5 = 8.8. This is the rotation for the five additional points needed. Back to Edit Pattern, rotate +8.8 degrees five times, then copy the first point and Paste with Pattern. Now I have six points evenly spaced and the numbers for the last point should match the numbers for the first point, with the "X" and "I" values showing negative. The original Auto Vector Point is deleted.

    The Measurement section:

    RECALL/ALIGNMENT,INTERNAL,AL_HUB
    P169A          =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<63.309,156.694,15.5>,<0.3746066,0.9271839,0>
                    ACTL/<63.308,156.688,15.499>,<0.3746066,0.9271839,0>
                    TARG/<63.309,156.694,15.5>,<0.3746066,0.9271839,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=YES
                      AVOIDANCE MOVE=NO,DISTANCE=8
                    SHOW HITS=NO
    P169B          =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<38.591,164.535,15.5>,<0.2283509,0.9735789,0>
                    ACTL/<38.65,164.798,15.499>,<0.2283509,0.9735789,0>
                    TARG/<38.591,164.535,15.5>,<0.2283509,0.9735789,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=YES
                      AVOIDANCE MOVE=NO,DISTANCE=8
                    SHOW HITS=NO
    P169C          =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<12.966,168.502,15.5>,<0.076719,0.9970528,0>
                    ACTL/<12.965,168.479,15.499>,<0.076719,0.9970528,0>
                    TARG/<12.966,168.502,15.5>,<0.076719,0.9970528,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=YES
                      AVOIDANCE MOVE=NO,DISTANCE=8
                    SHOW HITS=NO
    P169D          =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-12.966,168.502,15.5>,<-0.076719,0.9970528,0>
                    ACTL/<-12.974,168.601,15.499>,<-0.076719,0.9970528,0>
                    TARG/<-12.966,168.502,15.5>,<-0.076719,0.9970528,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=YES
                      AVOIDANCE MOVE=NO,DISTANCE=8
                    SHOW HITS=NO
    P169E          =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-38.591,164.535,15.5>,<-0.2283509,0.9735789,0>
                    ACTL/<-38.577,164.476,15.499>,<-0.2283509,0.9735789,0>
                    TARG/<-38.591,164.535,15.5>,<-0.2283509,0.9735789,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=YES
                      AVOIDANCE MOVE=NO,DISTANCE=8
                    SHOW HITS=NO
    P169F          =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                    THEO/<-63.309,156.694,15.5>,<-0.3746066,0.9271839,0>
                    ACTL/<-63.307,156.684,15.499>,<-0.3746066,0.9271839,0>
                    TARG/<-63.309,156.694,15.5>,<-0.3746066,0.9271839,0>
                    SNAP=NO
                    SHOW FEATURE PARAMETERS=NO
                    SHOW CONTACT PARAMETERS=YES
                      AVOIDANCE MOVE=NO,DISTANCE=8
                    SHOW HITS=NO​


    The Calculation and Results:

    DIM D169A= 2D DISTANCE FROM POINT P169A TO POINT PT_HUB     (CENTER TO CENTER),NO_RADIUS  UNITS=MM,$
      GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=NONE
      AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
      M      169.000      0.500      0.500    168.994     -0.006      0.000 ---------#----------
      DIM D169B= 2D DISTANCE FROM POINT P169B TO POINT PT_HUB     (CENTER TO CENTER),NO_RADIUS  UNITS=MM,$
      GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=NONE
      AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
      M      169.000      0.500      0.500    169.269      0.269      0.000 ---------------#----
      DIM D169C= 2D DISTANCE FROM POINT P169C TO POINT PT_HUB     (CENTER TO CENTER),NO_RADIUS  UNITS=MM,$
      GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=NONE
      AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
      M      169.000      0.500      0.500    168.977     -0.023      0.000 ---------#----------
      DIM D169D= 2D DISTANCE FROM POINT P169D TO POINT PT_HUB     (CENTER TO CENTER),NO_RADIUS  UNITS=MM,$
      GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=NONE
      AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
      M      169.000      0.500      0.500    169.099      0.099      0.000 -----------#--------
      DIM D169E= 2D DISTANCE FROM POINT P169E TO POINT PT_HUB     (CENTER TO CENTER),NO_RADIUS  UNITS=MM,$
      GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=NONE
      AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
      M      169.000      0.500      0.500    168.940     -0.060      0.000 --------#-----------
      DIM D169F= 2D DISTANCE FROM POINT P169F TO POINT PT_HUB     (CENTER TO CENTER),NO_RADIUS  UNITS=MM,$
      GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=NONE
      AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
      M      169.000      0.500      0.500    168.990     -0.010      0.000 ---------#----------
                  ASSIGN/V169=(D169A.MEAS+D169B.MEAS+D169C.MEAS+D169D.MEAS+D169E.MEAS+D169F.MEAS)/6
    R169         =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
                  NOM/XYZ,<0,0,0>,$
                  MEAS/XYZ,<0,0,0>,$
                  NOM/IJK,<0,0,1>,$
                  MEAS/IJK,<0,0,1>,$
                  RADIUS/169,V169
      DIM R_169= LOCATION OF CIRCLE R169  UNITS=MM ,$
      GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH  HALF ANGLE=NO
      AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
      R      169.000      0.500      0.500    169.045      0.045      0.000 ----------#---------
      END OF DIMENSION R_169​
  • If you are using the fixed radius method and then report out the polar radius of the hits after you will get results mirroring your fixed radius value since the origin of the circle is moved from the surface by the radius value input.


    Exactly, so what is the point in using this method in the first place? Am I doing something wrong? I am missing the point somewhere and unfortunately no reply has yet to shed some light on that :S

    Btw: @ ​ This is not the method that is suggested from hexagon though :S Approaching the real center with a fixed rad and then taking a least squares circle is not much different that establishing a good alignment on a good cnc machined part (as in this case) and measuring it directly.

    @ ​ I took enough points to create the fix rad (9 points on such a small arc) and 3 PR points well placed on the arc after that. All of them had 0.05 mm difference from the real value and taking an average isn't really improving the outcome.

    @ ​ not really sure what you mean. Is my method wrong? Should I do something different?

  • - I'm not saying your method is wrong. My method takes the average distance of six radial points from the theoretical center and constructs an arc. PC-DMIS is not good at constructing circle features from less than about 120-150 degrees. This is my work-around.
  • I mean... it must be wrong since I am not getting good results and the correct method is suggested by more experienced users and even hexagon. The thing is... what am I doing wrong? :?
  • Try my method and see what you get. First, create an Alignment offset to the theoretical center of the arc and construct an Origin Point in that alignment. Then follow the steps in my initial comment.
  • Without seeing your code written out, I'm guessing you are still reporting the results of static (fixed radius) features.
    --Or, you've got something else silly going on, like your established calibration sphere diameter is off by 0.1mm or something like that.
  • :

    A5 =ALIGNMENT/START,RECALL:A4,LIST=YES
    ALIGNMENT/LEVEL,XPLUS,PLN_0
    ALIGNMENT/ROTATE,YMINUS,TO,CYL_2_8,ABOUT,XPLUS
    ALIGNMENT/TRANS,YAXIS,CER_7_68
    ALIGNMENT/TRANS,ZAXIS,CER_7_68
    ALIGNMENT/TRANS,XAXIS,PLN_0
    ALIGNMENT/END
    R2_8A =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,FIXED_RAD
    THEO/<-4.96,-3.1825,0>,<0,1,0>,5.6
    ACTL/<-4.965,-3.1825,-0.0043>,<0,1,0>,5.5215
    TARG/<-4.96,-3.1825,0>,<0,1,0>
    START ANG=35,END ANG=-35
    ANGLE VEC=<1,0,0>
    DIRECTION=CW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    A8 =ALIGNMENT/START,RECALL:A5,LIST=YES
    ALIGNMENT/TRANS,XAXIS,R2_8A
    ALIGNMENT/TRANS,ZAXIS,R2_8A
    ALIGNMENT/END
    CER10 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,FIXED_RAD
    THEO/<0,-3.1825,0>,<0,1,0>,5.6
    ACTL/<0.0015,-3.1825,-0.0013>,<0,1,0>,5.5215
    TARG/<0,-3.1825,0>,<0,1,0>
    START ANG=35,END ANG=-35
    ANGLE VEC=<1,0,0>
    DIRECTION=CW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    A6 =ALIGNMENT/START,RECALL:A8,LIST=YES
    ALIGNMENT/TRANS,XAXIS,CER10
    ALIGNMENT/TRANS,ZAXIS,CER10
    ALIGNMENT/END
    PNT1 =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
    THEO/<2.8,200,-3.1825>,<-0.9396926,0,0.3420201>
    ACTL/<2.7627,199.9842,-3.1814>,<-0.9396926,0,0.3420201>
    TARG/<2.8,200,-3.1825>,<-0.9396926,0,0.3420201>
    SNAP=NO
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    PNT2 =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
    THEO/<2.8,180,-3.1825>,<-1,0,0>
    ACTL/<2.7614,180.1517,-3.1805>,<-1,0,0>
    TARG/<2.8,180,-3.1825>,<-1,0,0>
    SNAP=NO
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    PNT3 =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
    THEO/<2.8,160,-3.1825>,<-0.9396926,0,-0.3420202>
    ACTL/<2.7588,159.9775,-3.1817>,<-0.9396926,0,-0.3420202>
    TARG/<2.8,160,-3.1825>,<-0.9396926,0,-0.3420202>
    SNAP=NO
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO


    After that I am reporting the PR of the points. Btw this is for info only (leftover code after 1 week old testing), normally the ACTL/< was around the radius I had previously defined the fixed rad value. Is there anything wrong with the method I followed? ​