FUNCTION validate_countersink_radii

(* SCHEMA step_merged_ap_schema; *)
-- IN AP203e2/AP242
FUNCTION validate_countersink_radii
      (cskhole : solid_with_stepped_round_hole_and_conical_transitions ) : BOOLEAN;
   LOCAL
      i : INTEGER;
      j : INTEGER;
      n : INTEGER := 1 + cskhole\solid_with_stepped_round_hole.segments;
      smaller : positive_length_measure;
      larger : positive_length_measure;
   END_LOCAL;
      REPEAT i := 1 TO SIZEOF(cskhole.conical_transitions);
         IF (cskhole.conical_transitions[i].transition_number = 1) AND (cskhole.conical_transitions[i].cone_apex_angle < 0) XOR (cskhole.conical_transitions[i].transition_number = n) AND (cskhole.conical_transitions[i].cone_apex_angle > 0) THEN
            RETURN (FALSE);
         ELSE
            IF (cskhole.conical_transitions[i].transition_number <> 1) AND (cskhole.conical_transitions[i].transition_number <> n) THEN
               BEGIN
                  j := cskhole.conical_transitions[i].transition_number;
                  IF cskhole\solid_with_stepped_round_hole.segment_radii[j] > cskhole\solid_with_stepped_round_hole.segment_radii[(j - 1)] THEN
                     BEGIN
                        IF cskhole.conical_transitions[i].cone_apex_angle > 0 THEN
                           RETURN (FALSE);
                        END_IF;
                        larger := cskhole\solid_with_stepped_round_hole.segment_radii[j];
                        smaller := cskhole\solid_with_stepped_round_hole.segment_radii[(j - 1)];
                     END;
                  ELSE
                     BEGIN
                        IF cskhole.conical_transitions[i].cone_apex_angle < 0 THEN
                           RETURN (FALSE);
                        END_IF;
                        larger := cskhole\solid_with_stepped_round_hole.segment_radii[(j - 1)];
                        smaller := cskhole\solid_with_stepped_round_hole.segment_radii[j];
                     END;
                  END_IF;
                  IF (cskhole.conical_transitions[i].cone_base_radius > larger) OR (cskhole.conical_transitions[i].cone_base_radius < smaller) THEN
                     RETURN (FALSE);
                  END_IF;
               END;
            END_IF;
         END_IF;
      END_REPEAT;
      RETURN (TRUE);
END_FUNCTION;

Referenced By

Defintion validate_countersink_radii is references by the following definitions:
DefinitionType
 solid_with_stepped_round_hole_and_conical_transitions ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2024-09-06T14:00:33-04:00