Application module: Kinematic motion representation | ISO/TS 10303-1796:2019(E) © ISO |
(*
ISO/TC 184/SC 4/WG 12 N10318 - ISO/TS 10303-1796 Kinematic motion representation - EXPRESS ARM
Supersedes
ISO/TC 184/SC 4/WG 12 N9362
*)
SCHEMA Kinematic_motion_representation_arm;
USE FROM
B_spline_geometry_arm;
-- ISO/TS 10303-1801
USE FROM
Contextual_shape_positioning_arm;
-- ISO/TS 10303-1027
USE FROM
Kinematic_state_arm;
-- ISO/TS 10303-1798
USE FROM
Parametric_representation_arm;
-- ISO/TS 10303-1813
USE FROM
Product_occurrence_arm;
-- ISO/TS 10303-1063
REFERENCE FROM
Foundation_representation_arm -- ISO/TS 10303-1006
(using_representations);
TYPE interpolation_type =
ENUMERATION
OF
(undefined_interpolation_type,
discontinuous_interpolation_type,
synchronous_interpolation_type,
linear_interpolation_type);
END_TYPE;
TYPE kmr_geometric_representation_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
geometric_representation_select
WITH
(Link_motion_representation_along_path);
END_TYPE;
TYPE kmr_initial_application_domain_enumeration =
ENUMERATION
BASED_ON
initial_application_domain_enumeration
WITH
(motion);
END_TYPE;
TYPE link_or_shape_representation =
SELECT
(Kinematic_link_representation,
Geometric_model);
END_TYPE;
ENTITY Circular_path
SUBTYPE OF (Path_node);
via_point : Cartesian_point;
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;
ENTITY Geometric_representation_context_with_parameter
SUBTYPE OF (Geometric_coordinate_space);
parameter_unit :
OPTIONAL
Unit;
END_ENTITY;
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_segment;
state : Mechanism_state_representation;
t_parameter : parameter_value;
interpolation : interpolation_type;
END_ENTITY;
ENTITY Interpolated_configuration_sequence
SUBTYPE OF (Detailed_geometric_model_element);
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 Item_link_motion_relationship
SUBTYPE OF (Link_motion_relationship);
SELF\Representation_relationship.rep_1 : Geometric_model;
item : Detailed_geometric_model_element;
END_ENTITY;
ENTITY Kinematic_path
ABSTRACT SUPERTYPE
OF (ONEOF (Kinematic_path_defined_by_nodes,
Kinematic_path_defined_by_curves))
SUBTYPE OF (Detailed_geometric_model_element);
segments : LIST[1:?] OF Kinematic_path_segment;
t_start : parameter_value;
DERIVE
n_segments : INTEGER := SIZEOF(segments);
closed_path : LOGICAL := segments[n_segments].transition <> curve_transition_code.discontinuous;
WHERE
WR1: SIZEOF(QUERY(using_rep <* using_representations(SELF)|
NOT('KINEMATIC_MOTION_REPRESENTATION_ARM.GEOMETRIC_REPRESENTATION_CONTEXT_WITH_PARAMETER' IN TYPEOF(using_rep.context_of_items))))=
0;
WR2: ('KINEMATIC_MOTION_REPRESENTATION_ARM.CURVE_BASED_PATH_WITH_ORIENTATION' IN TYPEOF(segments[1]))
OR (n_segments > 1);
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_defined_by_nodes
SUBTYPE OF (Kinematic_path);
SELF\Kinematic_path.segments : LIST[1:?] OF Path_node;
placement_start : Axis_placement;
END_ENTITY;
ENTITY Kinematic_path_segment
ABSTRACT SUPERTYPE
OF (ONEOF (Path_node,
Curve_based_path_with_orientation));
t_end : parameter_value;
transition : curve_transition_code;
END_ENTITY;
ENTITY Linear_path
SUBTYPE OF (Path_node);
DERIVE
SELF\Kinematic_path_segment.transition : curve_transition_code := curve_transition_code.continuous;
END_ENTITY;
ENTITY Link_motion_relationship
SUBTYPE OF (Definitional_representation_relationship, Geometric_model_relationship_with_transformation);
SELF\Geometric_model_relationship.rep_1 : link_or_shape_representation;
SELF\Geometric_model_relationship.rep_2 : Link_motion_representation_along_path;
transformation_operator : Link_motion_transformation;
WHERE
WR1: transformation_operator.transform_item_1 IN rep_1.items;
WR2: transformation_operator.transform_item_2 IN rep_2.items;
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 Link_motion_transformation;
transform_item_1 : rigid_placement;
transform_item_2 : Kinematic_path;
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 : Axis_placement;
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_coordinate_space.dimension_count = 2;
END_ENTITY;
ENTITY Path_parameter_representation_context
SUBTYPE OF (Geometric_coordinate_space, Parametric_representation_context);
END_ENTITY;
ENTITY Point_to_point_path
SUBTYPE OF (Path_node);
DERIVE
SELF\Kinematic_path_segment.transition : curve_transition_code := curve_transition_code.discontinuous;
END_ENTITY;
ENTITY Product_structure_link_motion_association
SUBTYPE OF (Contextual_shape_representation);
SELF\Contextual_shape_representation.product_context : Assembly_component_relationship;
SELF\Contextual_shape_representation.shape_representing_relationship : Link_motion_relationship;
subStructure :
OPTIONAL
Specified_occurrence;
END_ENTITY;
SUBTYPE_CONSTRAINT kmr_geometric_representation_context_subtypes FOR Geometric_coordinate_space;
ONEOF (Geometric_representation_context_with_parameter,
Path_parameter_representation_context);
END_SUBTYPE_CONSTRAINT;
SUBTYPE_CONSTRAINT kmr_geometric_representation_item_subtypes FOR Detailed_geometric_model_element;
ONEOF (Kinematic_path,
Axis_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_arm
© ISO 2019 — All rights reserved