(* SCHEMA integrated_cnc_schema; *)
ENTITY machining_functions
SUBTYPE OF (action_method);
WHERE
WR1: NOT (SELF.description = 'milling') OR
((verify_required_action_property (SELF, 'coolant')) AND
(verify_enumeration_action_property (SELF, 'coolant',
['coolant on', 'coolant off'])) AND
(verify_optional_action_property
(SELF, 'coolant pressure')) AND
(verify_pressure_measure_action_property
(SELF, 'coolant pressure')) AND
(verify_optional_action_property (SELF, 'mist')) AND
(verify_enumeration_action_property (SELF, 'mist',
['mist on', 'mist off'])) AND
(verify_optional_action_property
(SELF, 'through spindle coolant')) AND
(verify_enumeration_action_property
(SELF, 'through spindle coolant',
['through spindle coolant on', 'through spindle coolant off'])) AND
(verify_optional_action_property
(SELF, 'through spindle pressure')) AND
(verify_pressure_measure_action_property
(SELF, 'through spindle pressure')) AND
-- axis constraints property must contain zero or more ranges
(0 = SIZEOF (QUERY (prop <* get_action_property
(SELF, 'axis constraints') | NOT
((0 < SIZEOF (QUERY (prep <* USEDIN (prop,
'INTEGRATED_CNC_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY') |
(0 <= SIZEOF (QUERY (it <* prep.representation.items |
('INTEGRATED_CNC_SCHEMA.VALUE_RANGE' in TYPEOF(it)))))
)))))))
);
WR2: NOT (SELF.description = 'turning') OR
((verify_required_action_property (SELF, 'coolant')) AND
(verify_enumeration_action_property (SELF, 'coolant',
['coolant on', 'coolant off'])) AND
(verify_optional_action_property (SELF, 'coolant type')) AND
(verify_enumeration_action_property (SELF, 'coolant type',
['flood', 'mist', 'through tool'])) AND
(verify_optional_action_property
(SELF, 'coolant pressure')) AND
(verify_pressure_measure_action_property
(SELF, 'coolant pressure')) AND
(verify_optional_action_property (SELF, 'tail stock')) AND
(verify_enumeration_action_property (SELF, 'tail stock',
['tail stock used', 'tail stock not used'])) AND
(verify_optional_action_property (SELF, 'steady rest')) AND
(verify_enumeration_action_property (SELF, 'steady rest',
['steady rest used', 'steady rest not used'])) AND
(verify_optional_action_property (SELF, 'follow rest')) AND
(verify_enumeration_action_property (SELF, 'follow rest',
['follow rest used', 'follow rest not used']))
);
WR3: NOT (SELF.description IN ['milling', 'turning']) OR
((verify_optional_action_property (SELF, 'axis clamping')) AND
(0 = SIZEOF (QUERY (prop <*
get_action_property (SELF, 'axis clamping') | 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
('INTEGRATED_CNC_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(ie)) )))
))))
)))
))) AND
(verify_optional_action_property (SELF, 'chip removal')) AND
(verify_enumeration_action_property (SELF, 'chip removal',
['chip removal on', 'chip removal off'])) AND
(verify_optional_action_property (SELF, 'oriented spindle stop')) AND
(verify_rep_item_for_action_property (SELF, 'oriented spindle stop',
['INTEGRATED_CNC_SCHEMA.DIRECTION'])) AND
(verify_related_type_for_amr (SELF,
['INTEGRATED_CNC_SCHEMA.MACHINING_PROCESS_MODEL_RELATIONSHIP'],
['INTEGRATED_CNC_SCHEMA.MACHINING_PROCESS_MODEL'])) AND
(verify_optional_action_property (SELF, 'other functions')) AND
(0 = SIZEOF (QUERY (prop <* get_action_property
(SELF, 'other functions') | 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.SET_REPRESENTATION_ITEM'
IN TYPEOF(it.item_element)))
)))
)))
)))
);
END_ENTITY; -- 10303-238: integrated_cnc_schema
|
Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2010-01-12T10:42:21-02:00