- 1 -

Recommended practice extensions for 

GD&T in STEP-AP210 in the context of 

electronic connectors

Jamie Stori

SFM Technology, Inc. 

Urbana, Illinois 

Kevin Brady 

National Institute of Standards and Technology

Information Technology Laboratory

NISTIR 7716
- 2 - 

NISTIR 7716

Recommended practice extensions for 

GD&T in STEP-AP210 in the context of 

electronic connectors

Jamie Stori

SFM Technology, Inc. 

Urbana, Illinois 

Kevin Brady 

National Institute of Standards and Technology

Information Technology Laboratory

U.S. Department of Commerce

John Bryson, Secretary

National Institute of Standards and Technology

Patrick D. Gallagher, 

Under Secretary of Commerce for Standards and Technology

August 16, 2010
- 3 -

Recommended practice extensions for GD&T in STEP-AP210 

in the context of electronic connectors

Introduction

The purpose of this document is to extend the recommended practices for the 

representation of GD&T in STEP AP 210 (ISO-10303:210) in the context of packaged 

electronic connectors. Geometric dimensioning and tolerancing (GD&T) is critical to the 

design, manufacture, and assembly of electronic products. STEP AP 210 is unique in its 

ability to represent detailed usage views of electronic components spanning both the 

mechanical (MCAD) and electrical (ECAD) design domains. Within the STEP standards 

(ISO-10303), prior attention has been focused on the representation and presentation of 

GD&T in the context of three-dimensional (3D) boundary-representation (B-REP) 

models. In this context, GD&T annotations are typically associated with faces in the 3D 

model.

Vendors of electro-mechanical components such as connectors typically provide detailed 

specifications of the mechanical properties of their components, and often will include a 

recommended PCB layout for the component. Both the mechanical specification and the 

PCB layout recommendation will often include GD&T annotations. This is particularly 

relevant in the context of mounting and mating features, such as mounting and alignment 

holes and features such as bosses, slots, and studs. Typically, the GD&T annotations are 

provided as a technical drawing, most often in .pdf format.

An AP210 model of an electronic component such as a connector will ideally contain 

both a detailed three-dimensional geometric representation, suitable for use in mechanical 

design, as well as a detailed two-dimensional footprint definition that supports the 

application of the component in PCB layout and PCA assembly. Existing 

implementations have validated the ability of AP210 to represent the detailed two and 

three-dimensional geometric models and product structure of a connector. A prior 

recommended practice document1, explored the population of GD&T annotations on a 

3D geometric representation of a packaged electronic component represented in AP210. 

This document extends that prior work in the context of connectors by proposing a 

recommended practice for the representation of critical GD&T annotations within the 

footprint definition of a component, and updating the recommended representation of 

certain associations and relationships. The concepts discussed will support the GD&T 

representation requirements of a typical connector with a combination of both mounting 

features and through-hole terminals. Where relevant, elements of the prior recommended 

practice have been included in the current document. Many of the supporting details have 

not been repeated, however, and the prior document should be referenced as applicable. 

 

1

Stori, J., Brady, K., and Thurman, T, 2009 “Extensions to the recommended practices for GD&T in 

STEP-AP210 in the context of packaged electronic components,” NISTIR 7634, 

http://www.nist.gov/customcf/get_pdf.cfm?pub_id=903904
- 4 -

Figure 1. Three mechanisms for associating geometry with a Shape_element

Shape_description_association represented_characteristic representation Shape_element

Geometric_model Shape_element

Geometric_item_specific_usage definition Geometric_model used_model

Detailed_geometric_model_element identitied_item items [i]

Shape_element Geometric_item_specific_usage definition Detailed_geometric_model_element identitied_item Chain_based_geometric_item_specific_usage Geometric_model nodes L[2:?]

chained_geometric_model_link undirected_link L[1:?]

Geometric_placement_operation Geometric_coordinate_space Geometric_model_relationship
- 5 -

Notation

ARM AOs will be denoted with a leading uppercase letter in Courier font (i.e. Datum) 

while a MIM entity will be displayed in all lowercase notation (i.e. datum).

Figure 2. Three mechanisms for associating geometry with a Shape_element - MIM

chain_based_item_identified_representation_usage

representation nodes L[2:?] mapped_item chained_representation_link undirected_link L[1:?] representation_context representation_relationship

