AP scope | AP module | AP contents | AP index | |
Application module: Assembly structure | ISO/TS 10303-1026:2004(E) © ISO |
This clause specifies the information requirements for the Assembly structure application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.
NOTE 1 A graphical representation of the information requirements is given in Annex C.
NOTE 2 The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.
The following EXPRESS specification begins the Assembly_structure_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Assembly_structure_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Product_view_definition_relationship_arm;
--
ISO/TS 10303-1041
USE FROM
Value_with_unit_arm;
--
ISO/TS 10303-1054
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Product_view_definition_relationship_arm ISO/TS 10303-1041 Value_with_unit_arm ISO/TS 10303-1054
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.
The relationship is established between two instances of Product_view_definition.
The inherited attribute relating_view identifies the Product_view_definition of the assembly.
The inherited attribute related_view identifies the Product_view_definition of the product version that plays the role of component.
The Assembly_component_relationship specifies that, in the initial_context of the Product_view_definition that is referred to as relating_view, it is considered that the product version that is indirectly identified with the related_view attribute, is a component of the product version that is indirectly identified with the relating_view attribute.
NOTE 1 In another context, the structure of the assembly may be described differently, adding, for example, an intermediate level between the products.
NOTE 2 This entity data type may be used to establish assembly relationships during design or to represent the composition of an assembly existing in the real world.
NOTE 3 An Assembly_component_relationship identifies an item in a parts list. Should the quantity be zero, the component would still be listed in the parts list.
In case the component is a part, the following additional specifications apply:
In case the component is a non-countable material, the following additional specifications apply:
EXAMPLE An assembly may require inclusion of ten grams of grease.
NOTE 4 This version of the Assembly structure module does not enable to represent the fact that the quantity of a fluid component is, for example 'at most 10 grams' or 'between 5 or 20 grams'. However, some ISO 10303 application protocols, for example ISO 10303-214, provide a representation for those requirements.
An Assembly_component_relationship shall be either a Next_assembly_usage, a or a Component_upper_level_identification.
EXPRESS specification:
*)
ENTITY Assembly_component_relationship
ABSTRACT SUPERTYPE
OF (ONEOF (Next_assembly_usage,
Promissory_usage,
Component_upper_level_identification))
SUBTYPE OF (View_definition_usage);
quantity :
OPTIONAL
Value_with_unit;
location_indicator :
OPTIONAL
STRING;
WHERE
WR1: NOT(EXISTS(quantity)) OR ((NOT ('NUMBER' IN TYPEOF(quantity.value_component))) XOR (quantity.value_component > 0));
END_ENTITY;
(*
Attribute definitions:
quantity: the Value_with_unit that defines the amount of this usage of the component in the assembly. The value of this attribute need not be specified.
location_indicator: the text that identifies this usage of the component in the assembly in a diagram, list, chart, or on a physical piece of equipment. The value of this attribute need not be specified.
Formal propositions:
WR1: If it is specified and if its value is expressed with a number, the quantity value shall be greater than zero.
EXPRESS specification:
*)
ENTITY Next_assembly_usage
SUBTYPE OF (Assembly_component_relationship);
END_ENTITY;
(*
NOTE A Promissory_usage may be used when the product structure is not completely defined, to capture the intent that the constituent will be used in that assembly.
EXPRESS specification:
*)
ENTITY Promissory_usage
SUBTYPE OF (Assembly_component_relationship);
END_ENTITY;
(*
NOTE A Component_upper_level_identification does not add a component in an assembly, it provides a means to further characterize a component with respect to an upper level assembly.
EXAMPLE A Component_upper_level_identification may be used to assign a property to a component that applies in the context of a particular upper level assembly.
The identified component is the version of product, indirectly referred to as the related_view of the sub_assembly_relationship.
The upper level assembly is the version of product, indirectly referred to as the relating_view of the upper_assembly_relationship.
EXPRESS specification:
*)
ENTITY Component_upper_level_identification
SUBTYPE OF (Assembly_component_relationship);
upper_assembly_relationship : Assembly_component_relationship;
sub_assembly_relationship : Next_assembly_usage;
UNIQUE
UR1: upper_assembly_relationship, sub_assembly_relationship;
WHERE
WR1: SELF :<>: upper_assembly_relationship ;
WR2: SELF\View_definition_relationship.relating_view :=: upper_assembly_relationship\View_definition_relationship.relating_view;
WR3: SELF\View_definition_relationship.related_view :=: sub_assembly_relationship\View_definition_relationship.related_view;
WR4: (upper_assembly_relationship\View_definition_relationship.related_view :=: sub_assembly_relationship\View_definition_relationship.relating_view)
OR (SIZEOF (QUERY (pdr <* USEDIN (upper_assembly_relationship\View_definition_relationship.related_view , 'PRODUCT_VIEW_DEFINITION_RELATIONSHIP_ARM.VIEW_DEFINITION_RELATIONSHIP.RELATED_VIEW')
| pdr.relating_view :=: sub_assembly_relationship\View_definition_relationship.relating_view)) = 1);
WR5: SIZEOF (['ASSEMBLY_STRUCTURE_ARM.NEXT_ASSEMBLY_USAGE', 'ASSEMBLY_STRUCTURE_ARM.COMPONENT_UPPER_LEVEL_IDENTIFICATION']
* TYPEOF(upper_assembly_relationship)) = 1;
END_ENTITY;
(*
Attribute definitions:
upper_assembly_relationship: the Assembly_component_relationship that identifies indirectly the upper level assembly in the context of which the component is identified.
sub_assembly_relationship: the Next_assembly_usage that identifies indirectly the component that is further characterized by the Component_upper_level_identification.
Formal propositions:
UR1: the couple of the upper_assembly_relationship and sub_assembly_relationship attributes shall be unique.
WR1: the upper_assembly_relationship shall not refer to the Component_upper_level_identification.
WR2: the relating_view attribute of the Component_upper_level_identification shall reference the same instance of Product_view_definition as the relating_view of the upper_assembly_relationship.
WR3: the related_view of the Component_upper_level_identification shall reference the same instance of Product_view_definition as the related_view for the sub_assembly_relationship.
WR4: the related_view of the upper_assembly_relationship shall refer to, or be transitively related to, the same instance of Product_view_definition as the relating_view for the sub_assembly_relationship.
WR5: the upper_assembly_relationship shall be an instance of either Next_assembly_usage or of Component_upper_level_identification.
*)
END_SCHEMA; -- Assembly_structure_arm
(*
© ISO 2004 — All rights reserved