Detailed Assembly Example
From WikiSTEP
Contents |
Printed Circuit Assembly

Sample Part Code
Assembly Product Entities
- Note: This example is incomplete and does not meet all the requirements of Ee_product, Ee_product_version, Ee_product_definition.
#100=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly','pca',(#99));
#99=PRODUCT('123-333333-01','buffer card','sample description',(#4));
#4=PRODUCT_CONTEXT('',#2,'electromechanical');
#101=PRODUCT_DEFINITION_FORMATION('3','',#99);
#103=ASSEMBLY_DEFINITION('pca id1','',#101,#102);2
#133=NAME_ATTRIBUTE('assembly module',#103);3
#102=PRODUCT_DEFINITION_CONTEXT('physical design',#2,'design');
#104=PRODUCT_DEFINITION_FORMATION('-','for the usage view',#99);
#105=ASSEMBLY_DEFINITION('pca id2','a usage view',#101,#102);
#106=NAME_ATTRIBUTE('assembly module',#105);
#107=PRODUCT_DEFINITION_CONTEXT('physical design usage',#2,'design');
"Printed circuit assembly" is nearly a synonym for "Printed wiring assembly"; a printed circuit assembly may include printed components in its interconnect substrate which is a "printed circuit board". A "printed wiring assembly" is constructed upon an interconnect substrate which is a "printed wiring board" that is totally interconnect without printed components. Another synonym for printed circuit assembly is circuit card assembly.
The product entity
AP210 identifies a product entity that is referenced by the products attribute of a product_related_product_category entity with a name of "assembly" and by the of_product attribute of a product_definition_formation which is in turn referenced by the formation attribute of physical_unit entities.
The product context entity
The products frame_of_reference attribute references a product_context entity.
The product is referenced by the products attribute of a product_related_product_category entity with a name of "assembly".
- Note: The prpc name of 'assembly' is critical to identifying the products that are PCAs.
The product_definition_formation entity
The product_definition_formation entity in this example has a version of "3".
The product_definition entity
The name attribute shall be "assembly module" for this example4. The subtype of physical_unit used here is assembly_definition.
- Note: Including the name attribute in a query to find an Ee_product_definition that is an Assembly_module or PCA is critical to successfully finding that Ee_product_definition implemetation in an AP 210 AIM data set.
The product_definition_context entity
The name attribute shall be "physical design" for this example.
- Note: "physical design" or "physical design usage" is critical information to successfully extract a design or usage view.
The Printed Circuit Assembly Physical Usage View
The example from the previous paragraph is referenced herein.
The product entity
The product entity from the design view in this example is re-used.
The product context entity
The product_context entity from the design view in this example is re-used.
The product_related_product_category entity from the design view in this example is re-used.
The product_definition_formation entity
The product_definition_formation entity in this example has a version of "-". This entity instance is different from the pdf of the design view. It is not a requirement that the pdf be different, but it is often the case.
The product_definition entity
The name attribute shall be "assembly module" for this example (This is a change from the IS version of the standard). The subtype of physical_unit used here is assembly_definition. This is a different entity instance from the design view.
The product_definition_context entity
The name attribute shall be "physical design usage" for this example.
The Printed Circuit Assembly Physical Design View

Sample Part 21 Code
Physical Design view of PCA
#103=ASSEMBLY_DEFINITION('','',#101,#102);
#104=PRODUCT_DEFINITION_SHAPE('','',#103);
#135=SHAPE_DEFINITION_REPRESENTATION(#104,#134);
#134=SHAPE_REPRESENTATION('',(#133,#1340,#4760,#4803,#4847,#4883,#4926,
#4962,
#4998,#5041,#5077,#5113,#5156,#5199,#5242,#5278,#5314,#5350,#5386,#5422,
#5458,#5494,#5537,#5573,#5617,#5653,#5696,#5732,#5768,#5804,#5840,#5884,
#5920,#5964,#6008,#6051,#6094,#6138,#6174,#6217,#6253,#6289,#6332,#6368,
#6411,#6454,#6497,#6533,#6576,#6619,#6655,#6698,#6741,#6784,#6827,#6870,
#6913,#6956,#6999,#7035,#7078,#7114,#7150,#7193,#7237,#7273,#7318,#7361,
#7397,#7433,#7469,#7512,#7548),#130);
#133=AXIS2_PLACEMENT_2D('origin',#131,#132);
Packaged component
#4750=NEXT_ASSEMBLY_USAGE_OCCURRENCE('','','',#103,#4736,'C1');
#4736=PACKAGED_COMPONENT('C1','',#4734,#4735);
#4738=PRODUCT_DEFINITION_SHAPE('','',#4736);
#4739=SHAPE_DEFINITION_REPRESENTATION(#4738,#1531);
Component Location
#4751=PRODUCT_DEFINITION_SHAPE('','',#4750);
#4764=PROPERTY_DEFINITION_REPRESENTATION(#4751,#4761);
#4761=COMPONENT_LOCATION('',(#4754,#4758,#4760),#4752);
#4760=MAPPED_ITEM('component assembly 2d position',#4759,#4758);
#4759=REPRESENTATION_MAP(#1530,#1531);
#1530=AXIS2_PLACEMENT_2D('origin',#1528,#1529);
Packaged component Product
[ to be added later ]
Packaged Part
#4737=PRODUCT_DEFINITION_RELATIONSHIP('','instantiated part','',#4729,#4736);
#4729=PACKAGED_PART('cap-1','',#4727,#4728);
Package
#4730=PRODUCT_DEFINITION_RELATIONSHIP('','used package','',#1522,#4729);
#1522=PACKAGE('','',#1520,#1521);
#1523=PRODUCT_DEFINITION_SHAPE('cap-1','ComponentGeometry.Graphics',#1522);
#1532=SHAPE_DEFINITION_REPRESENTATION(#1523,#1531);
Package Geometry
#1533=SHAPE_REPRESENTATION_RELATIONSHIP('component part planar shape','',#1531,#1531);
#1531=SHAPE_REPRESENTATION('feature shape',(#1530,#1582,#1541,#1549,#1556),#1527);
Component Location

