(* SCHEMA step_merged_ap_schema; *)
-- IN AP238 STEP-NC
ENTITY turning_type_strategy
SUBTYPE OF (machining_strategy);
WHERE
WR1:
SELF.description IN [ 'unidirectional', 'bidirectional', 'contour', 'thread', 'grooving', 'multistep grooving', 'explicit' ];
WR2:
verify_optional_action_property(SELF, 'overcut length') AND verify_length_measure_action_property(SELF, 'overcut length');
WR3:
verify_optional_action_property(SELF, 'multiple passes') AND verify_enumeration_action_property(SELF, 'multiple passes', [ 'multiple passes allowed', 'multiple passes not allowed' ]);
WR4:
verify_optional_action_property(SELF, 'cutting depth') AND (0 = SIZEOF(QUERY (prop <* get_action_property(SELF, 'cutting depth')| NOT (0 < SIZEOF(QUERY (prep <* USEDIN(prop, 'STEP_MERGED_AP_SCHEMA.' + 'ACTION_PROPERTY_REPRESENTATION.PROPERTY')| (1 = SIZEOF(QUERY (it <* prep.representation.items| (('STEP_MERGED_AP_SCHEMA.COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(it)) AND ('STEP_MERGED_AP_SCHEMA.LIST_REPRESENTATION_ITEM' IN TYPEOF(it.item_element))) AND (0 = SIZEOF(QUERY (ie <* it.item_element| NOT (SIZEOF([ 'STEP_MERGED_AP_SCHEMA.MEASURE_REPRESENTATION_ITEM', 'STEP_MERGED_AP_SCHEMA.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF(ie)) = 2)))))))))))));
WR5:
(verify_optional_action_property(SELF, 'variable feedrate') AND verify_rep_type_for_action_property(SELF, 'variable feedrate', [ 'STEP_MERGED_AP_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION' ])) AND verify_rep_name_for_action_property(SELF, 'variable feedrate', [ 'relative speed' ]);
WR6:
NOT (SELF.description = 'unidirectional') OR ((((((((((((((verify_optional_action_property(SELF, 'feed direction') AND verify_rep_item_for_action_property(SELF, 'feed direction', [ 'STEP_MERGED_AP_SCHEMA.DIRECTION' ])) AND verify_optional_action_property(SELF, 'back path direction')) AND verify_rep_item_for_action_property(SELF, 'back path direction', [ 'STEP_MERGED_AP_SCHEMA.DIRECTION' ])) AND verify_optional_action_property(SELF, 'lift direction')) AND verify_rep_item_for_action_property(SELF, 'lift direction', [ 'STEP_MERGED_AP_SCHEMA.DIRECTION' ])) AND verify_optional_action_property(SELF, 'stepover direction')) AND verify_rep_item_for_action_property(SELF, 'stepover direction', [ 'STEP_MERGED_AP_SCHEMA.DIRECTION' ])) AND verify_optional_action_property(SELF, 'lift height')) AND verify_length_measure_action_property(SELF, 'lift height')) AND verify_optional_action_property(SELF, 'lift feedrate')) AND verify_rep_type_for_action_property(SELF, 'lift feedrate', [ 'STEP_MERGED_AP_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION' ])) AND verify_rep_name_for_action_property(SELF, 'lift feedrate', [ 'feed speed', 'feed per revolution' ])) AND verify_optional_action_property(SELF, 'stepover feedrate')) AND verify_rep_type_for_action_property(SELF, 'stepover feedrate', [ 'STEP_MERGED_AP_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION' ])) AND verify_rep_name_for_action_property(SELF, 'stepover feedrate', [ 'feed speed', 'feed per revolution' ]);
WR7:
NOT (SELF.description = 'bidirectional') OR (((((verify_optional_action_property(SELF, 'feed direction') AND verify_rep_item_for_action_property(SELF, 'feed direction', [ 'STEP_MERGED_AP_SCHEMA.DIRECTION' ])) AND verify_optional_action_property(SELF, 'stepover direction')) AND verify_rep_item_for_action_property(SELF, 'stepover direction', [ 'STEP_MERGED_AP_SCHEMA.DIRECTION' ])) AND verify_optional_action_property(SELF, 'stepover feedrate')) AND verify_rep_type_for_action_property(SELF, 'stepover feedrate', [ 'STEP_MERGED_AP_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION' ])) AND verify_rep_name_for_action_property(SELF, 'stepover feedrate', [ 'feed speed', 'feed per revolution' ]);
WR8:
NOT (SELF.description = 'contour') OR (((((((((((((((((verify_optional_action_property(SELF, 'feed direction') AND verify_rep_item_for_action_property(SELF, 'feed direction', [ 'STEP_MERGED_AP_SCHEMA.DIRECTION' ])) AND verify_optional_action_property(SELF, 'back path direction')) AND verify_rep_item_for_action_property(SELF, 'back path direction', [ 'STEP_MERGED_AP_SCHEMA.DIRECTION' ])) AND verify_optional_action_property(SELF, 'lift direction')) AND verify_rep_item_for_action_property(SELF, 'lift direction', [ 'STEP_MERGED_AP_SCHEMA.DIRECTION' ])) AND verify_optional_action_property(SELF, 'stepover direction')) AND verify_rep_item_for_action_property(SELF, 'stepover direction', [ 'STEP_MERGED_AP_SCHEMA.DIRECTION' ])) AND verify_optional_action_property(SELF, 'lift height')) AND verify_length_measure_action_property(SELF, 'lift height')) AND verify_optional_action_property(SELF, 'lift feedrate')) AND verify_rep_type_for_action_property(SELF, 'lift feedrate', [ 'STEP_MERGED_AP_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION' ])) AND verify_rep_name_for_action_property(SELF, 'lift feedrate', [ 'feed speed', 'feed per revolution' ])) AND verify_optional_action_property(SELF, 'stepover feedrate')) AND verify_rep_type_for_action_property(SELF, 'stepover feedrate', [ 'STEP_MERGED_AP_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION' ])) AND verify_rep_name_for_action_property(SELF, 'stepover feedrate', [ 'feed speed', 'feed per revolution' ])) AND verify_optional_action_property(SELF, 'variable stepover feedrate')) AND verify_rep_type_for_action_property(SELF, 'variable stepover feedrate', [ 'STEP_MERGED_AP_SCHEMA.MACHINING_FEED_SPEED_REPRESENTATION' ])) AND verify_rep_name_for_action_property(SELF, 'variable stepover feedrate', [ 'relative speed' ]);
WR9:
NOT (SELF.description = 'thread') OR ((((((verify_required_action_property(SELF, 'cut in amount') AND verify_enumeration_action_property(SELF, 'cut in amount', [ 'constant depth', 'variable depth', 'constant removal amount' ])) AND verify_required_action_property(SELF, 'threading direction')) AND verify_enumeration_action_property(SELF, 'threading direction', [ 'left', 'right', 'center', 'left zigzag', 'right zigzag' ])) AND verify_optional_action_property(SELF, 'path return angle')) AND verify_angle_measure_action_property(SELF, 'path return angle')) AND verify_optional_action_property(SELF, 'lift height')) AND verify_length_measure_action_property(SELF, 'lift height');
WR10:
NOT (SELF.description IN [ 'grooving', 'multistep grooving' ]) OR ((verify_optional_action_property(SELF, 'grooving direction') AND verify_rep_item_for_action_property(SELF, 'grooving direction', [ 'STEP_MERGED_AP_SCHEMA.DIRECTION' ])) AND verify_optional_action_property(SELF, 'travel distance')) AND verify_length_measure_action_property(SELF, 'travel distance');
WR11:
NOT (SELF.description = 'multistep grooving') OR verify_optional_action_property(SELF, 'retract distance') AND verify_length_measure_action_property(SELF, 'retract distance');
END_ENTITY;
|
Generated by STEP Tools® EXPRESS to HTML Converter
2020-07-28T17:02:19-04:00