(* 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