(* SCHEMA integrated_cnc_schema; *)
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, 'INTEGRATED_CNC_SCHEMA.' +
'ACTION_PROPERTY_REPRESENTATION.PROPERTY') |
(1 = SIZEOF (QUERY (it <* prep.representation.items |
(('INTEGRATED_CNC_SCHEMA.COMPOUND_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND
('INTEGRATED_CNC_SCHEMA.LIST_REPRESENTATION_ITEM'
IN TYPEOF(it.item_element)) AND
(0 = SIZEOF (QUERY (ie <* it.item_element | NOT (SIZEOF([
'INTEGRATED_CNC_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'INTEGRATED_CNC_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',
['INTEGRATED_CNC_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',
['INTEGRATED_CNC_SCHEMA.DIRECTION'])) AND
(verify_optional_action_property (SELF, 'back path direction')) AND
(verify_rep_item_for_action_property (SELF, 'back path direction',
['INTEGRATED_CNC_SCHEMA.DIRECTION'])) AND
(verify_optional_action_property (SELF, 'lift direction')) AND
(verify_rep_item_for_action_property (SELF, 'lift direction',
['INTEGRATED_CNC_SCHEMA.DIRECTION'])) AND
(verify_optional_action_property (SELF, 'stepover direction')) AND
(verify_rep_item_for_action_property (SELF, 'stepover direction',
['INTEGRATED_CNC_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',
['INTEGRATED_CNC_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',
['INTEGRATED_CNC_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',
['INTEGRATED_CNC_SCHEMA.DIRECTION'])) AND
(verify_optional_action_property (SELF, 'stepover direction')) AND
(verify_rep_item_for_action_property (SELF, 'stepover direction',
['INTEGRATED_CNC_SCHEMA.DIRECTION'])) AND
(verify_optional_action_property (SELF, 'stepover feedrate')) AND
(verify_rep_type_for_action_property (SELF, 'stepover feedrate',
['INTEGRATED_CNC_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',
['INTEGRATED_CNC_SCHEMA.DIRECTION'])) AND
(verify_optional_action_property (SELF, 'back path direction')) AND
(verify_rep_item_for_action_property (SELF, 'back path direction',
['INTEGRATED_CNC_SCHEMA.DIRECTION'])) AND
(verify_optional_action_property (SELF, 'lift direction')) AND
(verify_rep_item_for_action_property (SELF, 'lift direction',
['INTEGRATED_CNC_SCHEMA.DIRECTION'])) AND
(verify_optional_action_property (SELF, 'stepover direction')) AND
(verify_rep_item_for_action_property (SELF, 'stepover direction',
['INTEGRATED_CNC_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',
['INTEGRATED_CNC_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',
['INTEGRATED_CNC_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',
['INTEGRATED_CNC_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',
['INTEGRATED_CNC_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; -- 10303-238: integrated_cnc_schema
|
Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2010-01-12T10:42:24-02:00