ENTITY externally_defined_feature_definition

(* SCHEMA cast_parts_schema; *)
  ENTITY externally_defined_feature_definition
    SUBTYPE OF (feature_definition, externally_defined_item);
    WHERE
      wr1 : (((((SELF\characterized_object.description = 'thread') AND (
                SELF\externally_defined_item.item_id = 'external thread')) 
                AND (SELF\externally_defined_item.source.source_id = 
                'external feature specification')) OR (((SELF\
                characterized_object.description = 'gear') AND (SELF\
                externally_defined_item.item_id = 'external gear')) AND (
                SELF\externally_defined_item.source.source_id = 
                'external feature specification'))) OR (((SELF\
                characterized_object.description = 'marking') AND (SELF\
                externally_defined_item.item_id = 'external marking')) AND 
                (SELF\externally_defined_item.source.source_id = 
                'external feature specification'))) OR (((SELF\
                characterized_object.description = 'knurl') AND (SELF\
                externally_defined_item.item_id = 'external knurl')) AND (
                SELF\externally_defined_item.source.source_id = 
                'external feature specification'));
      wr2 : (NOT (SELF\characterized_object.description = 'thread')) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (
                SIZEOF(QUERY ( pdr <* USEDIN(pd,'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) AND ((5 <= SIZEOF(pdr.
                used_representation.items)) AND (SIZEOF(pdr.
                used_representation.items) <= 10))) )) = 1) )) = 1);
      wr3 : (NOT (SELF\characterized_object.description = 'marking')) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (
                SIZEOF(QUERY ( pdr <* USEDIN(pd,'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) AND (SIZEOF(pdr.used_representation.
                items) = 2)) )) = 1) )) = 1);
      wr4 : (NOT (SELF\characterized_object.description = 'knurl')) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (
                SIZEOF(QUERY ( pdr <* USEDIN(pd,'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) AND (SIZEOF(pdr.used_representation.
                items) = 1)) )) = 1) )) = 1);
      wr5 : (NOT (SELF\characterized_object.description IN ['knurl',
                'thread'])) OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(
                SELF,'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | 
               ('CAST_PARTS_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) )
                 | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
                'CAST_PARTS_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((sa_occ.
                description = 'partial area occurrence') AND (SIZEOF(
                QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
                'CAST_PARTS_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' + 
                'RELATED_SHAPE_ASPECT') | ((sar.description = 
                'applied area usage') AND (
                'CAST_PARTS_SCHEMA.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(
                sar))) ) | ('CAST_PARTS_SCHEMA.APPLIED_AREA' IN TYPEOF(sdr.
                relating_shape_aspect)) )) = 1)) )) <= 1)) )) = 0);
      wr6 : (NOT (SELF\characterized_object.description = 'marking')) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((
                'CAST_PARTS_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN 
             TYPEOF(it)) AND (it.name = 'marking text')) )) = 1)) )) = 0)) )) 
                = 0);
      wr7 : (NOT (SELF\characterized_object.description = 'thread')) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | (((
                'CAST_PARTS_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN 
                TYPEOF(it)) AND (it.name = 'removal direction')) AND ((it.
              description = 'internal') OR (it.description = 'external'))) )) 
                = 1)) )) = 0)) )) = 0);
      wr8 : (NOT (SELF\characterized_object.description = 'thread')) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((
                'CAST_PARTS_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN 
               TYPEOF(it)) AND (it.name = 'qualifier')) )) <= 1)) )) = 0)) )) 
                = 0);
      wr9 : (NOT (SELF\characterized_object.description = 'thread')) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((
                'CAST_PARTS_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN 
                TYPEOF(it)) AND (it.name = 'hand')) )) = 1)) )) = 0)) )) = 
                0);
      wr10: (NOT (SELF\characterized_object.description = 'thread')) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((
                'CAST_PARTS_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN 
                TYPEOF(it)) AND (it.name = 'fit class')) )) = 1)) )) = 0)) )) 
                = 0);
      wr11: (NOT (SELF\characterized_object.description = 'thread')) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((
                'CAST_PARTS_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN 
                TYPEOF(it)) AND (it.name = 'form')) )) = 1)) )) = 0)) )) = 
                0);
      wr12: (NOT (SELF\characterized_object.description = 'thread')) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((SIZEOF([
                'CAST_PARTS_SCHEMA.MEASURE_REPRESENTATION_ITEM',
                'CAST_PARTS_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) 
                = 2) AND (it.name = 'major diameter')) )) <= 1)) )) = 0)) )) 
                = 0);
      wr13: (NOT (SELF\characterized_object.description = 'thread')) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((SIZEOF([
                'CAST_PARTS_SCHEMA.MEASURE_REPRESENTATION_ITEM',
                'CAST_PARTS_SCHEMA.RATIO_MEASURE_WITH_UNIT'] * TYPEOF(it)) 
               = 2) AND (it.name = 'number of threads')) )) = 1)) )) = 0)) )) 
                = 0);
      wr14: SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((
                'CAST_PARTS_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN 
             TYPEOF(it)) AND (it.name = 'fit class 2')) )) <= 1)) )) = 0)) )) 
                = 0;
      wr15: SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((SIZEOF([
                'CAST_PARTS_SCHEMA.MEASURE_REPRESENTATION_ITEM',
                'CAST_PARTS_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) 
                = 2) AND (it.name = 'nominal size')) )) <= 1)) )) = 0)) )) 
                = 0;
      wr16: (NOT (SELF\characterized_object.description IN ['knurl','gear',
                'thread'])) OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(
                SELF,'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | 
               ('CAST_PARTS_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) )
                 | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
                'CAST_PARTS_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | (SIZEOF(
                QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
                'CAST_PARTS_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' + 
                'RELATED_SHAPE_ASPECT') | ((sar.description = 
                'applied shape') AND (
                'CAST_PARTS_SCHEMA.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(
                sar))) ) | ('CAST_PARTS_SCHEMA.SHAPE_ASPECT' IN TYPEOF(sdr.
                relating_shape_aspect)) )) = 1) )) <= 1)) )) = 0);
      wr17: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (
                SIZEOF(QUERY ( pdr <* USEDIN(pd,'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) AND (10 <= SIZEOF(pdr.
                used_representation.items))) AND (SIZEOF(pdr.
                used_representation.items) >= 11)) )) = 1) )) = 1);
      wr18: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((SIZEOF([
                'CAST_PARTS_SCHEMA.MEASURE_REPRESENTATION_ITEM',
                'CAST_PARTS_SCHEMA.RATIO_MEASURE_WITH_UNIT'] * TYPEOF(it)) 
                = 2) AND (it.name = 'number of teeth')) )) = 1)) )) = 0)) )) 
                = 0);
      wr19: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((SIZEOF([
                'CAST_PARTS_SCHEMA.MEASURE_REPRESENTATION_ITEM',
                'CAST_PARTS_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] * 
               TYPEOF(it)) = 2) AND (it.name = 'reference presure angle')) )) 
                = 1)) )) = 0)) )) = 0);
      wr20: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((SIZEOF([
                'CAST_PARTS_SCHEMA.MEASURE_REPRESENTATION_ITEM',
                'CAST_PARTS_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) 
               = 2) AND (it.name = 'rake shift factor')) )) = 1)) )) = 0)) )) 
                = 0);
      wr21: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((SIZEOF([
                'CAST_PARTS_SCHEMA.MEASURE_REPRESENTATION_ITEM',
                'CAST_PARTS_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) 
              = 2) AND (it.name = 'nominal tool depth')) )) = 1)) )) = 0)) )) 
                = 0);
      wr22: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((SIZEOF([
                'CAST_PARTS_SCHEMA.MEASURE_REPRESENTATION_ITEM',
                'CAST_PARTS_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) 
                = 2) AND (it.name = 'face width')) )) = 1)) )) = 0)) )) = 0);
      wr23: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((SIZEOF([
                'CAST_PARTS_SCHEMA.MEASURE_REPRESENTATION_ITEM',
                'CAST_PARTS_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) 
                = 2) AND (it.name = 'tip diameter')) )) = 1)) )) = 0)) )) =
                 0);
      wr24: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | (((
                'CAST_PARTS_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN 
                TYPEOF(it)) AND (it.name = 'module or diametral pitch')) 
                AND ((it.description = 'module') OR (it.description = 
                'diameter pitch'))) )) = 1)) )) = 0)) )) = 0);
      wr25: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((SIZEOF([
                'CAST_PARTS_SCHEMA.MEASURE_REPRESENTATION_ITEM',
                'CAST_PARTS_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) 
                = 2) AND (it.name = 'normal attribute')) )) = 1)) )) = 0)) )) 
                = 0);
      wr26: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | (((
                'CAST_PARTS_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN 
                TYPEOF(it)) AND (it.name = 'internal or external gear')) 
                AND ((it.description = 'internal') OR (it.description = 
                'external'))) )) = 1)) )) = 0)) )) = 0);
      wr27: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
                SIZEOF(QUERY ( pd <* USEDIN(SELF,
                'CAST_PARTS_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT 
                (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
                'CAST_PARTS_SCHEMA.' + 
                'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
                'CAST_PARTS_SCHEMA.' + 
                'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
                used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* 
                impl_rep.used_representation.items | ((SIZEOF([
                'CAST_PARTS_SCHEMA.MEASURE_REPRESENTATION_ITEM',
                'CAST_PARTS_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] * 
                TYPEOF(it)) = 2) AND (it.name = 'root fillet radius')) )) 
                <= 1)) )) = 0)) )) = 0);
  END_ENTITY; -- externally_defined_feature_definition

