Application module: Assembly structure | ISO/TS 10303-1026:2019(E) © ISO |
(*
ISO/TC 184/SC 4/WG 12 N9275 - ISO/TS 10303-1026 Assembly structure - EXPRESS ARM
Supersedes
ISO/TC 184/SC 4/WG 12 N7729
*)
SCHEMA Assembly_structure_arm;
USE FROM
Product_view_definition_arm;
-- ISO/TS 10303-1019
USE FROM
Product_view_definition_reference_arm;
-- ISO/TS 10303-1823
USE FROM
Value_with_unit_arm;
-- ISO/TS 10303-1054
TYPE product_view_definition_or_reference =
SELECT
(Product_view_definition,
Generic_product_view_definition_reference);
END_TYPE;
ENTITY Assembly_component_relationship
ABSTRACT SUPERTYPE
OF (ONEOF (Multi_level_reference_designator,
Next_assembly_usage,
Promissory_usage,
Component_upper_level_identification))
SUBTYPE OF (Product_occurrence_definition_relationship);
location_indicator :
OPTIONAL
STRING;
quantity :
OPTIONAL
Value_with_unit;
WHERE
WR1: NOT(EXISTS(quantity)) OR ((NOT ('NUMBER' IN TYPEOF(quantity.value_component))) XOR (quantity.value_component > 0));
END_ENTITY;
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\Product_occurrence_definition_relationship.relating_view :=: upper_assembly_relationship\Product_occurrence_definition_relationship.relating_view;
WR3: SELF\Product_occurrence_definition_relationship.related_view :=: sub_assembly_relationship\Product_occurrence_definition_relationship.related_view;
WR4: (upper_assembly_relationship\Product_occurrence_definition_relationship.related_view :=: sub_assembly_relationship\Product_occurrence_definition_relationship.relating_view)
OR (SIZEOF (QUERY (pdr <* USEDIN (upper_assembly_relationship\Product_occurrence_definition_relationship.related_view , 'ASSEMBLY_STRUCTURE_ARM.PRODUCT_OCCURRENCE_DEFINITION_RELATIONSHIP.RELATED_VIEW')
| pdr.relating_view :=: sub_assembly_relationship\Product_occurrence_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;
ENTITY Multi_level_reference_designator
SUBTYPE OF (Assembly_component_relationship);
location : LIST[1:?] OF
UNIQUE
Next_assembly_usage;
DERIVE
SELF\Product_occurrence_definition_relationship.relating_view RENAMED root_node : Product_view_definition := location[1]\Product_occurrence_definition_relationship.relating_view;
SELF\Product_occurrence_definition_relationship.related_view RENAMED leaf_node : product_view_definition_or_reference := location[HIINDEX(location)]\Product_occurrence_definition_relationship.related_view;
UNIQUE
UR1: location;
END_ENTITY;
ENTITY Next_assembly_usage
SUBTYPE OF (Assembly_component_relationship);
END_ENTITY;
ENTITY Product_occurrence_definition_relationship
ABSTRACT SUPERTYPE
;
relating_view : product_view_definition_or_reference;
related_view : product_view_definition_or_reference;
shape_type :
OPTIONAL
contextual_shape_type_enumeration;
primary_shape_representation :
OPTIONAL
shape_model;
auxiliary_shape_representations :
OPTIONAL
SET[1:?] OF shape_model;
WHERE
WR1: NOT (EXISTS(auxiliary_shape_representations)) OR EXISTS(primary_shape_representation);
END_ENTITY;
ENTITY Promissory_usage
SUBTYPE OF (Assembly_component_relationship);
END_ENTITY;
SUBTYPE_CONSTRAINT assembly_component_relationship_constraint FOR Assembly_component_relationship;
ABSTRACT SUPERTYPE;
TOTAL_OVER (Component_upper_level_identification,
Multi_level_reference_designator,
Next_assembly_usage,
Promissory_usage);
END_SUBTYPE_CONSTRAINT;
END_SCHEMA; -- Assembly_structure_arm
© ISO 2019 — All rights reserved