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
Parents
  • 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.
Reply
  • 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.
Children
No Data