Application module: Shape feature | ISO/TS 10303-1764:2019(E) © ISO |
This clause specifies the information requirements for the Shape 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 Shape_feature_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Shape_feature_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Characterizable_object_arm;
--
ISO/TS 10303-1765
USE FROM
Contextual_shape_positioning_arm;
--
ISO/TS 10303-1027
USE FROM
Property_assignment_arm;
--
ISO/TS 10303-1030
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:
Characterizable_object_arm ISO/TS 10303-1765 Contextual_shape_positioning_arm ISO/TS 10303-1027 Property_assignment_arm ISO/TS 10303-1030 Support_resource_arm ISO/TS 10303-1800
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
The sf_assigned_shape_property_select type is an extension of the assigned_shape_property_select type. It adds the data type Characterizable_object to the list of alternate data types.
EXPRESS specification:
*)
TYPE
sf_assigned_shape_property_select =
SELECT
BASED_ON
assigned_shape_property_select
WITH
(Characterizable_object);
END_TYPE;
(*
The sf_property_assignment_select type is an extension of the property_assignment_select type. It adds the data type Characterizable_object to the list of alternate data types.
EXPRESS specification:
*)
TYPE
sf_property_assignment_select =
SELECT
BASED_ON
property_assignment_select
WITH
(Characterizable_object);
END_TYPE;
(*
The sf_represented_definition type is an extension of the represented_definition type. It adds the data type Characterizable_object to the list of alternate data types.
EXPRESS specification:
*)
TYPE
sf_represented_definition =
SELECT
BASED_ON
represented_definition
WITH
(Characterizable_object);
END_TYPE;
(*
The sf_shapeable_item type is an extension of the shapeable_item type. It adds the data types Characterizable_object and Shape_element to the list of alternate data types.
EXPRESS specification:
*)
TYPE
sf_shapeable_item =
SELECT
BASED_ON
shapeable_item
WITH
(Characterizable_object,
Shape_element);
END_TYPE;
(*
The shape_feature_definition_or_element type allows for the designation of the data types Shape_feature_definition and Shape_feature_definition_element.
EXPRESS specification:
*)
TYPE
shape_feature_definition_or_element =
SELECT
(Shape_feature_definition,
Shape_feature_definition_element);
END_TYPE;
(*
The shape_feature_definition_or_element_relationship_select type allows for the designation of the data types Shape_feature_definition_relationship and Shape_feature_definition_element_relationship.
EXPRESS specification:
*)
TYPE
shape_feature_definition_or_element_relationship_select =
SELECT
(Shape_feature_definition_relationship,
Shape_feature_definition_element_relationship);
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 General_feature
SUBTYPE OF (Shape_feature_definition);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Instanced_feature
SUBTYPE OF (Shape_element, Shape_feature_definition);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Placed_feature
SUBTYPE OF (Shape_element);
definition : Shape_feature_definition;
END_ENTITY;
(*
Attribute definitions:
definition: a role of the Shape_feature_definition for the Placed_feature.
NOTE A Shape_feature_definition can be applied to a product by either an Instanced_feature or a Placed_feature.
EXPRESS specification:
*)
ENTITY Shape_feature_definition
SUBTYPE OF (Characterizable_object);
WHERE
WR1: EXISTS(SELF\Characterizable_object.primary_shape_representation);
END_ENTITY;
(*
Formal propositions:
WR1: The primary_shape_representation shall exist.
EXPRESS specification:
*)
ENTITY Shape_feature_definition_element
SUBTYPE OF (Shape_element);
SELF\Shape_element.associated_definition : shape_feature_definition_or_element;
UNIQUE
UR1: SELF\Shape_element.element_name, associated_definition;
END_ENTITY;
(*
Attribute definitions:
associated_definition: an inherited attribute that shall have a value of type Shape_feature_definition or of type Shape_feature_definition_element.
Formal propositions:
UR1: The element_name of the Shape_feature_definition_element shall be unique for the associated_definition.
EXPRESS specification:
*)
ENTITY Shape_feature_definition_element_relationship
SUBTYPE OF (Shape_element_relationship);
SELF\Shape_element_relationship.relating : Shape_feature_definition_element;
SELF\Shape_element_relationship.related : Shape_feature_definition_element;
parent_relationship :
OPTIONAL
shape_feature_definition_or_element_relationship_select;
WHERE
WR1: ((related.associated_definition :=: parent_relationship\Shape_feature_definition_relationship.related) OR (related.associated_definition
:=: parent_relationship\Shape_feature_definition_element_relationship.related)) AND ((relating.associated_definition :=: parent_relationship\Shape_feature_definition_relationship.relating)
OR (relating.associated_definition :=: parent_relationship\Shape_feature_definition_element_relationship.relating));
END_ENTITY;
(*
Attribute definitions:
relating: an inherited attribute whose value shall be of type Shape_feature_definition_element.
related: an inherited attribute whose value shall be of type Shape_feature_definition_element. If one element of the relationship is dependent upon the other, this attribute shall be the dependent one.
parent_relationship: the Shape_feature_definition_relationship or a higher-level Shape_feature_definition_element_relationship that defines the scope for this Shape_feature_definition_element_relationship. The value of this attribute need not be specified.
Formal propositions:
WR1: If the parent_relationship is defined, then the associated_definition of the related attribute shall be the same instance as the related instance of the parent_relationship and the associated_definition of the relating attribute shall be the same instance as the relating instance of the parent_relationship.
EXPRESS specification:
*)
ENTITY Shape_feature_definition_occurrence_element
SUBTYPE OF (Shape_feature_definition_element);
definition : shape_feature_definition_or_element;
END_ENTITY;
(*
Attribute definitions:
definition: the Shape_feature_definition or Shape_feature_definition_element that is the definition for the Shape_feature_definition_occurrence_element.
EXPRESS specification:
*)
ENTITY Shape_feature_definition_occurrence_element_relationship
SUBTYPE OF (Shape_feature_definition_element_relationship);
SELF\Shape_element_relationship.relating : Shape_feature_definition_occurrence_element;
SELF\Shape_element_relationship.related : Shape_feature_definition_occurrence_element;
definition : shape_feature_definition_or_element_relationship_select;
END_ENTITY;
(*
Attribute definitions:
relating: an inherited attribute whose value shall be of type Shape_feature_definition_occurrence_element.
related: an inherited attribute whose value shall be of type Shape_feature_definition_occurrence_element. If one element of the relationship is dependent upon the other, this attribute shall be the dependent one.
definition: the Shape_feature_definition_relationship or Shape_feature_definition_element_relationship that is the definition of this Shape_feature_definition_occurrence_element_relationship.
EXPRESS specification:
*)
ENTITY Shape_feature_definition_relationship;
name : label;
description :
OPTIONAL
text;
relating : Shape_feature_definition;
related : Shape_feature_definition;
END_ENTITY;
(*
Attribute definitions:
name: the words by which the Shape_feature_definition_relationship is known.
description: the text that provides further information about the Shape_feature_definition_relationship. The value of this attribute need not be specified.
relating: one of the instances of Shape_feature_definition that is a part of the relationship.
related: the other instance of Shape_feature_definition that is a part of the relationship. If one element of the relationship is dependent upon the other, this attribute shall be the dependent one.
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.
The sf_shape_element constraint specifies a constraint that applies to instances of Shape_element and enforces the rule that its subtypes Instanced_feature, Placed_feature and Shape_feature_definition_element are exclusive.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT sf_shape_element FOR Shape_element;
ONEOF (Instanced_feature,
Placed_feature,
Shape_feature_definition_element);
END_SUBTYPE_CONSTRAINT;
(*
*)
END_SCHEMA; -- Shape_feature_arm
(*
© ISO 2019 — All rights reserved