Application module: Part template shape with parameters ISO/TS 10303-1720:2014-02(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 definitions
   4.3 ARM entity definitions
   4.4 ARM rule definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definitions
     5.2.2 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 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;
(*

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 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.

4.2 ARM type definitions

This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.

4.2.1 ptswp_external_identification_item   EXPRESS-G

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;
(*

4.2.2 ptswp_requirement_assignment_item   EXPRESS-G

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;
(*

4.2.3 ptswp_view_shape_select   EXPRESS-G

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;
(*

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 Geometric_template   EXPRESS-GMapping table

A Geometric_template is a type of Template_definition.

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.

4.3.2 Part_template_keepout_shape_model   EXPRESS-GMapping table

A Part_template_keepout_shape_model is a type of Geometric_model. A Part_template_keepout_shape_model is the description of a shape that is a boundary within which other layout shapes are not permitted. It may also be used to indicate that physical components are not permitted.

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.

4.3.3 Part_template_shape_model   EXPRESS-GMapping table

A Part_template_shape_model is a type of Geometric_model. A Part_template_shape_model is a shape representation of a Template_definition under certain specified conditions.

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.

4.4 ARM rule definition

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

4.4.1 unique_part_template_shape_model_for_geometric_template

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