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

(*
ISO TC184/SC4/WG12 N8191 - ISO/TS 10303-1720 Part template shape with parameters - EXPRESS ARM
Supersedes ISO TC184/SC4/WG12 N7586
*)



SCHEMA Part_template_shape_with_parameters_arm;

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);


TYPE ptswp_external_identification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON external_identification_item WITH
   (Part_template_keepout_shape_model);
END_TYPE;

TYPE ptswp_requirement_assignment_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON requirement_assignment_item WITH
   (Part_template_keepout_shape_model);
END_TYPE;

TYPE ptswp_view_shape_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON view_shape_select WITH
   (Part_template_shape_model);
END_TYPE;

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;

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;

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;

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;

END_SCHEMA;  -- Part_template_shape_with_parameters_arm


© ISO 2014 — All rights reserved