Sample Part 21 Code
Physical Design view of PCA
#103=PHYSICAL_UNIT('','',#101,#102);
#104=PRODUCT_DEFINITION_SHAPE('','',#103);
#135=SHAPE_DEFINITION_REPRESENTATION(#104,#134);
#134=SHAPE_REPRESENTATION('',(#133,#1340,#4760,#4803,#4847,#4883,#4926,#4962,
#4998,#5041,#5077,#5113,#5156,#5199,#5242,#5278,#5314,#5350,#5386,#5422,
#5458,#5494,#5537,#5573,#5617,#5653,#5696,#5732,#5768,#5804,#5840,#5884,
#5920,#5964,#6008,#6051,#6094,#6138,#6174,#6217,#6253,#6289,#6332,#6368,
#6411,#6454,#6497,#6533,#6576,#6619,#6655,#6698,#6741,#6784,#6827,#6870,
#6913,#6956,#6999,#7035,#7078,#7114,#7150,#7193,#7237,#7273,#7318,#7361,
#7397,#7433,#7469,#7512,#7548),#130);
#133=AXIS2_PLACEMENT_2D('origin',#131,#132);
Component Location
#4750=NEXT_ASSEMBLY_USAGE_OCCURRENCE('','','',#103,#4736,'C1');
#4751=PRODUCT_DEFINITION_SHAPE('','',#4750);
#4764=PROPERTY_DEFINITION_REPRESENTATION(#4751,#4761);
#4761=COMPONENT_LOCATION('',(#4753,#4754,#4758,#4760),#4752);
#4754=DESCRIPTIVE_REPRESENTATION_ITEM('placement fixed','false');
#4758=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','','',#4756,#4757,#4755,1.0);
#4760=MAPPED_ITEM('component assembly 2d position',#4759,#133);
#4759=REPRESENTATION_MAP(#1530,#1531);
#4752=(GEOMETRIC_REPRESENTATION_CONTEXT(2)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#128))GLOBAL_UNIT_ASSIGNED_CONTEXT(
(#116,#126))REPRESENTATION_CONTEXT('','2D'));
#126=(CONVERSION_BASED_UNIT('INCH',#122)LENGTH_UNIT()NAMED_UNIT(#121));
Component Location side
#4763=PROPERTY_DEFINITION_REPRESENTATION(#4762,#4761);
#4762=PROPERTY_DEFINITION('','',#4705);
/*#4705=COMPONENT_SHAPE_ASPECT('','interconnect module component surface feature',#141,.F.); */
#4706=SHAPE_ASPECT_RELATIONSHIP('instantiated feature','',#96,#4705);
#96=SHAPE_ASPECT('','interconnect module primary surface',#95,.U.);
The location of a component is defined in AP210 by the Component_2d_location and Component_assembly_2d_position application objects. The Component_2d_location is mapped to a component_location entity with the transformation specifying the location mapped to a cartesian_transformation_operator_2d in the component_location's items attribute. The component_location's context_of_items attribute is a complex instance that specifies the units of the cartesian_transformation_operator_2d. The context of the component_location is required to be the context of the design. The Component_assembly_2d_position is mapped to a mapped_item entity with a description attribute of "component assembly 2d position" with the component_location's cartesian_transformation_operator_2d as the mapping_target.