Application module: Part definition relationship ISO/TS 10303-1055: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
   4.5 ARM function definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM entity definition

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

4 Information requirements

This clause specifies the information requirements for the Part definition relationship 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.

This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Part_definition_relationship_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Part_definition_relationship_arm;
(*

4.1 Required AM ARMs

The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.

EXPRESS specification:

*)
USE FROM Part_view_definition_arm;    --  ISO/TS 10303-1023

USE FROM Product_view_definition_relationship_arm;    --  ISO/TS 10303-1041

USE FROM Value_with_unit_arm;    --  ISO/TS 10303-1054

REFERENCE FROM Support_resource_arm    --  ISO/TS 10303-1800
  (bag_to_set);
(*

NOTE 1   The schemas referenced above are specified in the following part of ISO 10303:

Part_view_definition_arm ISO/TS 10303-1023
Product_view_definition_relationship_arm ISO/TS 10303-1041
Value_with_unit_arm ISO/TS 10303-1054
Support_resource_arm ISO/TS 10303-1800

NOTE 2   See Annex C, Figures C.1and C.2 for a graphical representation of this schema.

4.2 ARM type definition

This subclause specifies the ARM type for this application module. The ARM type and definition is specified below.

4.2.1 pdr_additional_application_domain_enumeration   EXPRESS-G

The pdr_additional_application_domain_enumeration provides predefined contexts for Additional_view_definition_context for the purpose of collaborative design where a complete design comprises the partial designs and interfaces between them. The is realized by Definitional_part_view_usages between the respective Part_view_definitions that are characterized by one of the additional application domains complete_design, partial_design or partial_design_interface.

EXPRESS specification:

*)
TYPE pdr_additional_application_domain_enumeration = ENUMERATION BASED_ON additional_application_domain_enumeration WITH
   (complete_design,
    partial_design,
    partial_design_interface);
END_TYPE;
(*

Enumerated item definitions:

complete_design: the Part_view_definition that represents a complete design.

partial_design: the Part_view_definition that represents a partial design.

partial_design_interface: the Part_view_definition that represents the interface between two or more partial designs.

4.3 ARM entity definitions

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.

4.3.1 Definitional_part_view_usage   EXPRESS-GMapping table

A Definitional_part_view_usage is a type of View_definition_usage established between two instances of Part_view_definition where all the elements of the related View_definition_usage are then available to the relating View_definition_usage. The combination of related and relating shall be unique within a population of Definitional_part_view_usages.

NOTE 1   A related PartView can be a definitional constituent of the relating PartView only once.

NOTE 2   All implicit and explicit elements from the related Part_view_definition including elements such as Assigned_property, Shape_element, Next_assembly_usage, and others, become implicit elements of the relating Part_view_definition. Several Definitional_part_view_usages might be used to establish a chain or a tree of View_definition_usage.

All Definitional_part_view_usage must describe an acyclic graph.

EXPRESS specification:

*)
ENTITY Definitional_part_view_usage
  SUBTYPE OF (View_definition_usage);
  SELF\View_definition_relationship.relating_view : Part_view_definition;
  SELF\View_definition_relationship.related_view : Part_view_definition;
WHERE
  WR1: acyclic_definitional_part_view_usage (SELF, [related_view], 'PART_DEFINITION_RELATIONSHIP_ARM.DEFINITIONAL_PART_VIEW_USAGE');
END_ENTITY;
(*

Attribute definitions:

relating_view: the instance of Part_view_definition that is implicitly enriched by the elements of the related Part_view_definition.

related_view: the instance of Part_view_definition whose elements become a definitional part of the relating Part_view_definition.

Formal propositions:

WR1: The graph established by a population of Definitional_part_view_usages shall be acyclic.

4.3.2 Make_from_relationship   EXPRESS-GMapping table

A Make_from_relationship is a type of View_definition_usage established between two instances of Part_view_definition. It specifies that the relating Part_view_definition is considered as resulting from the manufacturing transformation of the related Part_view_definition.

NOTE 1   The related Part_view_definition may identify a raw material or a semi-finished part.

NOTE 2   The characterization of the process of transformation from the related Part_view_definition to the relating Part_view_definition is out of the scope of this application module.

EXPRESS specification:

*)
ENTITY Make_from_relationship
  SUBTYPE OF (View_definition_usage);
  SELF\View_definition_relationship.relating_view : Part_view_definition;
  SELF\View_definition_relationship.related_view : Part_view_definition;
  quantity : OPTIONAL Value_with_unit;
  priority : OPTIONAL INTEGER;
