hexagon logo

Runout Experts needed...

I have 2 circles that I scanned. I drew a line between the 2 and that is being used as my Datum. Can runout be measured using a line drawn between to circles? I was told that using cones makes it nearly impossible to get good runout data.
  • pntf6      =feat/contact/vector point/default,cartesian
                theo/<1.1172,0.645,-5.34>,<0,0,1>
                actl/<1.1172,0.645,-5.34>,<0,0,1>
                targ/<1.1172,0.645,-5.34>,<0,0,1>
                snap=no
                show feature parameters=no
                show contact parameters=no
    pln_f      =feat/plane,cartesian,triangle,no,least_sqr
                theo/<0,0,-5.34>,<0,0,1>
                actl/<0,0,-5.34>,<0,0,1>
                constr/plane,bf,pntf1,pntf2,pntf3,pntf4,pntf5,pntf6,,
                outlier_removal/off,3
                filter/off,wavelength=0
    scn1       =feat/set,cartesian
                theo/<0,0,-5.2>,<0,0,1>
                actl/<0,0,-5.2>,<0,0,1>
                constr/set,basic,radg3.hit[1..5],radg6.hit[1..5],,
    cir_g_bot  =feat/circle,cartesian,out,least_sqr,no
                theo/<0,0,-5.2>,<0,0,1>,2.4027
                actl/<0,0,-5.2>,<0,0,1>,2.4027
                constr/circle,bf,2d,scn1,,
                outlier_removal/off,3
                filter/off,upr=0
    pnt_g_bot  =feat/point,cartesian,no
                theo/<0,0,-5.2>,<0,0,1>
                actl/<0,0,-5.2>,<0,0,1>
                constr/point,cast,cir_g_bot
    scn4       =feat/set,cartesian
                theo/<0,0,-4.5>,<0,0,1>
                actl/<0,0,-4.5>,<0,0,1>
                constr/set,basic,radg2.hit[1..5],radg5.hit[1..5],,
    cir_g_ctr  =feat/circle,cartesian,out,least_sqr,no
                theo/<0,0,-4.5>,<0,0,1>,2.4027
                actl/<0,0,-4.5>,<0,0,1>,2.4027
                constr/circle,bf,2d,scn4,,
                outlier_removal/off,3
                filter/off,upr=0
    pnt_g_ctr  =feat/point,cartesian,no
                theo/<0,0,-4.5>,<0,0,1>
                actl/<0,0,-4.5>,<0,0,1>
                constr/point,cast,cir_g_ctr
    scn7       =feat/set,cartesian
                theo/<0,0,-3.8>,<0,0,1>
                actl/<0,0,-3.8>,<0,0,1>
                constr/set,basic,radg1.hit[1..5],radg4.hit[1..5],,
    cir_g_top  =feat/circle,cartesian,out,least_sqr,no
                theo/<0,0,-3.8>,<0,0,1>,2.4027
                actl/<0,0,-3.8>,<0,0,1>,2.4027
                constr/circle,bf,2d,scn7,,
                outlier_removal/off,3
                filter/off,upr=0
    pnt_g_top  =feat/point,cartesian,no
                theo/<0,0,-3.8>,<0,0,1>
                actl/<0,0,-3.8>,<0,0,1>
                constr/point,cast,cir_g_top
    cyl_g      =feat/cylinder,cartesian,out,least_sqr,no
                theo/<0,0,-4.5>,<0,0,1>,2.4027,1.4
                actl/<0,0,-4.5>,<0,0,1>,2.4027,1.4
                constr/cylinder,bf,cir_g_bot,cir_g_ctr,cir_g_top,,
    scn10      =feat/set,cartesian
                theo/<0,0,-1.1>,<0,0,1>
                actl/<0,0,-1.1>,<0,0,1>
                constr/set,basic,radh2.hit[1..5],radh4.hit[1..5],,
    cir_h_bot  =feat/circle,cartesian,out,least_sqr,no
                theo/<0,0,-1.1>,<0,0,1>,2.3781
                actl/<0,0,-1.1>,<0,0,1>,2.3781
                constr/circle,bf,2d,scn10,,
                outlier_removal/off,3
                filter/off,upr=0
    pnt_h_bot  =feat/point,cartesian,no
                theo/<0,0,-1.1>,<0,0,1>
                actl/<0,0,-1.1>,<0,0,1>
                constr/point,cast,cir_h_bot
    scn13      =feat/set,cartesian
                theo/<0,0,-0.875>,<0,0,1>
                actl/<0,0,-0.875>,<0,0,1>
                constr/set,basic,radh1.hit[1..5],radh3.hit[1..5],,
    cir_h_top  =feat/circle,cartesian,out,least_sqr,no
                theo/<0,0,-0.875>,<0,0,1>,2.3781
                actl/<0,0,-0.875>,<0,0,1>,2.3781
                constr/circle,bf,2d,scn13,,
                outlier_removal/off,3
                filter/off,upr=0
    pnt_h_top  =feat/point,cartesian,no
                theo/<0,0,-0.875>,<0,0,1>
                actl/<0,0,-0.875>,<0,0,1>
                constr/point,cast,cir_h_top
    cyl_h      =feat/cylinder,cartesian,out,least_sqr,no
                theo/<0,0,-0.9875>,<0,0,1>,2.3781,0.225
                actl/<0,0,-0.9875>,<0,0,1>,2.3781,0.225
                constr/cylinder,bf,cir_h_bot,cir_h_top,,
                workplane/yminus
    lin_gh     =feat/line,cartesian,unbounded,no
                theo/<0,0,-5.2>,<0,0,1>
                actl/<0,0,-5.2>,<0,0,1>
                constr/line,bf,3d,pnt_g_bot,pnt_g_ctr,pnt_g_top,pnt_h_bot,pnt_h_top,,
                outlier_removal/off,3
                filter/off,wavelength=0
                workplane/zplus
    a4         =alignment/start,recall:startup,list=yes
                  alignment/level,zplus,pln_f
                  alignment/rotate,xplus,to,cyl_3place_cnc,about,zplus
                  alignment/trans,xaxis,lin_gh
                  alignment/trans,yaxis,lin_gh
                  alignment/trans,zaxis,pln_f
                alignment/end
    a5         =alignment/start,recall:startup,list=yes
                  alignment/level,zplus,lin_gh
                  alignment/trans,xaxis,lin_gh
                  alignment/trans,yaxis,lin_gh
                  alignment/trans,zaxis,pln_f
                alignment/end
    

  • My part was approx 1.5feet tall and 3" in dia..had a bunch of runouts that were "G-H" on my print (the blue surfaces).
    Datum -H- was kind of small so I only did two circles on it. But you get the idea.
  • This is pretty much what I've done on several parts and I like it, our in house engineering drawings don't use much GDT so it is up to me to define datums as I see functionally important... and I report the form deviations I want to, but it all saves our ass when assemblies fail and we need to defend our parts. Often the root cause is never really determined but those with the least inspection data are on the hook. Those 2 datum surfaces on a shaft will often be the bearing journals for example and the rest of the shaft can be checked for runout functionally the way it will be restrained by the bearings in service.
  • Sorry for the late response, I was unavailable to respond " family emergency". I will try this and see if I can get this to work...
  • I am just getting back to you   on this one. 

    I was working on some rotor parts. My datum A was the center of the part, a line from one end of the part to the other. (Had to use centers to check the runout as there were chamfers or cones on either side of the rotor). The measurement was a runout callout.