<HTML><HEAD><link type="text/css" href="../css/main_styles.css" rel="stylesheet"></HEAD>
<BODY><TITLE>%surface_min_radius</TITLE><H1>%surface_min_radius  </H1><P CLASS="Paragraph">Classname: <B>%surface_min_radius  </B></P><P CLASS="Paragraph">Inherits from: <B><A href=..\checkmate\xug_base_checker.html>%ug_base_checker </A></B></P><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"> </PRE><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">
<B>Description:</B>
      This checker provides a function that checks the minimum radius of curvature for
      the selected faces and then reports the results back based on the specified range.
      The specified range is defined by the following criteria:
            (1) Any value greater than the specified minimum surface radius will pass.
            (2) Any value between the minimum and maximum ranges is marginal (pass with warning).
            (3) Any value less than the minimum range fails.
Parameters:
    (String) surface     -  target corner blended faces to be evaluated.
    ( List ) pass_range (in millimeter)
                         - A list of one or two range limits for the pass range criterion.
		           Each range bound has two members.  The first member
			   defines the condition which can be LT, LE, GT or GE keyword.
			   LT is "less than".
			   LE is "less than or equal to".
			   GT is "greater than".
			   GE is "greater than or equal to".
			   The second member is integer or real value for the
			   range limit. For example, {{GT, 0.0}, {LE, 1.0}} or {{LE, -1}}.
			   If a range list has two limits, then the first limit defines the lower
			   limit; the second limit defines the upper limit. Otherwise, the checker
			   will return an invalid range error.
    ( List ) marginal_range (in millimeter)
                         - A list of one or two range limits for the marginal range criterion.
    ( List ) fail_range (in millimeter)
                         - A list of one or two range limits for the failure range criterion.
    ( String ) error_message
                         - error message to be logged.
    ( String ) warning_message
                         - warning message to be logged.
    (Boolean)  disabled? - If it is true, the checker is disabled.
                           Default is False.
    (Boolean)  save_log_in_part
                         -  The flag indicates whether the checking results can
                            be saved to the part file
                            Default is True.
Results:
      PASS         -- All selected faces pass the minimum radius of curvature.
      WARNING      -- The minimum surface radii are marginal.
      FAIL         -- The evaluated surface radii are less than the minimum radius of curvature.
UG Objects logged:
      Faces with displayed points at the minimum radius of curvature.
</PRE><PRE><FONT COLOR= blue>DefClass: %surface_min_radius ( %ug_base_checker );
</FONT></PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )              %test_category: "Template.Measurement";
   ( String )              %displayed_name: "Check minimum surface radius";
 
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Parameter Attributes for this class</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )              surface_label: "Corner Blended Faces to be evaluated:";
   ( List )                surface_mask: {face, point, curve};
   ( List )                surface_mode:{};

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )              fail_range_label: "Fail Range (mm):";

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )              pass_range_label: "Pass Range (mm):";

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )              marginal_range_label: "Marginal Range (mm):";

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Boolean Parameter )   disabled?: False;
   ( Boolean Parameter )   save_log_in_part: True;
   ( List Parameter )      surface:{};
   ( List Parameter )      fail_range: { {LT, 0.0}, {GT, 0.20}};
   ( List Parameter )      pass_range: {{GE, 0.01}, {LE, 0.1}};
   ( List Parameter )      marginal_range: {{GE, 0.11}, {LE, 0.19}};
   ( String Parameter )    error_message: "Found faces that violate the minimum radius of curvature.";
   ( String Parameter )    warning_message: "Found faces that violate the marginal range.";
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">  Checker function</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Uncached )   do_check: 
    if (Empty?(pass_range:) & Empty?(fail_range:) & Empty?(marginal_range:) ) then
        ug_mqc_empty_param_warning()
    else
    @{
        $count << length(surface:);
        if ( $count > 0 & mqc_isValidObjectIdentifier(nth(1, surface:)) = true ) then       
                mqc_check_face_min_radius(surface:,
                                          pass_range:,
                                          marginal_range:,
                                          fail_range:, 
                                          error_message:,
                                          warning_message: )
        else
        @{
            $msg << "Fail to check due to invalid geometry objects.";   
            ug_mqc_log(LOG_ERROR, {}, $msg); 
        };                                           
    };
 
</SPAN></FONT></PRE></DIV></TABLE><p class=EndLine>&nbsp;</p><p class=blank>&nbsp;</p></BODY></HTML>