Explicit Attributes

Entity externally_defined_feature_definition has the following local and inherited explicit attributes:
AttributeTypeDefined By
 namelabel (STRING)characterized_object
 descriptiontext (STRING)characterized_object
 item_idsource_item (SELECT)externally_defined_item
 sourceexternal_source (ENTITY)externally_defined_item

Derived Attributes

    No derived attributes

Inverse Attributes

    No Inverse Attributes

Supertypes

Entity externally_defined_feature_definition inherits from the following supertypes:
  characterized_object
    feature_definition
  externally_defined_item

Subtypes

    No subtypes

Referenced By

Entity externally_defined_feature_definition and its supertypes are referenced by the following definitions:
DefinitionTypeReferenced Entity
 action_item SELECT characterized_object
 action_method_item SELECT externally_defined_item
 boss ENTITY characterized_object
 characterized_definition SELECT characterized_object
 composite_hole ENTITY characterized_object
 compound_feature ENTITY characterized_object
 document_reference_item SELECT externally_defined_feature_definition
 externally_defined_feature_definition ENTITY characterized_object
 externally_defined_feature_definition ENTITY externally_defined_item
 externally_defined_item_relationship ENTITY externally_defined_item
 gear ENTITY characterized_object
 outer_round ENTITY characterized_object
 pocket ENTITY characterized_object
 restrict_externally_defined_feature_definition RULE externally_defined_feature_definition
 revolved_profile ENTITY characterized_object
 rib ENTITY characterized_object
 subtype_mandatory_characterized_object RULE characterized_object
 turned_knurl ENTITY characterized_object


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:17:49-04:00