FUNCTION get_coordinate_values
(* SCHEMA step_merged_ap_schema; *)
-- DIFF IN AP238 STEP-NC
-- IN AP238 STEP-NC/AP242
FUNCTION get_coordinate_values
(source : tessellated_surface_item ) : coordinates_list;
LOCAL
coordinate_values : coordinates_list;
max : INTEGER;
END_LOCAL;
CASE FALSE OF
'STEP_MERGED_AP_SCHEMA.TESSELLATED_FACE' IN TYPEOF(source) :
BEGIN
coordinate_values := source\tessellated_face.coordinates;
RETURN (coordinate_values);
END;
'STEP_MERGED_AP_SCHEMA.TESSELLATED_SURFACE_SET' IN TYPEOF(source) :
BEGIN
coordinate_values := source\tessellated_surface_set.coordinates;
RETURN (coordinate_values);
END;
'STEP_MERGED_AP_SCHEMA.TESSELLATED_SOLID' IN TYPEOF(source) :
BEGIN
IF 'STEP_MERGED_AP_SCHEMA.TESSELLATED_FACE' IN TYPEOF(source\tessellated_solid.items[1]) THEN
coordinate_values := source\tessellated_solid.items[1]\tessellated_face.coordinates;
END_IF;
IF 'STEP_MERGED_AP_SCHEMA.TESSELLATED_EDGE' IN TYPEOF(source\tessellated_solid.items[1]) THEN
coordinate_values := source\tessellated_solid.items[1]\tessellated_edge.coordinates;
END_IF;
IF 'STEP_MERGED_AP_SCHEMA.TESSELLATED_VERTEX' IN TYPEOF(source\tessellated_solid.items[1]) THEN
coordinate_values := source\tessellated_solid.items[1]\tessellated_vertex.coordinates;
END_IF;
max := SIZEOF(source\tessellated_solid.items);
IF max = 1 THEN
RETURN (coordinate_values);
ELSE
REPEAT i := 2 TO max;
IF 'STEP_MERGED_AP_SCHEMA.TESSELLATED_FACE' IN TYPEOF(source\tessellated_solid.items[i]) THEN
IF NOT (coordinate_values :=: source\tessellated_solid.items[i]\tessellated_face.coordinates) THEN
RETURN (?);
END_IF;
END_IF;
IF 'STEP_MERGED_AP_SCHEMA.TESSELLATED_EDGE' IN TYPEOF(source\tessellated_solid.items[i]) THEN
IF NOT (coordinate_values :=: source\tessellated_solid.items[i]\tessellated_edge.coordinates) THEN
RETURN (?);
END_IF;
END_IF;
IF 'STEP_MERGED_AP_SCHEMA.TESSELLATED_VERTEX' IN TYPEOF(source\tessellated_solid.items[i]) THEN
IF NOT (coordinate_values :=: source\tessellated_solid.items[i]\tessellated_vertex.coordinates) THEN
RETURN (?);
END_IF;
END_IF;
END_REPEAT;
RETURN (coordinate_values);
END_IF;
END;
'STEP_MERGED_AP_SCHEMA.TESSELLATED_SHELL' IN TYPEOF(source) :
BEGIN
IF 'STEP_MERGED_AP_SCHEMA.TESSELLATED_FACE' IN TYPEOF(source\tessellated_shell.items[1]) THEN
coordinate_values := source\tessellated_shell.items[1]\tessellated_face.coordinates;
END_IF;
IF 'STEP_MERGED_AP_SCHEMA.TESSELLATED_EDGE' IN TYPEOF(source\tessellated_shell.items[1]) THEN
coordinate_values := source\tessellated_shell.items[1]\tessellated_edge.coordinates;
END_IF;
IF 'STEP_MERGED_AP_SCHEMA.TESSELLATED_VERTEX' IN TYPEOF(source\tessellated_shell.items[1]) THEN
coordinate_values := source\tessellated_shell.items[1]\tessellated_vertex.coordinates;
END_IF;
max := SIZEOF(source\tessellated_shell.items);
IF max = 1 THEN
RETURN (coordinate_values);
ELSE
REPEAT i := 2 TO max;
IF 'STEP_MERGED_AP_SCHEMA.TESSELLATED_FACE' IN TYPEOF(source\tessellated_shell.items[i]) THEN
IF NOT (coordinate_values :=: source\tessellated_shell.items[i]\tessellated_face.coordinates) THEN
RETURN (?);
END_IF;
END_IF;
IF 'STEP_MERGED_AP_SCHEMA.TESSELLATED_EDGE' IN TYPEOF(source\tessellated_shell.items[i]) THEN
IF NOT (coordinate_values :=: source\tessellated_shell.items[i]\tessellated_edge.coordinates) THEN
RETURN (?);
END_IF;
END_IF;
IF 'STEP_MERGED_AP_SCHEMA.TESSELLATED_VERTEX' IN TYPEOF(source\tessellated_shell.items[i]) THEN
IF NOT (coordinate_values :=: source\tessellated_shell.items[i]\tessellated_vertex.coordinates) THEN
RETURN (?);
END_IF;
END_IF;
END_REPEAT;
RETURN (coordinate_values);
END_IF;
END;
END_CASE;
END_FUNCTION;
Referenced By
Defintion get_coordinate_values is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2020-07-28T17:02:20-04:00