Application module: Package | ISO/TS 10303-1707:2018-11(E) © ISO |
This clause specifies the EXPRESS schema derived from the mapping table. It uses elements from the common resources or from other application modules and defines the EXPRESS constructs that are specific to this part of ISO 10303.
This clause constitutes the Module Interpreted Module (MIM) of the application module.
This clause also specifies the modifications that apply to the constructs imported from the common resources.
The following restrictions apply to the use, in this schema, of constructs defined in common resources or in application modules:
Short names of entities defined in this schema are described in Annex A. Unambiguous identification of this schema is defined in Annex B.
EXPRESS specification:
*)
SCHEMA Package_mim;
USE FROM
Characteristic_mim;
--
ISO/TS 10303-1654
USE FROM
Geometric_tolerance_mim;
--
ISO/TS 10303-1051
USE FROM
Non_feature_shape_element_mim;
--
ISO/TS 10303-1706
USE FROM
Part_feature_function_mim;
--
ISO/TS 10303-1712
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Characteristic_mim ISO/TS 10303-1654 Geometric_tolerance_mim ISO/TS 10303-1051 Non_feature_shape_element_mim ISO/TS 10303-1706 Part_feature_function_mim ISO/TS 10303-1712
NOTE 2 See Annex D, Figures D.1and D.2 for a graphical representation of this schema.
This subclause specifies the MIM types for this application module. The MIM types and definitions are specified below.
The p_groupable_item type is an extension of the groupable_item type. It adds the data type representation_item to the list of alternate data types.
EXPRESS specification:
*)
TYPE
p_groupable_item =
SELECT
BASED_ON
groupable_item
WITH
(representation_item);
END_TYPE;
(*
The pa_external_identification_item type is an extension of the external_identification_item type. It adds the data types package, and package_terminal_template_definition to the list of alternate data types.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
pa_external_identification_item =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
external_identification_item
WITH
(package,
package_terminal_template_definition);
END_TYPE;
(*
This subclause specifies the MIM entities for this module. The MIM entities and definitions are specified below.
A guided_wave_terminal is a type of package_terminal that implements the ARM concept of Guided_wave_terminal.
EXPRESS specification:
*)
ENTITY guided_wave_terminal
SUBTYPE OF (package_terminal);
END_ENTITY;
(*
A package is a type of physical_unit that implements the ARM concepts of:
EXPRESS specification:
*)
ENTITY package
SUBTYPE OF (physical_unit);
END_ENTITY;
(*
A package_body is a type of shape_aspect that implements the ARM concept of Package_body.
EXPRESS specification:
*)
ENTITY package_body
SUBTYPE OF (shape_aspect);
END_ENTITY;
(*
A package_body_bottom_surface is a type of package_body_surface that implements the ARM concept of Package_body_bottom_surface.
EXPRESS specification:
*)
ENTITY package_body_bottom_surface
SUBTYPE OF (package_body_surface);
END_ENTITY;
(*
A package_body_edge_segment_surface is a type of shape_aspect and of shape_aspect_relationship that implements the ARM concept of Package_body_edge_segment_surface.
EXPRESS specification:
*)
ENTITY package_body_edge_segment_surface
SUBTYPE OF (shape_aspect, shape_aspect_relationship);
SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex;
SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex;
WHERE
WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>:
SELF\shape_aspect_relationship.related_shape_aspect;
END_ENTITY;
(*
Attribute definitions:
relating_shape_aspect: specifies the role of the edge_segment_vertex for the package_body_edge_segment_surface.
related_shape_aspect: specifies the role of the edge_segment_vertex for the package_body_edge_segment_surface.
Formal propositions:
WR1: The related_shape_aspect shall not be equal to relating_shape_aspect.
A package_body_edge_surface is a type of package_body_surface that implements the ARM concept of Package_body_edge_surface.
EXPRESS specification:
*)
ENTITY package_body_edge_surface
SUBTYPE OF (package_body_surface);
END_ENTITY;
(*
A package_body_surface is a type of shape_aspect that implements the ARM concept of Package_body_surface. A package_body_surface is either a package_body_top_surface or a package_body_edge_surface, or a package_body_bottom_surface.
EXPRESS specification:
*)
ENTITY package_body_surface
ABSTRACT SUPERTYPE
OF (ONEOF (package_body_top_surface,
package_body_edge_surface,
package_body_bottom_surface))
SUBTYPE OF (shape_aspect);
END_ENTITY;
(*
A package_body_top_surface is a type of package_body_surface that implements the ARM concept of Package_body_top_surface.
EXPRESS specification:
*)
ENTITY package_body_top_surface
SUBTYPE OF (package_body_surface);
END_ENTITY;
(*
A package_terminal is a type of placed_feature that implements the ARM concepts of:
EXPRESS specification:
*)
ENTITY package_terminal
SUPERTYPE OF (guided_wave_terminal
ANDOR primary_reference_terminal)
SUBTYPE OF (placed_feature);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY package_terminal_template_definition
SUBTYPE OF (part_feature_template_definition);
END_ENTITY;
(*
A primary_orientation_feature is a type of shape_aspect that implements the ARM concept of Primary_orientation_feature.
EXPRESS specification:
*)
ENTITY primary_orientation_feature
SUBTYPE OF (shape_aspect);
WHERE
WR1: SELF\shape_aspect.product_definitional = TRUE;
END_ENTITY;
(*
Formal propositions:
WR1: A primary_orientation_feature shall be on the surface of the product.
A primary_reference_terminal is a type of package_terminal that implements the ARM concept of Primary_reference_terminal.
EXPRESS specification:
*)
ENTITY primary_reference_terminal
SUBTYPE OF (package_terminal);
END_ENTITY;
(*
A secondary_orientation_feature is a type of shape_aspect that implements the ARM concept of Secondary_orientation_feature.
EXPRESS specification:
*)
ENTITY secondary_orientation_feature
SUBTYPE OF (shape_aspect);
WHERE
WR1: SELF.product_definitional = TRUE;
END_ENTITY;
(*
Formal propositions:
WR1: A secondary_orientation_feature shall be on the surface of the product.
A tertiary_orientation_feature is a type of shape_aspect that implements the ARM concept of Tertiary_orientation_feature.
EXPRESS specification:
*)
ENTITY tertiary_orientation_feature
SUBTYPE OF (shape_aspect);
WHERE
WR1: SELF.product_definitional = TRUE;
END_ENTITY;
(*
Formal propositions:
WR1: A tertiary_orientation_feature shall be on the surface of the product.
EXPRESS specification:
*)
ENTITY visual_orientation_feature
SUBTYPE OF (shape_aspect);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY wire_terminal
SUBTYPE OF (package_terminal);
END_ENTITY;
(*
A wire_terminal_template_definition is a type of package_terminal_template_definition that implements the ARM concept of Wire_terminal_template_definition.
EXPRESS specification:
*)
ENTITY wire_terminal_template_definition
SUBTYPE OF (package_terminal_template_definition);
END_ENTITY;
(*
This subclause specifies the MIM subtype constraint for this module. The subtype constraint places a constraint on the possible super-type / subtype instantiations. The MIM subtype constraint and definition is specified below.
The package_part_feature_subtypes constraint specifies a constraint that applies to instances of shape_aspect and enforces the rule that its subtypes package_body, primary_orientation_feature, secondary_orientation_feature and tertiary_orientation_feature are exclusive.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT package_part_feature_subtypes FOR shape_aspect;
ONEOF (package_body,
primary_orientation_feature,
secondary_orientation_feature,
tertiary_orientation_feature);
END_SUBTYPE_CONSTRAINT;
(*
*)
END_SCHEMA; -- Package_mim
(*
© ISO 2018 — All rights reserved