|
Application module:
Item definition structure |
ISO/TS 10303-1345:2014-02(E)
© ISO
|
Annex F
(informative)
Application module implementation and usage guide
F.1 Product structure
A product_definition that has a product_definition_context with the attribute name set to 'part definition' represents a definitional
view on the part, collecting data, from a particular application domain or life-cycle, about the part independently of its
usage, as constituent of some other part. Relationships between product_definitions that have an associated product_definition_context
with a name of 'part definition' are the principle elements used to define explicit hierarchical product structures.
An assembly_component_usage relationship represents the general assembly relationship between two parts by associating two
product_definitions. The related_product_definition defines a view on the component, the relating_product_definition defines
a view of the assembly part. Both product_definitions are definitional views. They have an associated product_definition_context
with a name of 'part definition'. In order to define different types of assembly relationships, assembly_component_usage
has various subtypes:
- The next_assembly_usage_occurrence relationship represents a specific usage. It is an occurrence of a component definition
in the next higher parent assembly. If a next_assembly_usage_occurrence is not instantiated in combination with a quantified_assembly_component_usage,
it is used to represent a single occurrence of the component part in the context of the immediate next higher assembly part.
- The promissory_usage_occurrence relationship represents the usage of a component within a higher-level assembly that must
not be the immediate parent, in the case where the detailed assembly structure between the component and the higher-level
assembly is not represented. It specifies the intention to use the constituent in an assembly. A promissory_usage_occurrence
may be instantiated in combination with a quantified_assembly_component_usage.
- The quantified_assembly_component_usage relationship is an assembly_component_usage that associates a quantity with the component
usage. It can be used to describe that a component is used multiple times.
EXAMPLE 1
Quantity is set to '5 each' for five wheel fixture bolts, in the context of the assembly, but does not allow independent identification
of individual occurrences of this component usage.
Another usage of the quantity is for material like components.
EXAMPLE 2
'0.5 ml' of oil.
If the quantity, in which the component part is used in the assembly can not be expressed as a particular value, but depends
on certain constraints, an assembly_component_usage relationship with a name of 'selected instance usage' shall be used instead
of the quantified_assembly_component_usage subtype with an associated property_definition and an associated representation
with a name of 'selection criteria' that defines the quantity by a representation_item with name 'selection quantity' of type
measure_representation_item or value_range.
- In order to identify a specific occurrence of a component in an assembly which is not the immediate parent assembly, the specified_higher_usage_occurrence
entity is used, because the path from the higher-level parent assembly to the lower-level component may be ambigous. The specified_higher_usage_occurrence
relationship represents an individual occurrence of the component part within a higher-level parent assembly. It shall not
be instantiated in combination with a next_assembly_usage_occurrence or a promissory_usage_occurrence. The specified_higher_usage_occurrence
identifies with its inherited attribute related_product_definition the component in the assembly structure, with its inherited
attribute relating_product_definition the higher-level parent assembly, with the next_usage attribute the component usage
within the immediate parent assembly, and with its upper_usage attribute the usage between the higher-level parent assembly
and the immediate parent identified by next_usage. In case the higher-level parent assembly to the component has more than
one intermediate assembly level the upper_usage attribute refers to another specified_higher_usage_occurrence (recursive use).
Figure F.1 shows an example instantiation.
Figure F.1 — Instanciation of specified_higher_usage_occurrence
Figure F.2 shows an example instantiation.
Figure F.2 — Instanciation of product_definition_occurrence_relationship
See Specification control module for further details about the usage of those product_definitions for specification control.
F.2 Shape of an assembly
F.2.1 Relating the shape of a component to the shape of its assembly
In order to build assembly structures, relationships between the assembly and component(s) have to be defined. Two alternatives
for the implementation of assembly structure representations are recommended:
- one alternative describes the assembly with the shape of the components built in. With this approach the shape of the component
is mapped into the shape of the assembly via mapped_item;
- the other alternative describes the components and the assembly with their own shape information together with the transformation
information between the assembly and the component. This approach uses the representation_relationship_with_transformation.
Both mechanisms make sense even in mixed combinations. The product structure relationship, such as next_assembly_usage_occurrence,
is identical and is required for both approaches.
F.2.2 mapped_item approach
This approach represents the assembled model completely. It is appropriate for explicit representation of assemblies. It
uses mapped_item in combination with representation_map which takes the shape_representation of the component and turns it
into an item in a representation item included the shape_representation of the assembly. The transformation to be applied
is determined from the mapping origin and the mapping target, which are items of the two instances of representation and therefore
founded in the two contexts.
The entity mapped_item is constrained such that:
- no mapped_item shall be dependent on itself to define the representation being mapped (acyclic);
- the mapping_origin shall be in the context of the representation referenced by mapped_item.mapping_source.mapped_representation;
- the mapping_target shall be in the context of the representation including the mapped_item.
There is no constraint to prevent both instances of representation having the same context: the new item is shifted in position
but may not change spaces. This allows the use of mapped_item to position sub-models in a single coordinate space.
It is even possible to define an identity matrix transformation by referring to the same entity instance as both mapping_origin
and mapping_target. This represents the case where a component is defined in (one of) its final positions. Until it is mapped
into the second representation, it is not included in the representation even though defined in the same space.
The mapping of the Assembly_component_relationship implies that the relationships between the assembly and the component on
the product_definition level and the mapped_item for the shape_representation level have to be linked through an additional
separate shape_representation containing, only the mapped_itemand a shape_definition_representation and a product_definition_shape.
This is necessary to distinguish between several occurrences of the same component within an assembly.
F.2.3 representation_relationship_with_transformation approach
This approach represents the components and the set of instructions how to build the assembly. This approach is adequate
for the implicit representation of assemblies. Thus, representation_relationship_with_transformation is used to define the
relative positions within an assembly. It does not allow for:
- inclusion: The decision to create a representation that brings all the components together, is left to the receiving system;
- the ability to define a component in one position and then to replicate it in the same space.
The shape_representation may be defined explicitly and completely for the assembly and the representation_relationship_with_transformation
gives just the additional information how an instance of shape_representation for a component geometrically relates to the
shape of the assembly. The rule coordinated_assembly_and_shape implies that the relationships between the assembly and the
component on the product_definition level and the shape_representation level have to be linked through a context_dependent_shape_representation.
This is necessary to distinguish between several occurrences of the same component within an assembly.
According to ISO 10303-43, the attributes rep_1 and rep_2 of representation_relationship_with_transformation are determined
as follows:
- rep_1 is defined as the representation with a context to which the transformation applies;
- rep_2 is the representation with a context which is the result of the transformation.
Based on this definition, the attributes of representation_relationship_with_transformation should be instantiated as follows:
- rep_1 references the shape_representation for the product_definition that is the related_product_definition (identifying the
component) of the assembly_component_usage;
- rep_2 references the shape_representation for the product_definition that is the relating_product_definition (identifying
the assembly) of the assembly_component_usage.
Further restrictions are implied by the informal proposition on representation_relationship_with_transformation, defined
in ISO 10303-43: If the transformation is an item_defined_transformation, the ordering of the instances of representation
given for the inherited attributes of representation_relationship shall be consistent with the ordering of the two instances
of representation_item given as attributes of item_defined_transformation. Therefore the inherited attributes transform_item_1
and transform_item_2 of item_defined_transformation shall be used as follows:
- transform_item_1 references the representation_item, such as axis2_placement_3d, in a representation for the product_definition
that is the related_product_definition of the assembly_component_usage, identifying the component;
- transform_item_2 references the representation_item, such as axis2_placement_3d, in a representation for the product_definition
that is the relating_product_definition of the assembly_component_usage, identifying the assembly.
F.2.4 Representation of transformations
Transformation information is represented for an item_defined_transformation using the inherited attributes transform_item_2
and transform_item_1, and for a mapped_item using attribute mapping_target of mapped_item and attribute mapping_origin of
the referenced representation_map as a combination of two instances of representation_item.
The allowed combinations for these two instances of representation_item are as follows:
- axis2_placement_3d for the transform_item_1 or mapping_origin attribute and another instance of axis2_placement_3d for the
transform_item_2 or mapping_target attribute;
- axis2_placement_3d for the transform_item_1 or mapping_origin attribute and an instance of cartesian_transformation_operator_3d
for the transform_item_2 or mapping_target attribute;
- axis2_placement_2d for the transform_item_1 or mapping_origin attribute and another instance of axis2_placement_2d for the
transform_item_2 or mapping_target attribute;
- axis2_placement_2d for the transform_item_1 or mapping_origin attribute and an instance of cartesian_transformation_operator_2d
for the transform_item_2 or mapping_target attribute.
For a representation_relationship_with_transformation there may be also an instance of functionally_defined_transformation
used that is a cartesian_transformation_operator. For any usage of an instance of cartesian_transformation_operator to define
the transformation information of an instance of assembly_component_usage the derived attribute scl shall be 1.0, since scaling
is not allowed for components within an assembly.
© ISO 2014 — All rights reserved