Application module: Part template shape with parameters | ISO/TS 10303-1720:2014-02(E) © ISO |
This clause specifies the information requirements for the Part template shape with parameters 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_template_shape_with_parameters_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Part_template_shape_with_parameters_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Non_feature_shape_element_arm;
--
ISO/TS 10303-1706
USE FROM
Part_template_arm;
--
ISO/TS 10303-1722
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:
Non_feature_shape_element_arm ISO/TS 10303-1706 Part_template_arm ISO/TS 10303-1722 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 ptswp_external_identification_item type is an extension of the external_identification_item type. It adds the data type Part_template_keepout_shape_model 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
ptswp_external_identification_item =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
external_identification_item
WITH
(Part_template_keepout_shape_model);
END_TYPE;
(*
The ptswp_requirement_assignment_item type is an extension of the requirement_assignment_item type. It adds the data type Part_template_keepout_shape_model 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
ptswp_requirement_assignment_item =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
requirement_assignment_item
WITH
(Part_template_keepout_shape_model);
END_TYPE;
(*
The ptswp_view_shape_select type is an extension of the view_shape_select type. It adds the data type Part_template_shape_model 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
ptswp_view_shape_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
view_shape_select
WITH
(Part_template_shape_model);
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 Geometric_template
ABSTRACT SUPERTYPE
SUBTYPE OF (Template_definition);
INVERSE
shapes : SET[0:?] OF Part_template_shape_model FOR shape_characterized_definition;
WHERE
WR1: SIZEOF(QUERY( gm <* USEDIN(SELF,'')|
(('ELEMENTAL_GEOMETRIC_SHAPE_ARM.GEOMETRIC_MODEL' IN TYPEOF(gm)) AND
NOT('PART_TEMPLATE_SHAPE_WITH_PARAMETERS_ARM.PART_TEMPLATE_SHAPE_MODEL' IN
TYPEOF(gm)))
)) = 0;
END_ENTITY;
(*
Attribute definitions:
shapes: an inverse relationship that specifies that the existence of the Geometric_template is dependent on the existence of the Part_template_shape_model that specifies the Geometric_template as its shape_characterized_definition. There shall exist zero or more Part_template_shape_models for the Geometric_template.
Formal propositions:
WR1: If a Geometric_template is referenced by a Geometric_model the Geometric_model shall be a member of Part_template_shape_model.
EXPRESS specification:
*)
ENTITY Part_template_keepout_shape_model
ABSTRACT SUPERTYPE
SUBTYPE OF (Geometric_model);
constrained_design_object_category : keepout_product_design_object_category;
shape_characterized_definition : Geometric_template;
shape_material_condition : material_condition;
centroid_location :
OPTIONAL
Cartesian_point;
shape_environment : application_environment;
shape_purpose :
OPTIONAL
predefined_keepout_purpose;
DERIVE
principal_part_shape : SET[0:1] OF Geometric_model_relationship := bag_to_set(QUERY( gmr <* USEDIN(SELF,
'GEOMETRIC_MODEL_RELATIONSHIP_ARM.GEOMETRIC_MODEL_RELATIONSHIP.REP_2') |
(gmr\Representation_relationship.relation_type = 'principal part shape')));
INVERSE
external_shape_purpose : SET[0:1] OF External_source_identification FOR item;
WHERE
WR1: (EXISTS (shape_purpose)) XOR ((SIZEOF(external_shape_purpose)) = 1);
WR2: SIZEOF(QUERY( x <* USEDIN(SELF, 'PROPERTY_ASSIGNMENT_ARM.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION')
| 'SHAPE_PROPERTY_ASSIGNMENT_ARM.SHAPE_DESCRIPTION_ASSOCIATION' IN TYPEOF(x)))=0;
WR3: SIZEOF(principal_part_shape) < 2;
END_ENTITY;
(*
Attribute definitions:
constrained_design_object_category: specifies the role of the keepout_product_design_object_category for the Part_template_keepout_shape_model.
shape_characterized_definition: specifies the role of the Geometric_template for the Part_template_keepout_shape_model.
shape_material_condition: specifies the role of the material_condition for the Part_template_keepout_shape_model.
centroid_location: specifies the role of the Cartesian_point for the Part_template_keepout_shape_model. The value of this attribute need not be specified.
shape_environment: specifies the role of the application_environment for the Part_template_keepout_shape_model.
shape_purpose: specifies the role of the predefined_keepout_purpose for the Part_template_keepout_shape_model. The value of this attribute need not be specified.
principal_part_shape: specifies the master shape representation for a shape representation in the case where there are two or more shape representations for a definition. The principal_part_shape shall not be provided if there is no concept of master shape in the source CAD system.
external_shape_purpose: an inverse relationship that specifies that the existence of the Part_template_keepout_shape_model is dependent on the existence of the External_source_identification that specifies the Part_template_keepout_shape_model as its item. There shall exist zero or one External_source_identification for the Part_template_keepout_shape_model.
Formal propositions:
WR1: One and only one of shape_purpose and external_shape_purpose shall be provided.
WR2: The Part_template_keepout_shape_model shall not be used in role of used_representation by any Shape_description_association.
WR3: No more than one principal_part_shape shall be provided.
Informal propositions:
IP1: The rep_1 of the principal_part_shape shall be of type Part_template_shape_model or Part_template_keepout_shape_model and their shape_characterized_definition and context_of_items shall be identical to this one.
EXPRESS specification:
*)
ENTITY Part_template_shape_model
ABSTRACT SUPERTYPE
SUBTYPE OF (Geometric_model);
shape_characterized_definition : SET[1:?] OF Geometric_template;
shape_environment :
OPTIONAL
application_environment;
shape_material_condition : material_condition;
DERIVE
principal_part_shape : SET[0:1] OF Geometric_model_relationship := bag_to_set(QUERY( gmr <* USEDIN(SELF,
'GEOMETRIC_MODEL_RELATIONSHIP_ARM.GEOMETRIC_MODEL_RELATIONSHIP.REP_2') |
(gmr\Representation_relationship.relation_type = 'principal part shape')));
WHERE
WR1: SIZEOF(principal_part_shape) < 2;
WR2: SIZEOF(QUERY( x <* USEDIN(SELF, 'PROPERTY_ASSIGNMENT_ARM.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION')
| 'SHAPE_PROPERTY_ASSIGNMENT_ARM.SHAPE_DESCRIPTION_ASSOCIATION' IN TYPEOF(x)))=0;
END_ENTITY;
(*
Attribute definitions:
shape_characterized_definition: specifies the role of the Geometric_template for the Part_template_shape_model. There shall exist one or more Geometric_templates for the Part_template_shape_model.
shape_environment: specifies the role of the application_environment for the Part_template_shape_model. The value of this attribute need not be specified.
shape_material_condition: specifies the role of the material_condition for the Part_template_shape_model.
principal_part_shape: specifies the master shape representation for a shape representation in the case where there are two or more shape representations for a definition. The principal_part_shape shall not be provided if there is no concept of master shape in the source CAD system.
Formal propositions:
WR1: No more than one principal_part_shape shall be provided.
WR2: The Part_template_shape_model shall not be used in role of used_representation by any Shape_description_association.
Informal propositions:
IP1: The rep_1 of the principal_part_shape shall be of type Part_template_shape_model or Part_template_keepout_shape_model and their shape_characterized_definition and context_of_items shall be identical to this one.
This subclause specifies the ARM rule for this module. The ARM rule and definition is specified below.
The unique_part_template_shape_model_for_geometric_template rule constrains the shape for Geometric_template so that no more than one Part_template_shape_model with a specific set of attribute values may reference a member of Geometric_template.
NOTE Because the set of attributes is being compared, the value equality operator is used rather than the instance equality operator.
EXPRESS specification:
*)
RULE unique_part_template_shape_model_for_geometric_template FOR
(Geometric_template);
LOCAL ptsm : SET OF Part_template_shape_model := []; END_LOCAL;
WHERE
WR1: SIZEOF(QUERY (gt <* Geometric_template |
(SIZEOF (QUERY (ptsm1 <*
USEDIN(gt,'PART_TEMPLATE_SHAPE_WITH_PARAMETERS_ARM.PART_TEMPLATE_SHAPE_MODEL.SHAPE_CHARACTERIZED_DEFINITION') |
(SIZEOF (QUERY (ptsm2 <*
USEDIN(gt,'PART_TEMPLATE_SHAPE_WITH_PARAMETERS_ARM.PART_TEMPLATE_SHAPE_MODEL.SHAPE_CHARACTERIZED_DEFINITION') |
ptsm1 = ptsm2)) > 1)
)) > 0) )) = 0;
END_RULE;
(*
Argument definitions:
Geometric_template : the set of all instances of Geometric_template.
Formal propositions:
WR1: No more than one Part_template_shape_model with a specific set of attribute values may reference a member of Geometric_template.
*)
END_SCHEMA; -- Part_template_shape_with_parameters_arm
(*
© ISO 2014 — All rights reserved