hexagon logo

GD&T Question

See attached image. Datums F and G are in line cylinders. The feature control frame says to check total runout of each F and G to an F-G alignment. This call out has always puzzled me. Doesn't total runout require that you check a feature to one other datum? For example, I could check F to G, or vice versa. How would you check the total runout of these datums to themselves?

Geometric Tolerancing in PCDMIS 2022 is relatively new to me, so I could be doing it wrong, but I've noticed that if I try to dimension a feature that is one of the datum's in the control frame, I get an error telling me I can't do it.

This feature is on a large part, so rotating it is not an option. Both the F and G cylinders are being scanned as circles at various depths. Cylinders are then constructed for both F and G.

So my questions are:

• Is this call out correct?
• If it is correct, how can I construct it to report correctly?
• If it's not correct, what's the best method to check this?

Attached Files
  • right or wrong, what you have to do is 3 cylinders, "F", and "G" (for the datums) then a third cylinder that includes both, compare the 'combined' cylinder to the F-G
  • Other way around. Compare F and G separately to the combined F-G cylinder.
  • There is no need to create a "third cylinder" when using Geometric Tolerance commands, that is how it would need to be handled with legacy dimensioning.

    See the code example below, the steps are..
    1. Measure datums F and G as cylinders.
    2. Go to INSERT>DIMENSION>DATUM DEFINITION and define datums F and G - Select the datum F cylinder, type F for the datum name and click create. Repeat for datum G.
    3. Whilst still in the datum definition dialog, click the "common datum" check box. You can now select datum F and datum G from the list and click create.
    4. Go to Insert>Dimension>Total Runout (make sure "use legacy dimensions" is not selected), select your datum F cylinder from the feature list, build the feature control frame by entering the 0.05 tolerance and selecting common datum F-G from the primary datum dropdown and click create. Repeat for the datum G cylinder.

    CYL_F      =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,OUT,LEAST_SQR
                THEO/<0,0,-50>,<0,0,1>,20,20
                ACTL/<0,0,-50>,<0,0,1>,20,20
                TARG/<0,0,-50>,<0,0,1>
                START ANG=0,END ANG=0
                ANGLE VEC=<0,0,1>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=5,NUMLEVELS=3,DEPTH=2,END OFFSET=2,PITCH=0
                  SAMPLE METHOD=SAMPLE_HITS
                  SAMPLE HITS=3,SPACER=0
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=0,DISTANCE AFTER=10,DIRECTION=ALONG FEATURE VECTOR
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
    CYL_G      =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,OUT,LEAST_SQR
                THEO/<0,0,50>,<0,0,1>,20,20
                ACTL/<0,0,50>,<0,0,1>,20,20
                TARG/<0,0,50>,<0,0,1>
                START ANG=0,END ANG=0
                ANGLE VEC=<0,0,1>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=5,NUMLEVELS=3,DEPTH=2,END OFFSET=2,PITCH=0
                  SAMPLE METHOD=SAMPLE_HITS
                  SAMPLE HITS=3,SPACER=0
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=0,DISTANCE AFTER=10,DIRECTION=ALONG FEATURE VECTOR
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO
                DATDEF/F,FEATURES=CYL_F,,
                DATDEF/G,FEATURES=CYL_G,,
                DATDEF/F-G,FEATURES=CYL_F,CYL_G,,
    FCFRNOUT1  =GEOMETRIC_TOLERANCE/STANDARD=ASME Y14.5,SHOWEXPANDED=YES,
                DESCRIPTION=OFF,,
                FEATURE_MATH=DEFAULT,DATUM_MATH=DEFAULT,
                UNITS=MM,OUTPUT=BOTH,ARROWDENSITY=100,
                SIZE/NOMINAL=20,UPPER TOLERANCE=0.01,LOWER TOLERANCE=0.01,
                REPORT_LOCAL_SIZE=OFF,
                  CYL_F:
                    UAME SIZE:20.000,
                SEGMENT_1,TOTAL_RUNOUT,0.05,F-G,<dat>,
                TEXT=OFF,CADGRAPH=OFF,REPORTGRAPH=OFF,MULT=10,
                  MEASURED:
                    CYL_F:0.000,
                DATUMS/REPORTDATUMSIZE=OFF,
                  F(CYL_F):NOM=20,+Tol=0.01,-Tol=0.01,
                  G(CYL_G):NOM=20,+Tol=0.01,-Tol=0.01,
                FEATURES/CYL_F,,
    FCFRNOUT2  =GEOMETRIC_TOLERANCE/STANDARD=ASME Y14.5,SHOWEXPANDED=YES,
                DESCRIPTION=OFF,,
                FEATURE_MATH=DEFAULT,DATUM_MATH=DEFAULT,
                UNITS=MM,OUTPUT=BOTH,ARROWDENSITY=100,
                SIZE/NOMINAL=20,UPPER TOLERANCE=0.01,LOWER TOLERANCE=0.01,
                REPORT_LOCAL_SIZE=OFF,
                  CYL_G:
                    UAME SIZE:20.000,
                SEGMENT_1,TOTAL_RUNOUT,0.05,F-G,<dat>,
                TEXT=OFF,CADGRAPH=OFF,REPORTGRAPH=OFF,MULT=10,
                  MEASURED:
                    CYL_G:0.000,
                DATUMS/REPORTDATUMSIZE=OFF,
                  F(CYL_F):NOM=20,+Tol=0.01,-Tol=0.01,
                  G(CYL_G):NOM=20,+Tol=0.01,-Tol=0.01,
                FEATURES/CYL_G,,​
    



    As for whether dimensioning the cylinders in this way is correct - that would be a discussion to have with the designer. It is certainly valid under either ASME or ISO and it will give much better results than dimensioning F to G or G to F - which may be what the designer intended.
  • I appreciate everyone's response. I'm going to go with Neil's/Mathew. It makes sense.
  • If I level F as the "primary" and then check G runout to F, if F is crooked, when it projects over to where G is, the centerline of the actual F will be no where near the centerline of G.
    Same going the other way. Even though the X and Y at the mouth of both F and G holes might be identical, the axis being crooked, projected way over to the other hole will give a really awful runout.

    If I am putting something in F and using your part as a connector that then holds G, that's what I'd want. Rod in-line to F, your part connecting in-line to G, and the rod in G being straight out the other end.



    If I have a solid part with a clevis sticking up, and pins in the ears of that clevis... Your part sits in the clevis and the pins insert from the two sides.
    Then, What I care about, is that when I put the two pins in, neither side is so crooked that it binds.

    So, cylinder F-G thought of as a single thing, and check the runout of each half to that compound feature.

    If either side runs out (I personally don't like runout, but that's me) too much, it will bind, wear excessively or restrict motion and not function.



    Neil's solution is built in to PcDmis and more elegant.
    Contructing a cylinder from the points measured in F and G individually, then checking is bulkier.
    They should net the same answer.

    I tend to do the second way, constructing, because I'm old, PcDmis didn't used to have the thing to do that build in, and I don't remember the 1 time every two years I have to program something for this, that's 100% on me. I'd like to remember to do it as Neil said.
  • I was not at work when I posted my original question. I had an opportunity to try Neil's suggestion, but I still ended up with an error in creating the dimension. See attached please. Interestingly, I constructed the alignment in legacy as well. How can the total runout of F an G be over 0.25 if those same cylinders are used to construct the F-G cylinder?

    Would it matter if these cylinders were scanned as cylinders, versus being constructed out of scanned circles? I wouldn't think so, but I have to ask.

    Attached Files
  • The error message is telling you that the cylinders need to be co-axial. Check that the Y & Z co-ordinates and the ,I,J & K vectors of your F and G cylinders are the same. If F & G aren't in line (different Y & Z co-ordinates) or are skewed (different vectors) that could easily account for the 0.25 error. Don't forget that total run-out also includes form so it might be worth outputting the cylindricity of F & G as well to help you fully understand what is going on.
  • Neil, I looked into this further. Curiously, cylindricity on F is 0.004, but G is 0.283. Roundness on the three G scans are less than 0.003mm, and the location on each of the three are within 0.002mm to each other. What is causing the cylindricity to be so poor?
    .
  • No idea. Can you share the program - you can use this link to upload it: https://sendit.hexagon.com/filedrop/~ftOSSt