ENTITY machining_tool

(* SCHEMA step_merged_ap_schema; *)
-- IN AP238 STEP-NC
ENTITY machining_tool
   SUBTYPE OF (action_resource);
   WHERE
      WR1:
         NOT (SELF.kind.name = 'milling cutting tool') OR ((((((((((0 <= SIZEOF(QUERY (arr <* USEDIN(SELF, 'STEP_MERGED_AP_SCHEMA.ACTION_RESOURCE_RELATIONSHIP.RELATING_RESOURCE')| ('STEP_MERGED_AP_SCHEMA.MACHINING_CUTTING_COMPONENT' IN TYPEOF(arr.related_resource)) AND (arr.related_resource.kind.name = 'milling cutting edge')))) AND verify_optional_tool_body_item(SELF, 'overall assembly length')) AND verify_length_measure_tool_body_item(SELF, 'overall assembly length')) AND verify_optional_tool_body_item(SELF, 'effective cutting diameter')) AND verify_length_measure_tool_body_item(SELF, 'effective cutting diameter')) AND verify_optional_tool_body_item(SELF, 'maximum depth of cut')) AND verify_length_measure_tool_body_item(SELF, 'maximum depth of cut')) AND verify_optional_tool_body_item(SELF, 'hand of cut')) AND verify_enumeration_tool_body_item(SELF, 'hand of cut', [ 'left', 'right', 'neutral' ])) AND verify_optional_tool_body_item(SELF, 'coolant through tool')) AND verify_enumeration_tool_body_item(SELF, 'coolant through tool', [ 'supported', 'not supported' ]);
      WR2:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'counterbore', 'countersink', 'spade drill', 'spot drill', 'step drill', 'tapered drill', 'twist drill', 'drill' ])) OR verify_optional_tool_body_item(SELF, 'point angle') AND verify_angle_measure_tool_body_item(SELF, 'point angle');
      WR3:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'countersink')) OR ((verify_optional_tool_body_item(SELF, 'minimum cutting diameter') AND verify_length_measure_tool_body_item(SELF, 'minimum cutting diameter')) AND verify_required_tool_body_item(SELF, 'maximum usable length')) AND verify_length_measure_tool_body_item(SELF, 'maximum usable length');
      WR4:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'tapered drill')) OR verify_required_tool_body_item(SELF, 'taper angle') AND verify_angle_measure_tool_body_item(SELF, 'taper angle');
      WR5:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'step drill')) OR ((verify_required_tool_body_item(SELF, 'step diameters') AND verify_rep_item_for_tool_body(SELF, 'step diameters', [ 'STEP_MERGED_AP_SCHEMA.COMPOUND_REPRESENTATION_ITEM' ])) AND verify_required_tool_body_item(SELF, 'step lengths')) AND verify_rep_item_for_tool_body(SELF, 'step lengths', [ 'STEP_MERGED_AP_SCHEMA.COMPOUND_REPRESENTATION_ITEM' ]);
      WR6:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'ballnose endmill', 'bullnose endmill', 'dovetail mill', 'endmill', 'facemill', 'profiled endmill', 'shoulder mill', 'tee slot mill', 'thread mill', 'side mill' ])) OR ((verify_optional_tool_body_item(SELF, 'number of effective teeth') AND verify_count_measure_tool_body_item(SELF, 'number of effective teeth')) AND verify_optional_tool_body_item(SELF, 'edge radius')) AND verify_length_measure_tool_body_item(SELF, 'edge radius');
      WR7:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'ballnose endmill', 'bullnose endmill', 'endmill', 'facemill', 'profiled endmill' ])) OR verify_optional_tool_body_item(SELF, 'tool cutting edge angle') AND verify_angle_measure_tool_body_item(SELF, 'tool cutting edge angle');
      WR8:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'ballnose endmill')) OR verify_ballnose_endmill_dimensions(SELF);
      WR9:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'bullnose endmill')) OR verify_bullnose_endmill_dimensions(SELF);
      WR10:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'tee slot mill')) OR verify_optional_tool_body_item(SELF, 'cutting width') AND verify_length_measure_tool_body_item(SELF, 'cutting width');
      WR11:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'dovetail mill')) OR verify_optional_tool_body_item(SELF, 'included angle') AND verify_angle_measure_tool_body_item(SELF, 'included angle');
      WR12:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'side mill')) OR verify_optional_tool_body_item(SELF, 'cutter width') AND verify_length_measure_tool_body_item(SELF, 'cutter width');
      WR13:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'thread mill', 'tapping tool', 'combined drill and tap' ])) OR ((((verify_required_tool_body_item(SELF, 'thread form type') AND verify_rep_item_for_tool_body(SELF, 'thread form type', [ 'STEP_MERGED_AP_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' ])) AND verify_required_tool_body_item(SELF, 'thread size')) AND verify_length_measure_tool_body_item(SELF, 'thread size')) AND verify_required_tool_body_item(SELF, 'thread pitch')) AND verify_length_measure_tool_body_item(SELF, 'thread pitch');
      WR14:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'tapping tool', 'combined drill and tap' ])) OR verify_required_tool_body_item(SELF, 'taper thread count') AND verify_count_measure_tool_body_item(SELF, 'taper thread count');
      WR15:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'reamer', 'combined drill and reamer', 'tapered reamer' ])) OR verify_required_tool_body_item(SELF, 'taper length') AND verify_length_measure_tool_body_item(SELF, 'taper length');
      WR16:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'tapered reamer')) OR verify_required_tool_body_item(SELF, 'taper angle') AND verify_angle_measure_tool_body_item(SELF, 'taper angle');
      WR17:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description IN [ 'combined drill and reamer', 'combined drill and tap' ])) OR verify_required_tool_body_item(SELF, 'drill length') AND verify_length_measure_tool_body_item(SELF, 'drill length');
      WR18:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'boring tool')) OR verify_required_tool_body_item(SELF, 'retract movement') AND verify_enumeration_tool_body_item(SELF, 'retract movement', [ 'permitted', 'forbidden' ]);
      WR19:
         NOT ((SELF.kind.name = 'milling cutting tool') AND (SELF.description = 'user defined milling tool')) OR ((((((((((verify_optional_tool_body_item(SELF, 'tool description') AND verify_rep_item_for_tool_body(SELF, 'tool description', [ 'STEP_MERGED_AP_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' ])) AND verify_optional_tool_body_item(SELF, 'corner radius')) AND verify_length_measure_tool_body_item(SELF, 'corner radius')) AND verify_optional_tool_body_item(SELF, 'corner radius center horizontal')) AND verify_length_measure_tool_body_item(SELF, 'corner radius center horizontal')) AND verify_optional_tool_body_item(SELF, 'corner radius center vertical')) AND verify_length_measure_tool_body_item(SELF, 'corner radius center vertical')) AND verify_optional_tool_body_item(SELF, 'taper angle')) AND verify_angle_measure_tool_body_item(SELF, 'taper angle')) AND verify_optional_tool_body_item(SELF, 'tip outer angle')) AND verify_angle_measure_tool_body_item(SELF, 'tip outer angle');
      WR20:
         NOT (SELF.kind.name = 'turning cutting tool') OR (((((((((((verify_required_tool_body_item(SELF, 'functional length') AND verify_length_measure_tool_body_item(SELF, 'functional length')) AND verify_required_tool_body_item(SELF, 'f dimension')) AND verify_length_measure_tool_body_item(SELF, 'f dimension')) AND verify_optional_tool_body_item(SELF, 'minimum cutting diameter')) AND verify_length_measure_tool_body_item(SELF, 'minimum cutting diameter')) AND verify_optional_tool_body_item(SELF, 'a dimension on f')) AND verify_length_measure_tool_body_item(SELF, 'a dimension on f')) AND verify_optional_tool_body_item(SELF, 'a dimension on lf')) AND verify_length_measure_tool_body_item(SELF, 'a dimension on lf')) AND verify_optional_tool_body_item(SELF, 'hand of cut')) AND verify_enumeration_tool_body_item(SELF, 'hand of cut', [ 'left', 'right', 'neutral' ])) AND (0 <= SIZEOF(QUERY (arr <* USEDIN(SELF, 'STEP_MERGED_AP_SCHEMA.ACTION_RESOURCE_RELATIONSHIP.RELATING_RESOURCE')| ('STEP_MERGED_AP_SCHEMA.MACHINING_CUTTING_COMPONENT' IN TYPEOF(arr.related_resource)) AND (arr.related_resource.kind.name = 'turning cutting edge'))));
      WR21:
         NOT ((SELF.kind.name = 'turning cutting tool') AND (SELF.description = 'turning threading tool')) OR ((((((((verify_required_tool_body_item(SELF, 'thread pitch') AND verify_length_measure_tool_body_item(SELF, 'thread pitch')) AND verify_required_tool_body_item(SELF, 'thread hand')) AND verify_enumeration_tool_body_item(SELF, 'thread hand', [ 'left', 'right' ])) AND verify_required_tool_body_item(SELF, 'thread type')) AND verify_enumeration_tool_body_item(SELF, 'thread type', [ 'internal', 'external' ])) AND verify_required_tool_body_item(SELF, 'thread profile')) AND verify_enumeration_tool_body_item(SELF, 'thread profile', [ 'full', 'partial' ])) AND verify_required_tool_body_item(SELF, 'thread form type')) AND verify_rep_item_for_tool_body(SELF, 'thread form type', [ 'STEP_MERGED_AP_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' ]);
      WR22:
         NOT ((SELF.kind.name = 'turning cutting tool') AND (SELF.description = 'grooving tool')) OR ((((((((verify_required_tool_body_item(SELF, 'cutting width') AND verify_length_measure_tool_body_item(SELF, 'cutting width')) AND verify_required_tool_body_item(SELF, 'maximum grooving depth')) AND verify_length_measure_tool_body_item(SELF, 'maximum grooving depth')) AND verify_optional_tool_body_item(SELF, 'corner radius')) AND verify_length_measure_tool_body_item(SELF, 'corner radius')) AND verify_optional_tool_body_item(SELF, 'maximum axial grooving diameter')) AND verify_length_measure_tool_body_item(SELF, 'maximum axial grooving diameter')) AND verify_optional_tool_body_item(SELF, 'minimum axial grooving diameter')) AND verify_length_measure_tool_body_item(SELF, 'minimum axial grooving diameter');
      WR23:
         NOT ((SELF.kind.name = 'turning cutting tool') AND (SELF.description = 'knurling tool')) OR ((((((verify_required_tool_body_item(SELF, 'knurl pattern') AND verify_enumeration_tool_body_item(SELF, 'knurl pattern', [ 'straight', 'diagonal', 'diamond' ])) AND verify_optional_tool_body_item(SELF, 'cutting length')) AND verify_length_measure_tool_body_item(SELF, 'cutting length')) AND verify_optional_tool_body_item(SELF, 'cutting angle')) AND verify_angle_measure_tool_body_item(SELF, 'cutting angle')) AND verify_optional_tool_body_item(SELF, 'cutting pitch')) AND verify_length_measure_tool_body_item(SELF, 'cutting pitch');
      WR24:
         NOT ((SELF.kind.name = 'turning cutting tool') AND (SELF.description = 'user defined turning tool')) OR verify_required_tool_body_item(SELF, 'tool identifier') AND verify_rep_item_for_tool_body(SELF, 'tool identifier', [ 'STEP_MERGED_AP_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' ]);
      WR25:
         1 >= SIZEOF(QUERY (rar <* USEDIN(SELF, 'STEP_MERGED_AP_SCHEMA.REQUIREMENT_FOR_ACTION_RESOURCE.RESOURCES')| (1 = SIZEOF(rar.operations)) AND ('STEP_MERGED_AP_SCHEMA.MACHINING_TOOL_USAGE' IN TYPEOF(rar\action_resource_requirement.operations[1]))));