definition identitied_item

geometric_item_specific_usage shape_aspect

geometric_representation_item

item_identified_representation_usage

chain_based_geometric_item_specific_usage

definition

identitied_item geometric_item_specific_usage shape_aspect shape_representation used_representation

geometric_representation_item

item_identified_representation_usage items [i]

shape_aspect shape_definition_representation

shape_representation definition used_representation
- 6 -

Shape_element

Shape_element is the ARM concept that enables a portion of a shape to be identified or 

called out for some particular purpose in model representation. Subtypes of 

Shape_element are used heavily in the package model representation, and are also the 

critical link between GD&T annotations, and the geometric model. Specific subtypes and 

their use will be discussed in further detail as relevant sections. There are several 

mechanisms for associated geometric the elements that compose a Shape_element, as 

illustrated in Figure 1, above. If there is an explicit Geometric_model that represents 

the Shape_element, a Shape_description_association may be employed. If the 

Shape_element is defined by a subset of a Geometric_model, either the 

Geometric_item_specific_usage or its subtype

Chain_based_geometric_item_specific_usage may be used. Each of these 

creates a defining association between the Shape_element and a single 

Detailed_geometric_model_element. As will be discussed below, in the case of 

three-dimensional geometric models, the model element will often be a face of a 

boundary representation. In the case of a two-dimensional footprint definition, the model 

element may often be a templated shape. Often, multiple instances of the

Figure 3. The top-level structure of a package model.

Package

Package_body containing_shape

(OPT) mounting_technology mounting_technology_type (OPT) max Length_data_element imum_seating_plane_installation_offset Length_data_element (OPT) nominal_mounting_lead_pitch (OPT) nom Length_data_element inal_mounting_lead_span (OPT) maximum_body_height_above_seating_plane Length_data_element

(INV) body [0:1]

Physical_unit_sh ape_model shape_environment application_environment shape_extent shape_extent shape_approximation_level shape_approximation_level

....... Package_terminal Part_mounting_feature

(INV) package_accesses [0:?]

Physical_unit_ shape_model

containing_shape

Physical_unit_kee pout_shape_model .......

Seating_plane containing_shape

....... (OPT) reference_package Footprint_definition

Part_version

Part

defined_version

of_product containing_shape

Part_usage_view

shape_characterized_definition

Part_mounting_feature containing_shape

Part_feature
- 7 -

Geometric_item_specific_usage will be employed to enumerate the individual 

model elements that collectively define the Shape_element.

The “chain-based” subtype of Geometric_item_specific_usage recently incorporated into 

the standard to address a long-standing need to call out a specific instanced item within a 

representation. For example, in a typical mechanical assembly, there are often multiple 

Figure 4. Defining a shape_aspect based on a surface of a terminal in a package model.

package_terminal package of_shape

package_terminal_t emplate_definition product_definition _shape

definition

shape_definition_representation definition

used_representation

usage_concept_usage_ relationship

definition

used_representation

mapped_representation

representation_map

Axis2_placement _3d mapping_source

mapping_target

packaged_part packaged_part_terminal

relating_product_definition related_product_definition property_definition _relationship {.name = ‘definition’} property_definition definition

property_definition definition

product_definition_relationship related_product_definition relating_product_definition .name = ‘used package’ {.description = ‘join terminal’} shape_aspect_relationship relating_shape_aspect related_shape_aspect {.name = ‘terminal of package’}

of_shape

shape_definition _representation definition

shape_representation used_representation

