# NAME

GDX_PMI_TOLERANCE - GDX Tolerance

# GENERAL DESCRIPTION

The GDX PMI Tolerance defines the semantic information for a geometric tolerance.

# DDF SPECIFICATION

    entity 401:0 GDX_PMI_TOLERANCE "GDX Tolerance" {

    struct t_gdx_pmi_tolerance_frames_tolerance_modifiers_limit {

    int
    TYPE;

    double
    VALUE;

    };

    struct t_gdx_pmi_tolerance_frames_tolerance_modifiers_unit_basis_rectangular {

    double
    X;

    double
    Y;

    };

    struct t_gdx_pmi_tolerance_frames_tolerance_modifiers_modifier_with_value {

    int
    MODIFIER;

    double
    VALUE;

    };

    struct t_gdx_pmi_tolerance_frames_tolerance_modifiers {

    short _dtype;

    union {

    int
    MODIFIER;

    struct t_gdx_pmi_tolerance_frames_tolerance_modifiers_modifier_with_value
    MODIFIER_WITH_VALUE;

    double
    UNIT_BASIS_LENGTH;

    double
    UNIT_BASIS_CIRCULAR;

    struct t_gdx_pmi_tolerance_frames_tolerance_modifiers_unit_basis_rectangular
    UNIT_BASIS_RECTANGULAR;

    double
    UNIT_BASIS_SQUARE;

    struct t_gdx_pmi_tolerance_frames_tolerance_modifiers_limit
    LIMIT;

    } u;

    };

    struct t_gdx_pmi_tolerance_frames {

    int
    ZONE;

    double
    VALUE;

    int
    UNIT;

    MDA_COUNT
    NUM_TOLERANCE_MODIFIERS;

    struct t_gdx_pmi_tolerance_frames_tolerance_modifiers
    *TOLERANCE_MODIFIERS;

    MDA_COUNT
    NUM_DATUM_COMPARTMENTS;

    MDA_PTR
    *DATUM_COMPARTMENTS;

    };

    int
    APPLIES_TO;

    int
    TYPE;

    MDA_COUNT
    NUM_FRAMES;

    struct t_gdx_pmi_tolerance_frames
    *FRAMES;

    };

# FIELD DESCRIPTIONS

FRAMES.TOLERANCE_MODIFIERS.LIMIT.TYPE

The tolerance has a modifier of type limit specified by one of the following valid enumerations:

    NONE
    MAXIMUM
    MINIMUM

FRAMES.TOLERANCE_MODIFIERS.LIMIT.VALUE

The tolerance has a modifier with the specified limit value

FRAMES.TOLERANCE_MODIFIERS.UNIT_BASIS_RECTANGULAR.X

The tolerance has a modifer of unit basis with the specified value in the X direction

FRAMES.TOLERANCE_MODIFIERS.UNIT_BASIS_RECTANGULAR.Y

The tolerance has a modifer of unit basis with the specified value in the Y direction

FRAMES.TOLERANCE_MODIFIERS.MODIFIER_WITH_VALUE.MODIFIER

The tolerance has a modifier with a value specified by one of the following valid enumerations:

    NONE
    PROJECTED
    UNEQUALLY_DISPOSED

FRAMES.TOLERANCE_MODIFIERS.MODIFIER_WITH_VALUE.VALUE

The specified value for the tolerance modifier

FRAMES.TOLERANCE_MODIFIERS.MODIFIER

The tolerance has a modifier as specified by one of the following valid enumerations:

NONE
ANY_CROSS_SECTION
COMMON_ZONE
EACH_RADIAL_ELEMENT
FREE_STATE
LEAST_MATERIAL_REQUIREMENT
LINE_ELEMENT
MAJOR_DIAMETER
MAXIMUM_MATERIAL_REQUIREMENT
MINOR_DIAMETER
NOT_CONVEX
PITCH_DIAMETER
RECIPROCITY_REQUIREMENT
SEPARATE_REQUIREMENT
STATISTICAL_TOLERANCE
TANGENT_PLANE
FRAMES.TOLERANCE_MODIFIERS.UNIT_BASIS_LENGTH

The tolerance has a modifier of type unit basis with the specified length value

FRAMES.TOLERANCE_MODIFIERS.UNIT_BASIS_CIRCULAR

The tolerance has a modifier of type unit basis with the specified diameter value

FRAMES.TOLERANCE_MODIFIERS.UNIT_BASIS_SQUARE

The tolerance has a modifier of type unit basis with the specified square dimension value

FRAMES.ZONE

The tolerance has a tolerance zone as specified by one of the following valid enumerations:

UNKNOWN
CYLIDRICAL_OR_CIRCULAR
SPHERICAL
WITHIN_A_CIRCLE
BETWEEN_TWO_CONCENTRIC_CIRCLES
BETWEEN_TWO_EQUIDISTANT_CURVES
WITHIN_A_CYLINDER
BETWEEN_TWO_COAXIAL_CYLINDERS
BETWEEN_TWO_EQUIDISTANT_SURFACES
NON_UNIFORM
FRAMES.VALUE

The tolerance has the specified value

FRAMES.UNIT

The tolerance value has a unit as specified by one of the following valid enumerations:

INCH
FOOT
YARD
MILE
MIL
MILLIMETER
CENTIMETER
METER
KILOMETER
MICRON
DEGREE
RADIAN
POUND
OUNCE
GRAM
MILLIGRAM
KILOGRAM
CELSIUS
FRAMES.NUM_TOLERANCE_MODIFIERS

The tolerance has the specified number of modifiers

FRAMES.NUM_DATUM_COMPARTMENTS

The tolerance has the specified number of datum compartments

FRAMES.DATUM_COMPARTMENTS

The datum compartment references one of the following valid type:form entities:

401:1
401:2
APPLIES_TO

The tolerance applies to one of the following valid enumerations:

NONE
ALL_OVER
ALL_AROUND
BETWEEN
TYPE

The tolerance is a type specified by one of the following valid enumerations:

ANGULARITY
CIRULAR_RUNOUT
ROUNDNESS
COAXIALITY
CONCENTRICITY
CYLINDRICITY
FLATNESS
PARALLELISM
PERPENDICULARITY
POSITION
PROFILE_OF_A_LINE
PROFILE_OF_A_SURFACE
STRAIGHTNESS
SYMMETRY
TOTAL_RUNOUT
NUM_FRAMES

The tolerance has the specified number of frames

FRAMES