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:
AttributeTypeDefined By
 namelabel (STRING)action_method
 descriptiontext (STRING)action_method
 consequencetext (STRING)action_method
 purposetext (STRING)action_method

Derived Attributes

    No derived attributes

Inverse Attributes

    No Inverse Attributes

Supertypes

Entity machining_toolpath inherits from the following supertypes:
  action_method

Subtypes

    No subtypes

Referenced By

Entity machining_toolpath and its supertypes are referenced by the following definitions:
DefinitionTypeReferenced Entity
 action ENTITY action_method
 action_method_relationship ENTITY action_method
 characterized_action_definition SELECT action_method
 date_and_time_item SELECT machining_toolpath
 get_count_of_relating_amr FUNCTION action_method
 get_count_of_relating_amr_with_name FUNCTION action_method
 get_relating_amr FUNCTION action_method
 security_classification_item SELECT machining_toolpath
 supported_item SELECT action_method
 verify_optional_relating_amr FUNCTION action_method
 verify_optional_relating_amr_with_name FUNCTION action_method
 verify_related_type_for_amr FUNCTION action_method
 verify_related_type_for_amr_with_name FUNCTION action_method
 verify_required_relating_amr FUNCTION action_method
 verify_required_relating_amr_with_name FUNCTION action_method


[Top Level Definitions]

Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2010-01-12T10:42:21-02:00