END_ENTITY;

Explicit Attributes

Entity machining_tool has the following local and inherited explicit attributes:
AttributeTypeDefined By
 namelabel (STRING)action_resource
 descriptiontext (STRING)action_resource
 usageSET OF supported_item (SELECT)action_resource
 kindaction_resource_type (ENTITY)action_resource

Derived Attributes

    No derived attributes

Inverse Attributes

    No Inverse Attributes

Supertypes

Entity machining_tool inherits from the following supertypes:
  action_resource

Subtypes

    No subtypes

Referenced By

Entity machining_tool and its supertypes are referenced by the following definitions:
DefinitionTypeReferenced Entity
 action_resource_relationship ENTITY action_resource
 characterized_resource_definition SELECT action_resource
 get_tool_body_item FUNCTION machining_tool
 requirement_for_action_resource ENTITY action_resource
 verify_angle_measure_tool_body_item FUNCTION machining_tool
 verify_ballnose_endmill_dimensions FUNCTION machining_tool
 verify_bullnose_endmill_dimensions FUNCTION machining_tool
 verify_count_measure_tool_body_item FUNCTION machining_tool
 verify_enumeration_tool_body_item FUNCTION machining_tool
 verify_length_measure_tool_body_item FUNCTION machining_tool
 verify_optional_tool_body_item FUNCTION machining_tool
 verify_rep_item_for_tool_body FUNCTION machining_tool
 verify_required_tool_body_item FUNCTION machining_tool


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2017-01-19T11:17:23-05:00