description_attribute described_item {.attribute_value = 'part feature template shape model’}

axis2_placement_3d mapping_origin

{.name = ‘3d bound volume shape’}

shape_aspect

definition

nodes [2] identified_item

nodes [1]

advanced_brep_shape_ representation

manifold_solid_brep items [1:?]

closed_shell outer

advanced_face cfs_faces [1:?]

chain_based_geometric_item _specific_usage

undirected_link [1]

{.name = ‘3d bound volume shape’}
- 8 -

instances of the same part. The part may be represented with a single geometric model 

(i.e. a B-Rep model). The “chain-based” referencing mechanism, enables the 

identification of a specific face on the part model within a specific instance of the part in 

the assembly. Specific examples of this identification mechanism will be provided below 

in the context of both the package and the footprint. Figure 2 provides the MIM mapping 

of the Shape_element concepts of Figure 1. 

Package Model

The key structure of a typical AP210 package model is summarized in Figure 3. Of 

particular relevance in the context of GD&T are the common subtypes of 

Part_feature critical to a package model representation – body, terminal, and 

mounting / mating features. Also of note is the Seating_plane, a 

Non_feature_shape_element. All of the preceding are types of Shape_element, 

and their geometric representation can vary significantly. For example, a 

Package_terminal may be a collection of faces called out from a B-Rep model of the 

entire package, or the package terminal may have its own defining geometric model 

associated with the template definition of the package terminal. Figure 4 illustrates such a 

case, in which an advanced_brep_shape_representation defines the shape of the 

package_terminal_template_definition. A specific package_terminal (a 

single terminal) is placed with respect to the shape model of the package using a 

usage_concept_usage_relationship. A shape_aspect is defined (in red) which 

is associated with a single face of this specific package terminal, despite the fact that the 

shape_representation of the terminal template is shared among many different 

terminals. The chain_based_geometric_item_specific_usage enables this 

identification to be made by qualifying the face in the template definition through the 

specific terminal placement of the usage_concept_usage_relationship. If it were 

desired to call out the entire geometric model of the template definition as a new 

shape_aspect, a direct relationship could be established with a 

shape_definition_representation. Alternatively, if it was necessary to call out a 

specific face of the terminal template definition as a shape_aspect that would apply to 

all uses of the template in the package (i.e. any and all package terminals that used the 

template), a geometric_item_specific_usage could be used.

Footprint_definition

A “footprint” in the context of PCB design and layout is the collections of features 

needed to support assembly and connectivity for a particular component. Footprint 

features include the copper pads or lands on the mounting surface of for surface mount 

terminals, mounting tabs, ground connections, and heat sinks, specification of compatible 

soldermask and solderpaste regions, and drill and via locations and sizes for through-hole 

features such as terminals, alignment studs, mounting bolts, etc. 

In AP210, the definition of a footprint is represented with the ARM application object 

Footprint_definition. A footprint definition is a template that can be instanced 

when an individual component is placed into a design. Figure 5 outlines the most 

common ARM AOs and relationships composing the typical structure of a footprint 

definition. While a footprint definition can exist completely independently of a package 
- 9 -

model, AP210 provides important mechanisms for explicitly linking the features of the 

Figure 5. A Footprint_definition is a structured template that is composed of lowerlevel template elements, including Padstack_definition.

Footprint_definition

assembly template Template_location_in _structured_template_ transform

reference_location

Axis2_placement_2d transform Footprint_definition_s hape_model

assembly_shape template_shape shape_characterized_definition [1:1]

Part_feature

Part_feature_ba sed_template_loc ation

reference_feature Part_mounting_feature

Package (OPT) reference_package

Padstack_definition Template_location _in_structured_tem plate assembly

Geometric_template template

Template_location_in _structured_template_ transform

reference_location

Axis2_placement_2d transform

Land_physical_tem plate Stratum_feature_te mplate

Material_removal_f eature_template

Structured_template_ planar_shape_model

Part_template_planar _shape_model

assembly_shape template_shape

shape_characterized_definition [1:1]

shape_characterized_definition [1:1]

(INV) transform [0:?] Inter_stratum_featu re_template

Part_mating_feature Package_terminal
- 10 -

footprint with those of the package. The 

Figure 6. Alternate means of associating a shape_aspect with a csg_solid_2d in a 

geometric_template.

inter_stratum_feature _template

single_boundary _csg_2d_shape_ representation

shape_defintion_ representation definition

used_representation

{.name = 'ppsm’}

of_shape

shape_definition_representation definition used_representation

shape_aspect feature_of_size

inter_stratum_feature _template

single_boundary _csg_2d_shape_ representation

shape_defintion_ representation definition

used_representation

{.name = 'ppsm’} #25659 items [1:?] csg_primitive_ solid_2d identified_item

of_shape

geometric_item_specific_usage definition used_representation #25657

circular_area tree_root_expression

shape_aspect feature_of_size
- 11 -

Part_feature_based_template_location enables an explicit relationship to be 

established between a placement of a template (for example, a padstack) and the 

corresponding Part_feature of the package (for example, a terminal). A 

Padstack_definition is typically used to represent the collection of PCB elements 

needed to support the application of a particular part feature. For example, a surface 

mount terminal may be supported by a padstack containing a surface mount land, a 

soldermask cutout, and possible a solder paste mask. A through hole terminal may be 

supported by a padstack consisting of a plated passage (a through hole plated for 

electrical connectivity), and round pads and soldermask cutouts on both the top and 

bottom pcb surfaces. The elements of a padstack definition can be decomposed into 

single-stratum features (i.e. lands and soldermask cutouts) and inter-stratum features 

(holes, vias, etc.). Consider a common critical feature in the application of a connector –

a mounting hole or plated through hole to accommodate a connector terminal. A drilled 

hole would be represented in a footprint as an inter_stratum_feature_template

or a specialized subtype such as a component_termination_passage_template. It 

will commonly be desirable to annotate such a feature with either a dimensional tolerance 

Figure 7. Associating a shape_aspect with an individual placement of a csg_solid_2d 

within a padstack_definition

padstack_definition

shape_represent ation

shape_defintion_ representation definition used_representation

representation_map mapped_representation axis2_placement_2d mapping_origin [.name = 'origin’]

{.name = 'ppsm’}

assembly_compon ent_usage relating_product_definition

inter_stratum_feature _template related_product_definition

mapped_item

product_definition_ shape

definition

definition

shape_represent ation used_representation

items [1:?]

shape_definition_ representation

{.name = 'tlistt’} axis2_placement_2d mapping_target

single_boundary _csg_2d_shape_ representation

shape_defintion_ representation definition

used_representation

representation_map mapped_representation axis2_placement_2d mapping_origin [.name = 'origin’]

mapping_source

{.name = 'ppsm’} items [i]

{.name = ‘tlist’}

#25659 items [1:?] csg_primitive_ solid_2d identified_item

of_shape

chain_based_geometric_item _specific_usage definition nodes [1] nodes [2] undirected_link [1]

#25657 #25669

#170535 #25653

circular_area tree_root_expression

shape_aspect feature_of_size
- 12 -

(i.e. diameter) or a positional tolerance. A shape_aspect must be defined to support the 

GD&T annotation. Figure 6, Figure 7and Figure 8 illustrates various scenarios for the 

identification of a shape_aspect associated with a drilled hole within a 

footprint_definition. 

The two scenarios illustrated in Figure 6 are functionally equivalent in this case, as the 

shape_representation of the template contains only the geometric specification of 

the hole’s cross section (i.e. a circle). Either representation implies that a dimension or 

tolerance is associated with all occurrences of the template. This is a common and 

desirable scenario – often a series of equivalent holes are to be created to support a series 

of equivalent terminals. A common dimensional and/or locational tolerance would apply 

to each instance of the hole individually.

Figure 7 illustrates a significantly less common scenario. In this instance, the 

shape_aspect has been qualified by a specific hole placement within a 

padstack_definition. The associated GD&T annotation would apply to all 

occurrences of the padstack.

Figure 8. Associating a shape_aspect with an individual placement of a csg_solid_2d 

within a footprint_definition

footprint_definition

relating_product_definition

padstack_definition related_product_definition assembly_comp onent_usage package_terminal

{.name = ‘tlist’}

relating_product_definition related_product_definition property_definiti on_relationship {.name = ‘reference feature’} property_definition definition property_definition definition

mapped_item

product_definition_ shape definition

definition

shape_represent ation used_representation

items [1:?]

shape_definition_r epresentation

{.name = 'tlistt’} axis2_placement_2d mapping_target shape_represent ation

Shape_defintion _representation definition used_representation

representation_map mapped_representation axis2_placement_2d mapping_origin [.name = 'origin’]

mapping_source

{.name = 'ppsm’} shape_represent ation

description_attribute {.attribute_value = 'footprint_definition_shape_model’} described_item

Shape_defintion _representation definition

used_representation

items [i]

assembly_compon ent_usage relating_product_definition

inter_stratum_feature _template related_product_definition

mapped_item

product_definition_ shape

definition

definition

shape_represent ation used_representation

items [1:?]

shape_definition_ representation

{.name = 'tlistt’} axis2_placement_2d mapping_target

single_boundary _csg_2d_shape_ representation

shape_defintion_ representation definition

used_representation

representation_map mapped_representation axis2_placement_2d mapping_origin [.name = 'origin’]

mapping_source

{.name = 'ppsm’} items [i]

{.name = ‘tlist’}

#25659 items [1:?] csg_primitive_ solid_2d identified_item

nodes [1]

of_shape

chain_based_geometric_item _specific_usage undirected_link [1] definition nodes [2] undirected_link [2] nodes [3]

#25657 #25669

#170535 #25653 #26161

#170770 #25644

circular_area tree_root_expression

shape_aspect feature_of_size
- 13 -

If it is necessary to call out a specific instance of the hole within a 

footprint_definition as a feature for GD&T association, a 

chain_based_geometric_item_specific_usage could be employed to qualify the 

individual inter-stratum feature within a specific placement of the padstack definition. 

The provides the ability to attach annotation that are specific to an individual hole, and 

would often be employed in the definition of a datum, for example (the datum feature is 

one particular hole).

Shape_elements for GD&T

Features of the model relevant for GD&T are represented by the Shape_element AO. 

Figure 9 shows several of the important subtypes of Shape_element. When it is desired 

to treat multiple disjoint regions as a single feature, a Composite_shape_element

may be employed. A Composite_shape_element has two important subtypes – the 

Composite_group_shape_element and the Composite_unit_shape_element. A 

Composite_unit_shape_element is used to aggregate multiple Shape_elements

that are to be treated as a unit. For example, multiple surfaces of a single feature-of-size. 

A Composite_group_shape_element is used when it is desired to apply a property 

to each of the constituent elements individually. 

It is often common to require a reference to derived geometry, such as a center plane of a 

feature. Such a feature would be modeled through the appropriate subtype of 

Derived_non_feature_shape_element (a Shape_element that is not on the 

physical boundary of the part). Several examples for the representation of 

shape_elements in the context of a package model were previously documented in 

NISTIR 7634.

Shape_element

Centre_of_symmetry Derived_non_feature_ shape_element

Centre_plane

Non_feature_shape _element Derived_shape_element Datum_shape_element Datum

Composite_shape _element Composite_group_ shape_element Composite_unit_ shape_element Shape_element_composing _relationship

composing_relationships INV [2:?]

Shape_element derived_from [1:?]

Shape_element_deriving _relationship

deriving_relationships INV [1:?]

Shape_element related Shape_element related

relating relating

Figure 9. Several relevant subtypes of the Shape_element AO for GD&T
- 14 -

Feature-of-size

The representation of a “feature of size” is critical to the successful application and 

interpretation of many common dimensions and tolerances. Certain common GD&T 

annotations, such as a positional tolerance must be applied to a feature of size. A feature 

of size must have opposed points and contain a reproducible median point, axis, or plane. 

When a positional or perpendicularity tolerance is applied to a feature of size, it is 

controlling the feature’s center point, axis, or plane. The most common feature of size is 

referred to as a “Regular Feature of Size,” defined in the 2009 edition of the ASME 

Y14.5 standard as follows:

“one cylindrical or spherical surface, a circular element, and a set of two 

opposed parallel elements or opposed parallel surfaces, each of which is 

associated with a directly toleranced dimension.”

In the context of a three-dimensional B-Rep model of a solid, a feature of size would 

typically reference either a cylindrical face, or two parallel opposed planar faces. In a 3D 

B-Rep, there is typically no functional or feature-based decomposition of the geometric 

model available, and individual faces of a complex model would be called out through a 

geometric_item_specific_usage or its chain-based subtype.

In the context of two-dimensional ECAD geometry, developing a clear representation of 

a feature-of-size is critical. Within a footprint, there is a parallel structure between the 

footprint design elements and their geometric representation. The shape representations 

in a footprint definition are most commonly either a csg_2d_shape_representation

or a subtype. The majority of individual geometric elements will be represented as a 

subtype of primitive_2d. Figure 11 details the common subtypes of primitive_2d

and their key attributes.

The representation of the individual geometric elements are particularly relevant in the 

context of the feature of size. A circular feature of size can be unambiguously defined by 

Figure 10. The 2D geometric elements of an ECAD footprint are typically represented 

with a csg_2d_shape_representation.

csg_2d_shape_representation csg_2d_shape_select items S[1:?] mapped_item axis2_placement_2d csg_solid_2d

csg_primitive_solid_2d primitive_2d tree_root_expression

tree_root_expression boolean_result_2d single_area_csg_2d_shape_representation planar_path_shape_representation_with_parameters

shape_representation
- 15 -

associating a shape_aspect with a shape_representation containing the 

circular_area entity. However, the primitive_2d representations do not support 

the unambiguous definition of a feature of size corresponding to two opposed parallel 

surfaces. Nevertheless, positional tolerances and length / width dimensional tolerances on 

the variety of common pad geometries shown in Figure 11 are very common.

To support this need, the addition of a subtype of Shape_element is proposed for 

consideration, that would enable the optional specification of an orientation for the 

feature of size.

Figure 11. Common 2D geometric elements used in an ECAD footprint representation.

rectangular_area axis2_placement_2d positive_length_measure positive_length_measure position

x

y circular_area cartesian_point positive_length_measure centre

radius area_with_outer_ boundary

primitive_2d

base_curve composite_curve path_area_with_parameters polygonal_area

primitive_2d_with_inner_boundary

cartesian_point bounds L[3:?]

mapping_target curve
- 16 -

ENTITY Feature_of_size

 SUBTYPE OF (Shape_element);

 direction_ratios : Optional LIST[2:3] OF length_measure;

END_ENTITY;

In the above, the optional direction_ratios enable specification of the orientation. If an 

orientation is provided, it is assumed that two opposed parallel surfaces are contained 

within the associated geometry normal to the specified direction. 

Representation of geometric dimensions, tolerances, and datums.

The top-level ARM application objects and attributes used in the representation of a 

geometric dimension and tolerance are outlined in Figure 12 and Figure 14. For 

additional detail in the context of packaged components regarding the mapping of 

Figure 12. The top-level subtypes and key entities of the Geometric_dimension AO.

Geometric_dimension

is_applied_to element_with_dimension_select Shape_element

dimension_value_select dimension_value

Numerical_item_with_unit Dimension_value_with_limitation Tolerance_range Value_limit Size_dimension

Angular_size_dimension Curved_size_dimension Diameter_size_dimension Radial_size_dimension Thickness_size_dimension Externally_defined_size_di mension Height_size_dimension Length_size_dimension Dimensional_size_based_ on_opposing_boundaries Width_size_dimension Location_dimension

Angular_location_dimension Curved_distance_dimension Linear_distance_dimension

placed_element_select Shape_element placed_element_select Shape_element origin

target

directed (OPT) BOOLEAN
- 17 -

common representations, refer to NISTIR 7634.

Per ASME Y14.5 (2009), a datum is a theoretically exact point, line or plane derived 

from geometric counterpart(s) on the physical model. The geometric counterpart is 

known as a datum feature. The AP210 ARM supports a family of application objects 

(AOs) that are subtypes of Datum. Several of the commonly used subtypes that are most 

relevant for the domain of packaged electronic components are documented in Figure 13. 

In many cases, a datum feature will correspond to either a surface feature of a part or a 

“feature of size” of a part. When it is required that a specific region of a surface be used 

to determine the datum, a datum target may be used. Many times, a feature of size is used 

as a datum feature in defining a datum. 

Tolerance_condition

Geometric_tolerance

Angularity_tolerance Circular_runout_tolerance Coaxiality_tolerance Concentricity_tolerance Parallelism_tolerance Perpendicularity_tolerance Symmetry_tolerance Total_runout_tolerance

tolerance_value Value_with_unit Shape_element applied_to

(OPT) modification

Cylindricity_tolerance Flatness_tolerance Position_tolerance Roundness_tolerance Line_profile_tolerance Straightness_tolerance Surface_profile_tolerance Figure 14. The top-level subtypes of the Geometric_tolerance AO.

Figure 13. Selected subtypes of the Datum application object

Datum

Single_datum

Datum_defined_by_ derived_shape

Derived_geometry

Datum_plane Datum_defined_by _feature Datum_defined_by _targets Shape_element Datum_feature defined_by [1:?] defined_by Datum_target Shape_element derived_from [1:?]

constructive_element_select geometry

Common_datum
- 18 -

Application to a common connector configuration

Figure illustrates a recommended GD&T based dimensioning and tolerancing scheme 

for a common connector and the corresponding PCB mating features. A connector vendor 

will often provide both tolerance specifications for the connector as well as the 

corresponding PCB layout. In the absence of a recommended PCB layout, the dimensions 

and tolerances for compatible mating features on the PCB can often be derived from the 

provided connector specifications. The assumptions, variables, and relationships needed 

for this example, based on simple tolerance stack-up analysis are provided in the 

Appendix.

Whenever feasible, it is recommended that the seating plane be treated as a primary 

datum plane. In this example, the connector locating pins serve as the secondary and 

tertiary datum features in the feature control frame for the connector, and the 

corresponding mating holes in the PCB are the secondary and tertiary datum features in 

the feature control frame for the PCB.

The detailed population of the GD&T annotations will be dependent on the geometric 

representation of the package and footprint. Assuming a single B-Rep model of the 

connector is provided by the vendor, datum A (coincident with seating plane) could be

established with a Datum_defined_by_feature based on datum feature A – a 

Shape_element associated with the appropriate face of the geometric model through a 

Geometric_item_specific_usage. ( a datum related to a datum_feature through 

a shape_aspect_relationship) Datum B and C could each be established through a 

Datum_defined_by_derived_shape (in this case, a centre_of_symmetry)with 

reference to the cylindrical face of the mounting pin. In the event that the two mounting 

pins shared a common geometric model, it would be necessary to employ a 

chain_based_geometric_item_specific_usage to (see Figure 4) discriminate 

between the two occurrences of the face.

In terms of the footprint definition, the two mounting holes would likely share a common 

padstack definition. A shape_aspect similar to that of Figure 8 would be employed to 

establish the secondary and tertiary datum features. There is no explicit geometric 

representation of the seating plane within the footprint definition. The primary datum 

feature should be established through reference to the seating plane.

It is desirable that the tolerance on the diameter of the two mounting holes in the PCB be 

symmetric. In this case, this tolerance could be associated directly with the 

inter_stratum_feature_template for the mounting holes (see Figure 6). A single 

padstack definition that incorporates this inter-stratum feature template could be 

instanced twice in the footprint definition for the two mounting holes. The 

perpedicularity and positional tolerance would rely on the same shape_aspect used to 

define the secondary and tertiary datum features. Finally, the positional tolerance of the 

36 terminal mating holes could be associated directly with the 

inter_stratum_feature_template for the terminal mating holes.
- 19 -

Figure Error!. Representative connector with dimension and tolerance variables, and 

corresponding PCB layout.

[Source: Bryan Fischer, Advanced Dimensional Management LLC]

U n its : m m

C o n n e c to r - w ith D im e n s io n a n d T o le ra n c e V a ria b le s

N O T E S (U N L E S S O T H E R W IS E S P E C IF IE D ):

1 . IN T E R P R E T D R A W IN G P E R IS O 1 1 0 1 :2 0 0 4 .

A

0 ,1

Ø Pn o m ,c ± S T c

C

1 1 ,2

3 6 x Ø P n o m ,p ± S Tp 1 ,5 0 ,5

2

4 1 ,5 0 ,5

1 ,6

Ø Pn o m ,b ± S T b

B

1 ,1

1 4

1 ,4

32x 1 4 ,5

0 ,2 5 A B C

Ø T 2 c A B

Ø T 2p A B C

Ø T 2 b A

P C B - C o n n e c to r M o u n tin g D e ta il

N O T E S (U N L E S S O T H E R W IS E S P E C IF IE D ):

1 . IN T E R P R E T D R A W IN G P E R IS O 1 1 0 1 :2 0 0 4 .

U n its : m m

D

P C B S U R F A C E

W IT H IN R E S T R IC T E D A R E A Ø H n o m ,f ± S T f

F

1 1 ,2

3 6 x Ø H n o m ,h ± S Th 1 ,5 0 ,5

2

4 1 ,5 0 ,5

1 ,6

Ø H n o m ,e ± S T e

E

1 ,1

1 4

1 ,4

32x 1

Ø T1 e D Ø T1 f D E

Ø T1 h D E F
- 20 -

Appendix – Assumptions, variables, and formulae related to the 

connector example of Figure . 

[Source: Bryan Fischer, Advanced Dimensional Management LLC]

Assumptions:

 The connector is located by locator pins in mating holes in the PCB.

 The connector locating pins are referenced as the secondary and tertiary datum 

features in the positional tolerance feature control frame that controls the other 

(numbered) connector pins.

 A local, functional datum reference frame is established at each location a 

connector mates with the PCB.

 The holes in the PCB that mate with the connector’s locating pins are referenced 

as the secondary and tertiary datum features in the positional tolerance feature 

control frame that controls the holes that correspond to the numbered pins on the 

connector.

 The secondary and tertiary datum features are the same size and have the same 

form, size, orientation, and location tolerances applied as applicable.

 The secondary and tertiary datum features on the connector engage the 

corresponding locating holes in the PCB at the same time and play an equal role 

in locating the connector.

 Maximum assembly shift is possible between the locating pins on the connector 

and the corresponding holes in the PCB.

 The assembly shift manifests itself at assembly as translational variation –

rotational assembly shift is not addressed in the calculations. In this example, 

because the locating pins and holes are farther apart than the working pins and 

holes, the effect of rotational assembly shift will be less than the effect of 

translational assembly shift.

 The dimensioning and tolerancing schemes and calculation methods proposed 

here apply to other applications.

 Equal-bilateral size tolerances applied to all holes and pins.

 The pins on the connector and the holes in the PCB are cylindrical features.
- 21 -

Variables:

PCB

He,f Hole (MMC, smallest) – Datum Features E and F on PCB 

Hh Hole (MMC, smallest) – PCB Holes that interface with numbered 

connector pins

Hnom,e,f Hole (nominal, stated size) – Datum Features E and F on PCB 

Hnom,h Hole (nominal, stated size) – PCB Holes that interface with numbered 

connector pins

Hlmc,e,f Hole (LMC, largest size) – Datum Features E and F on PCB

STe,f Size Tolerance for Datum Features E and F on PCB

STh Size Tolerance for PCB Holes that interface with numbered connector 

pins

T1,e,f Perpendicularity or Positional Tolerance applied to Datum Features E 

and F on PCB

T1,h Positional Tolerance applied to the PCB Holes that interface with 

numbered connector pins

Connector

Pb,c Pin (MMC, largest) – Datum Features B and C on PCB 

Pp Pin (MMC, largest) – Numbered connector pins

Pnom,b,c Pin (nominal, stated size) – Datum Features B and C on PCB 

Pnom,p Pin (nominal, stated size) – Numbered connector pins

Plmc,b,c Pin (LMC, smallest size) – Datum Features B and C on PCB 

STb,c Size Tolerance for Datum Features B and C on PCB

STp Size Tolerance for numbered connector pins

T2b,c Perpendicularity or Positional Tolerance applied to Datum Features B 

and C on connector

T2,p Positional Tolerance applied to numbered connector pins

Assembly

AS Assembly Shift (Maximum Clearance between Hlmc,e,f and Plmc,b,c)
- 22 -

Formulas:

Calculate and Verify Fit, Size, Size Tolerance, or Geometric Tolerances for 

Alignment Features: Corresponding Datum Features on Connector and PCB: 

Use Fixed Fastener Formula

He,f = Pb,c + T1,e,f + T2,b,c 

Calculate and Verify Positional Tolerance for Holes and Numbered Pins: Working 

Features: 

Use Modified Fixed Fastener Formula

Hh = Pp + T1,h + T2,p + AS

Calculate Hnom,e,f: Nominal Hole Size for the Datum Feature Holes on the PCB

Hnom,e,f = He,f + STe,f

Calculate Hlmc,e,f: Largest Size for Datum Feature Holes on the PCB

Hlmc,e,f = Hnom,e,f + STe,f

Calculate Pnom,b,c: Nominal Pin Size for the Datum Feature Pins on the Connector

Pnom,b,c = Pb,c - STb,c

Calculate Plmc,b,c: Smallest Datum Feature Pin Size for Connector

Plmc,b,c = Pnom,b,c - STb,c

Calculate AS: Assembly Shift: Worst-Case Variation between LMC Datum 

Features on PCB and Connector

AS = Hlmc,e,f - Plmc,b,c

Calculate Hnom,h: Nominal Size for Working Holes in PCB (Correspond to 

Numbered Pins on Connector)

Hnom,h = Hh + STh

Calculate Pnom,p: Nominal Size for Numbered Pins on Connector

Pnom,p = Pp - STp