| Application module: Part template | ISO/TS 10303-1722:2019(E) © ISO | 
         (*
ISO/TC 184/SC 4/WG 12 N9360 - ISO/TS 10303-1722 Part template - EXPRESS ARM
Supersedes 
         ISO/TC 184/SC 4/WG 12 N8274
*)
         
SCHEMA Part_template_arm;
         USE FROM
         Feature_and_connection_zone_arm;
            -- ISO/TS 10303-1671
         USE FROM
         Part_shape_arm;
            -- ISO/TS 10303-1807
TYPE plp_material_item_select =
         
         
         SELECT
         BASED_ON
         material_item_select
         WITH 
         
            (Template_definition);
         END_TYPE; 
         
ENTITY Template
           SUBTYPE OF (Part);
UNIQUE
           UR1: SELF\Product.id;
         
         END_ENTITY;
ENTITY Template_definition
           SUBTYPE OF (Part_view_definition);
           SELF\Product_view_definition.defined_version : Template_version;
         
         END_ENTITY;
ENTITY Template_version
           SUBTYPE OF (Part_version);
           SELF\Product_version.of_product : Template;
         
         END_ENTITY;
RULE template_definition_constraint FOR 
         (Product_view_definition);
WHERE
           WR1: SIZEOF ( QUERY ( pvd <* Product_view_definition | ( NOT ( 'PART_TEMPLATE_ARM.' + 'TEMPLATE_DEFINITION' IN TYPEOF (pvd)
            ) ) AND ( 'PART_TEMPLATE_ARM.' + 'TEMPLATE_VERSION' IN TYPEOF ( pvd.defined_version) ) ) ) =0;
         END_RULE;
         
RULE template_version_constraint FOR 
         (Product_version);
WHERE
           WR1: SIZEOF ( QUERY ( pv <* Product_version | ( NOT ( 'PART_TEMPLATE_ARM.' + 'TEMPLATE_VERSION' IN TYPEOF ( pv) ) ) AND (
            'PART_TEMPLATE_ARM.' + 'TEMPLATE' IN TYPEOF ( pv.of_product) ) ) ) =0;
         END_RULE;
         
         END_SCHEMA;  -- Part_template_arm
© ISO 2019 — All rights reserved