ENTITY machining_toolpath
(* SCHEMA integrated_cnc_schema; *)
ENTITY machining_toolpath
SUBTYPE OF (action_method);
WHERE
WR1: (SELF.description IN ['feedstop', 'axis trajectory',
'cutter location trajectory', 'cutter contact trajectory',
'approach lift path angle', 'approach lift path tangent',
'connect security plane', 'connect direct']);
WR2: (verify_optional_action_property (SELF, 'priority')) AND
(verify_enumeration_action_property (SELF, 'priority',
['required', 'suggested']));
WR3: (verify_optional_action_property (SELF, 'trajectory type')) AND
(verify_enumeration_action_property (SELF, 'trajectory type',
['approach', 'lift', 'connect', 'non-contact',
'contact', 'trajectory path']));
WR4: ((verify_optional_action_property (SELF, 'speed profile')) AND
(0 = SIZEOF (QUERY (prop <*
get_action_property (SELF, 'speed profile') | NOT
(0 < SIZEOF (QUERY (prep <* USEDIN (prop,
'INTEGRATED_CNC_SCHEMA.' +
'ACTION_PROPERTY_REPRESENTATION.PROPERTY') |
('INTEGRATED_CNC_SCHEMA.' +
'MACHINING_TOOLPATH_SPEED_PROFILE_REPRESENTATION'
IN TYPEOF(prep.representation)) )))
)))
);
WR5: (verify_optional_relating_amr (SELF,
['INTEGRATED_CNC_SCHEMA.MACHINING_TECHNOLOGY_RELATIONSHIP'])) AND
(verify_related_type_for_amr (SELF,
['INTEGRATED_CNC_SCHEMA.MACHINING_TECHNOLOGY_RELATIONSHIP'],
['INTEGRATED_CNC_SCHEMA.MACHINING_TECHNOLOGY']));
WR6: (verify_optional_relating_amr (SELF,
['INTEGRATED_CNC_SCHEMA.MACHINING_FUNCTIONS_RELATIONSHIP'])) AND
(verify_related_type_for_amr (SELF,
['INTEGRATED_CNC_SCHEMA.MACHINING_FUNCTIONS_RELATIONSHIP'],
['INTEGRATED_CNC_SCHEMA.MACHINING_FUNCTIONS']));
WR7: NOT (SELF.description IN ['axis trajectory',
'cutter location trajectory',
'cutter contact trajectory']) OR
((verify_optional_action_property (SELF, 'direction')) AND
(verify_enumeration_action_property (SELF, 'direction',
['beginning to end', 'end to beginning']))
);
WR8: NOT (SELF.description = 'connect security plane') OR
((verify_optional_action_property (SELF, 'up direction')) AND
(verify_rep_item_for_action_property (SELF, 'up direction',
['INTEGRATED_CNC_SCHEMA.DIRECTION'])) AND
(verify_optional_action_property (SELF, 'down direction')) AND
(verify_rep_item_for_action_property (SELF, 'down direction',
['INTEGRATED_CNC_SCHEMA.DIRECTION']))
);
WR9: NOT (SELF.description = 'feedstop') OR
((verify_required_action_property (SELF, 'dwell')) AND
(verify_time_measure_action_property (SELF, 'dwell'))
);
WR10: NOT (SELF.description = 'axis trajectory') OR
((verify_required_action_property (SELF, 'axis commands')) AND
-- axis commands property must contain one or more bounded curves
(0 = SIZEOF (QUERY (prop <* get_action_property (SELF, 'axis commands') |
NOT ((0 < SIZEOF (QUERY (prep <* USEDIN (prop,
'INTEGRATED_CNC_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY') |
(1 <= SIZEOF (QUERY (it <* prep.representation.items |
('INTEGRATED_CNC_SCHEMA.BOUNDED_CURVE' in TYPEOF(it)))))
)))))))
);
WR11: NOT (SELF.description IN ['approach lift path angle',
'approach lift path tangent']) OR
((verify_required_action_property (SELF, 'fix point')) AND
(verify_rep_item_for_action_property (SELF, 'fix point',
['INTEGRATED_CNC_SCHEMA.CARTESIAN_POINT'])) AND
(verify_optional_action_property (SELF, 'fix point direction')) AND
(verify_rep_item_for_action_property (SELF, 'fix point direction',
['INTEGRATED_CNC_SCHEMA.DIRECTION']))
);
WR12: NOT (SELF.description = 'approach lift path angle') OR
((verify_required_action_property (SELF, 'angle')) AND
(verify_angle_measure_action_property (SELF, 'angle')) AND
(verify_required_action_property (SELF, 'bend distance')) AND
(verify_length_measure_action_property (SELF, 'bend distance'))
);
WR13: NOT (SELF.description = 'approach lift path tangent') OR
((verify_required_action_property (SELF, 'radius')) AND
(verify_length_measure_action_property (SELF, 'radius'))
);
WR14: NOT (SELF.description = 'cutter location trajectory') OR
((verify_required_action_property (SELF, 'basic curve')) AND
(verify_rep_item_for_action_property (SELF, 'basic curve',
['INTEGRATED_CNC_SCHEMA.BOUNDED_CURVE'])) AND
(verify_optional_action_property (SELF, 'surface normal')) AND
(verify_rep_item_for_action_property (SELF, 'surface normal',
['INTEGRATED_CNC_SCHEMA.BOUNDED_CURVE'])) AND
(verify_optional_action_property (SELF, 'tool axis')) AND
(verify_rep_item_for_action_property (SELF, 'tool axis',
['INTEGRATED_CNC_SCHEMA.BOUNDED_CURVE'])) AND
(verify_optional_action_property
(SELF, 'path maximum deviation')) AND
(verify_length_measure_action_property
(SELF, 'path maximum deviation')) AND
(verify_optional_action_property
(SELF, 'tool axis maximum deviation')) AND
(verify_angle_measure_action_property
(SELF, 'tool axis maximum deviation'))
);
WR15: NOT (SELF.description = 'cutter contact trajectory') OR
((((verify_required_action_property (SELF, 'basic curve')) AND
(verify_rep_item_for_action_property (SELF, 'basic curve',
['INTEGRATED_CNC_SCHEMA.BOUNDED_PCURVE'])) )
OR
((verify_required_action_property (SELF, 'basic curve')) AND
(verify_rep_item_for_action_property (SELF, 'basic curve',
['INTEGRATED_CNC_SCHEMA.BOUNDED_CURVE'])) AND
(verify_required_action_property (SELF, 'surface normal')) AND
(verify_rep_item_for_action_property (SELF, 'surface normal',
['INTEGRATED_CNC_SCHEMA.BOUNDED_CURVE'])) )
) AND
(verify_optional_action_property (SELF, 'tool axis')) AND
(verify_rep_item_for_action_property (SELF, 'tool axis',
['INTEGRATED_CNC_SCHEMA.BOUNDED_CURVE'])) AND
(verify_optional_action_property (SELF, 'contact type')) AND
(verify_enumeration_action_property (SELF, 'contact type',
['side', 'front'])) AND
(verify_optional_action_property
(SELF, 'path maximum deviation')) AND
(verify_length_measure_action_property
(SELF, 'path maximum deviation')) AND
(verify_optional_action_property
(SELF, 'tool axis maximum deviation')) AND
(verify_angle_measure_action_property
(SELF, 'tool axis maximum deviation'))
);
WR16: NOT (SELF.description IN ['axis trajectory',
'cutter location trajectory',
'cutter contact trajectory']) OR
((verify_optional_action_property
(SELF, 'material removal depth')) AND
((verify_length_measure_action_property
(SELF, 'material removal depth')) OR
(verify_rep_item_for_action_property
(SELF, 'material removal depth',
['INTEGRATED_CNC_SCHEMA.BOUNDED_CURVE']))) AND
(verify_optional_action_property
(SELF, 'material removal overcut')) AND
((verify_length_measure_action_property
(SELF, 'material removal overcut')) OR
(verify_rep_item_for_action_property
(SELF, 'material removal overcut',
['INTEGRATED_CNC_SCHEMA.BOUNDED_CURVE']))) AND
(verify_optional_action_property
(SELF, 'material removal total volume')) AND
(verify_rep_item_for_action_property
(SELF, 'material removal total volume',
['INTEGRATED_CNC_SCHEMA.MEASURE_REPRESENTATION_ITEM']))
);
END_ENTITY; -- 10303-238: integrated_cnc_schema
Explicit Attributes
Entity machining_toolpath has the following local and inherited explicit attributes:
Derived Attributes
No derived attributes
Inverse Attributes
No Inverse AttributesSupertypes
Entity machining_toolpath inherits from the following supertypes:
action_method
Subtypes
No subtypesReferenced By
Entity machining_toolpath and its supertypes are referenced by the following definitions:
[Top Level Definitions] Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2010-01-12T10:42:21-02:00