Application module: Component feature | ISO/TS 10303-1657:2019(E) © ISO |
This clause specifies the information requirements for the Component feature 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 Component_feature_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Component_feature_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Assembly_component_arm;
--
ISO/TS 10303-1802
USE FROM
Assembly_shape_arm;
--
ISO/TS 10303-1808
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Assembly_component_arm ISO/TS 10303-1802 Assembly_shape_arm ISO/TS 10303-1808
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
This subclause specifies the ARM type for this application module. The ARM type and definition is specified below.
The cf_groupable_item type is an extension of the groupable_item type. It adds the data type Component_feature to the list of alternate data types.
EXPRESS specification:
*)
TYPE
cf_groupable_item =
SELECT
BASED_ON
groupable_item
WITH
(Component_feature);
END_TYPE;
(*
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.
EXPRESS specification:
*)
ENTITY Component_feature
SUBTYPE OF (Shape_element);
definition :
OPTIONAL
Part_shape_element;
SELF\Shape_element.associated_definition : Assembly_component;
DERIVE
SELF\Shape_element.product_definitional : BOOLEAN := TRUE;
UNIQUE
UR1: definition, associated_definition;
UR2: SELF\Shape_element.element_name, associated_definition;
END_ENTITY;
(*
Attribute definitions:
definition: the General_part_feature that serves as a definition for the Component_feature. The value of this attribute need not be specified.
associated_definition: the Assembly_component that has the Component_feature.
NOTE The subtypes of Component_feature specify specializations of Assembly_component that are consistent with the subtype of definition.
product_definitional: a Component_feature is always definitional.
Formal propositions:
UR1: The combination of definition and associated_definition shall be unique within a population of Component_feature.
UR2: The combination of element_name and associated_definition shall be unique within a population of Component_feature.
EXPRESS specification:
*)
ENTITY Component_feature_joint
ABSTRACT SUPERTYPE
SUBTYPE OF (Component_feature_relationship, Shape_element);
SELF\Component_feature_relationship.relating RENAMED feature_1 : Component_feature;
SELF\Component_feature_relationship.related RENAMED feature_2 : Component_feature;
SELF\Shape_element.associated_definition : Assembly_definition;
WHERE
WR1: feature_1 <> feature_2;
WR2: associated_definition IN
feature_1\Shape_element.associated_definition\Assembly_component.assemblies;
WR3: associated_definition IN
feature_2\Shape_element.associated_definition\Assembly_component.assemblies;
END_ENTITY;
(*
Attribute definitions:
feature_1: specifies one role of the Component_feature for the Component_feature_joint.
feature_2: specifies another role of the Component_feature for the Component_feature_joint.
associated_definition: specifies the Assembly_definition to which the Component_feature_joint belongs.
Formal propositions:
WR1: the feature_1 and feature_2 shall not point to the same instance of Component_feature.
WR2: the Component_feature referenced by feature_1 shall be used by the same Assembly_definition as the associated_definition.
WR3: the Component_feature referenced by feature_2 shall be used by the same Assembly_definition as the associated_definition.
EXPRESS specification:
*)
ENTITY Component_feature_make_from_relationship
SUBTYPE OF (Component_feature_relationship);
SELF\Shape_element_relationship.relating RENAMED reusable_feature : Component_feature;
SELF\Shape_element_relationship.related RENAMED resultant_feature : Component_feature;
END_ENTITY;
(*
Attribute definitions:
reusable_feature: specifies the Component_feature that is modified or reused to become the resultant_feature in the Component_feature_make_from_relationship.
resultant_feature: specifies the Component_feature that results from modifying or reusing the reusable_feature in the Component_feature_make_from_relationship.
EXPRESS specification:
*)
ENTITY Component_feature_relationship
SUPERTYPE OF (ONEOF (Component_feature_joint,
Component_feature_make_from_relationship))
SUBTYPE OF (Shape_element_relationship);
SELF\Shape_element_relationship.relating : Component_feature;
SELF\Shape_element_relationship.related : Component_feature;
END_ENTITY;
(*
Attribute definitions:
relating: the first instance of Component_feature that is part of the relationship.
related: the second of the instances of Component_feature that is part of the relationship. If one element of the relationship is dependent upon the other, this attribute shall be the dependent one.
EXPRESS specification:
*)
ENTITY Component_terminal
ABSTRACT SUPERTYPE
SUBTYPE OF (Component_feature);
local_swappable :
OPTIONAL
BOOLEAN;
global_swappable :
OPTIONAL
BOOLEAN;
swap_code :
OPTIONAL
STRING;
END_ENTITY;
(*
Attribute definitions:
local_swappable: specifies a Boolean value that indicates if the terminal can be exchanged within the associated functional unit. The value of this attribute need not be specified.
global_swappable: specifies a Boolean value that indicates if the terminal can be exchanged within associated functional units of the same type. The value of this attribute need not be specified.
swap_code: specifies a string for the Component_terminal. The value of this attribute need not be specified.
*)
END_SCHEMA; -- Component_feature_arm
(*
© ISO 2019 — All rights reserved