Integrated application resource: Kinematics ISO 10303-105:2019(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms
4 Kinematic property
   4.1 General
   4.2 Fundamental concepts and assumptions
   4.3 Kinematic property entity definitions
   4.4 Kinematic property subtype constraint definition

5 Kinematic topology
   5.1 General
   5.2 Fundamental concepts and assumptions
   5.3 Kinematic topology type definition
   5.4 Kinematic topology entity definitions
   5.5 Kinematic topology subtype constraint definition
   5.6 Kinematic topology function definitions
6 Kinematic structure
   6.1 General
   6.2 Fundamental concepts and assumptions
   6.3 Kinematic structure type definitions
   6.4 Kinematic structure entity definitions
   6.5 Kinematic structure subtype constraint definition
   6.6 Kinematic structure function definitions

7 Kinematic state
   7.1 General
   7.2 Fundamental concepts and assumptions
   7.3 Kinematic state type definitions
   7.4 Kinematic state entity definitions
   7.5 Kinematic state subtype constraint definition
   7.6 Kinematic state function definitions
8 Kinematic motion representation
   8.1 General
   8.2 Fundamental concepts and assumptions
   8.3 Kinematic motion representation type definitions
   8.4 Kinematic motion representation entity definitions
   8.5 Kinematic motion representation subtype constraint definitions
9 Kinematic analysis control and result
   9.1 General
   9.2 Fundamental concepts and assumptions
   9.3 Kinematic analysis control and result type definitions
   9.4 Kinematic analysis control and result entity definitions
   9.5 Kinematic analysis control and result subtype constraint definition
A Short names of entities
B Information object registration
C Computer interpretable listings
D EXPRESS-G diagrams
E Technical discussion
F Change history
Bibliography
Index

(*
ISO/TC 184/SC 4/WG 12 N10343 - ISO 10303-105 Kinematics - EXPRESS
Supersedes ISO/TC 184/SC 4/WG 12 N8482
*)



SCHEMA kinematic_motion_representation_schema;

REFERENCE FROM geometry_schema   -- ISO 10303-42
  (axis2_placement,
   b_spline_curve,
   b_spline_surface,
   bounded_curve,
   cartesian_point,
   curve,
   geometric_representation_context,
   geometric_representation_item,
   placement,
   transition_code);

REFERENCE FROM kinematic_state_schema   -- ISO 10303-105
  (rotation_about_direction,
   spatial_rotation,
   ypr_rotation,
   mechanism_state_representation);

REFERENCE FROM kinematic_structure_schema   -- ISO 10303-105
  (kinematic_link_representation,
   mechanism_representation,
   rigid_placement);

REFERENCE FROM measure_schema   -- ISO 10303-41
  (length_measure,
   measure_with_unit,
   parameter_value,
   plane_angle_measure,
   unit);

REFERENCE FROM product_property_representation_schema   -- ISO 10303-41
  (shape_representation);

REFERENCE FROM representation_schema   -- ISO 10303-43
  (definitional_representation,
   founded_item,
   functionally_defined_transformation,
   item_defined_transformation,
   item_in_context,
   parametric_representation_context,
   representation,
   representation_item,
   representation_relationship,
   definitional_representation_relationship,
   representation_relationship_with_transformation,
   using_representations);


TYPE link_or_shape_representation = SELECT
   (kinematic_link_representation,
    shape_representation);
END_TYPE;

TYPE interpolation_type = ENUMERATION OF
   (undefined_interpolation_type,
    discontinuous_interpolation_type,
    synchronous_interpolation_type,
    linear_interpolation_type);
END_TYPE;

ENTITY interpolated_configuration_representation
  SUBTYPE OF (representation);
  SELF\representation.context_of_items : geometric_representation_context_with_parameter;
  SELF\representation.items : SET[1:?] OF interpolated_configuration_sequence;
END_ENTITY;

ENTITY interpolated_configuration_sequence
  SUBTYPE OF (geometric_representation_item);
  segments : LIST[2:?] OF interpolated_configuration_segment;
DERIVE
  n_segments : INTEGER := SIZEOF(segments);
  closed_interpolation : LOGICAL := segments[n_segments].interpolation <> discontinuous_interpolation_type;
  configured_mechanism : mechanism_representation := segments[1].state.represented_mechanism;
WHERE
  WR1: SIZEOF(QUERY(ics <* segments | ics.state.represented_mechanism :<>: configured_mechanism)) = 0;
END_ENTITY;

ENTITY interpolated_configuration_segment
  SUBTYPE OF (founded_item);
  state : mechanism_state_representation;
  t_parameter : parameter_value;
  interpolation : interpolation_type;
END_ENTITY;

ENTITY link_motion_relationship
  SUBTYPE OF (definitional_representation_relationship, representation_relationship_with_transformation);
  SELF\representation_relationship.rep_1 : link_or_shape_representation;
  SELF\representation_relationship.rep_2 : link_motion_representation_along_path;
  SELF\representation_relationship_with_transformation.transformation_operator : link_motion_transformation;
WHERE
  WR1: transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items;
  WR2: transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items;
END_ENTITY;

ENTITY item_link_motion_relationship
  SUBTYPE OF (link_motion_relationship);
  SELF\representation_relationship.rep_1 : shape_representation;
  item : geometric_representation_item;
END_ENTITY;

ENTITY link_motion_transformation
  SUBTYPE OF (item_defined_transformation);
  SELF\item_defined_transformation.transform_item_1 : rigid_placement;
  SELF\item_defined_transformation.transform_item_2 : kinematic_path;
END_ENTITY;

ENTITY link_motion_representation_along_path
  SUBTYPE OF (representation);
  SELF\representation.items : SET[1:?] OF kinematic_path;
  SELF\representation.context_of_items : geometric_representation_context_with_parameter;
END_ENTITY;

ENTITY geometric_representation_context_with_parameter
  SUBTYPE OF (geometric_representation_context);
  parameter_unit : OPTIONAL unit;
END_ENTITY;

ENTITY kinematic_path ABSTRACT
  SUPERTYPE OF (ONEOF (kinematic_path_defined_by_nodes,
                       kinematic_path_defined_by_curves))
  SUBTYPE OF (geometric_representation_item);
  segments : LIST[1:?] OF kinematic_path_segment;
  t_start : parameter_value;
DERIVE
  n_segments : INTEGER := SIZEOF(segments);
  closed_path : LOGICAL := segments[n_segments].transition <> discontinuous;
WHERE
  WR1: SIZEOF(QUERY(using_rep <* using_representations(SELF) | NOT ('KINEMATIC_MOTION_REPRESENTATION_SCHEMA.GEOMETRIC_REPRESENTATION_CONTEXT_WITH_PARAMETER' IN TYPEOF(using_rep.context_of_items)))) = 0;
END_ENTITY;

ENTITY kinematic_path_defined_by_nodes
  SUBTYPE OF (kinematic_path);
  SELF\kinematic_path.segments : LIST[1:?] OF path_node;
  placement_start : placement;
END_ENTITY;

ENTITY kinematic_path_defined_by_curves
  SUBTYPE OF (kinematic_path);
  SELF\kinematic_path.segments : LIST[1:?] OF curve_based_path_with_orientation;
END_ENTITY;

ENTITY kinematic_path_segment ABSTRACT
  SUPERTYPE OF (ONEOF (path_node,
                       curve_based_path_with_orientation))
  SUBTYPE OF (founded_item);
  t_end : parameter_value;
  transition : transition_code;
END_ENTITY;

ENTITY path_parameter_representation
  SUBTYPE OF (definitional_representation);
  SELF\representation.context_of_items : path_parameter_representation_context;
  SELF\representation.items : SET[1:?] OF bounded_curve;
WHERE
  WR1: SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 2;
END_ENTITY;

ENTITY path_parameter_representation_context
  SUBTYPE OF (geometric_representation_context, parametric_representation_context);
END_ENTITY;

ENTITY path_node ABSTRACT
  SUPERTYPE OF (ONEOF (point_to_point_path,
                       circular_path,
                       linear_path,
                       curve_based_path))
  SUBTYPE OF (kinematic_path_segment);
  placement_end : placement;
END_ENTITY;

ENTITY point_to_point_path
  SUBTYPE OF (path_node);
DERIVE
  SELF\kinematic_path_segment.transition : transition_code := discontinuous;
END_ENTITY;

ENTITY circular_path
  SUBTYPE OF (path_node);
  via_point : cartesian_point;
END_ENTITY;

ENTITY linear_path
  SUBTYPE OF (path_node);
DERIVE
  SELF\kinematic_path_segment.transition : transition_code := continuous;
END_ENTITY;

ENTITY curve_based_path
  SUBTYPE OF (path_node);
  path_curve : curve;
END_ENTITY;

ENTITY curve_based_path_with_orientation
  SUBTYPE OF (kinematic_path_segment);
  position_curve : bounded_curve;
  orientation_curve : bounded_curve;
WHERE
  WR1: TYPEOF(position_curve) = TYPEOF(orientation_curve);
END_ENTITY;

ENTITY curve_based_path_with_orientation_and_parameters
  SUBTYPE OF (curve_based_path_with_orientation);
  parameters : path_parameter_representation;
END_ENTITY;

SUBTYPE_CONSTRAINT kmr_geometric_representation_context_subtypes FOR geometric_representation_context;
  ONEOF (geometric_representation_context_with_parameter,
         path_parameter_representation_context);
END_SUBTYPE_CONSTRAINT;

SUBTYPE_CONSTRAINT kmr_geometric_representation_item_subtypes FOR geometric_representation_item;
  ONEOF (kinematic_path,
         placement);
END_SUBTYPE_CONSTRAINT;

SUBTYPE_CONSTRAINT kmr_representation_subtypes FOR representation;
  ONEOF (interpolated_configuration_representation,
         link_motion_representation_along_path);
END_SUBTYPE_CONSTRAINT;

END_SCHEMA;  -- kinematic_motion_representation_schema


© ISO 2019 — All rights reserved