WHERE
  WR1: SELF\View_definition_relationship.relating_view :<>: SELF\View_definition_relationship.related_view;
  WR2: NOT(EXISTS(quantity)) XOR ((NOT ('NUMBER' IN TYPEOF(quantity.value_component))) XOR (quantity.value_component > 0));
END_ENTITY;
(*

Attribute definitions:

relating_view: the instance of Part_view_definition that specifies the result from the manufacturing transformation.

related_view: the instance of Part_view_definition that specifies the input of the manufacturing transformation.

quantity: the Value_with_unit that specifies the amount of the related Part_view_definition that is used to produce the relating Part_view_definition. The value of this attribute need not be specified. The quantity is specified when the Part of the related Part_view_definition is a countable material. If the value is absent, it shall be considered that one occurrence of the related Part_view_definition is used to produce the relating Part_view_definition.

priority: an integer that ranks the preference for use of the related Part_view_definition among all instances of Make_from_relationship that have the same value for the inherited relating_view attribute. This value is an integer that only has meaning when comparing it with corresponding values for Make_from_relationship sharing the same relating_view. It is a relative ranking value, not an absolute ranking. A lower value indicates a higher preference for the related_view, and a higher value indicates a lower preference. The value of this attribute need not be specified.

Formal propositions:

WR1: the considered instances of Part_view_definition shall not be the same.

WR2: If it is specified and if its value is expressed with a number, the quantity value shall be greater than zero.

4.4 ARM subtype constraint definition

This subclause specifies the ARM subtype constraint for this module. The subtype constraint places a constraint on the possible super-type / subtype instantiations. The ARM subtype constraint and definition is specified below.

4.4.1 pdr_view_definition_usage_subtypes   EXPRESS-GMapping table

The pdr_view_definition_usage_subtypes constraint specifies a constraint that applies to instances of View_definition_usage and enforces the rule that its subtypes Definitional_part_view_usage and Make_from_relationship are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT pdr_view_definition_usage_subtypes FOR View_definition_usage;
  ONEOF (Definitional_part_view_usage,
         Make_from_relationship);
END_SUBTYPE_CONSTRAINT;
(*

4.5 ARM function definition

This subclause specifies the ARM function for this module. The ARM function and definition is specified below.

4.5.1 acyclic_definitional_part_view_usage

The acyclic_definitional_part_view_usage function checks if specified Definitional_part_view_usage is not participating in cycle with regards to specified Part_view_definitions. The function returns TRUE if no cycle has been detected. Otherwise it returns FALSE.

EXPRESS specification:

*)
FUNCTION acyclic_definitional_part_view_usage (relation : Definitional_part_view_usage; relatives : SET[1:?] OF Part_view_definition; specific_relation : STRING) : BOOLEAN;
LOCAL
  x : SET OF Definitional_part_view_usage;
END_LOCAL;

  IF relation.relating_view IN relatives THEN
    RETURN (FALSE);
  END_IF;
  x := QUERY(pd <* bag_to_set(USEDIN(relation.relating_view,
       'PART_DEFINITION_RELATIONSHIP_ARM.DEFINITIONAL_PART_VIEW_USAGE.RELATED_VIEW')) | specific_relation IN TYPEOF(pd));
  REPEAT i := 1 TO HIINDEX(x);
    IF NOT acyclic_definitional_part_view_usage(x[i], relatives +
      relation.relating_view, specific_relation) THEN
      RETURN  (FALSE);
    END_IF;
  END_REPEAT;
  RETURN (TRUE);
END_FUNCTION;
(*

Argument definitions:

relation: the specified Definitional_part_view_usage.

relatives: the specified Part_view_definitions.

specific_relation: the specified type of Definitional_part_view_usage to be considered.



*)
END_SCHEMA;  -- Part_definition_relationship_arm
(*


© ISO 2019 — All rights reserved