Application module: Assembly structure ISO/TS 10303-1026:2019(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definition
   4.3 ARM entity definitions
   4.4 ARM subtype constraint definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

(*
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