<HTML><HEAD><link type="text/css" href="../css/main_styles.css" rel="stylesheet"></HEAD>
<BODY><TITLE>%mqc_check_view_within_sheet</TITLE><H1>%mqc_check_view_within_sheet </H1><P CLASS="Paragraph">Classname: <B>%mqc_check_view_within_sheet </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>
   Verify that all views are within the sheet size
Parameters:
   (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.
   (Integer)  log_type         -  Indicate which logging type to use to report the violation.
                                  1 - LOG_ERROR,
                                  2 - LOG_WARNING,
                                  3 - LOG_INFO,
                                  Default is 1 to log error.
   (String)   log_msg          -  User defined message to be added when the system
                                  reports the violation.
                                  Default is an empty string.

<B>Returns:</B>
        Info:   This is not a drafting file, so this checker does not execute.
        Pass:   If all views are within the sheet size
        Failed: Found at least one view is not within the sheet size.
                List the view names.
</PRE><PRE><FONT COLOR= blue>DefClass: %mqc_check_view_within_sheet( %ug_base_checker );
</FONT></PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )              %test_category:  "Drafting";
   ( String )              %displayed_name: "Check View within Sheet";

</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;
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">  parameter for log_option                                       </PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Integer Parameter )    log_type: 1;
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">  parameter for log_message     </PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( list )                 log_type_option: { LOG_ERROR, LOG_WARNING, LOG_INFO };
   ( string )               log_type_label: "Log Option";   

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( string Parameter )    log_msg: "";
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">  checking ...</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( string )              log_msg_label:  "Log Message";
   
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Uncached )   do_check:
   @{
        if (mqc_isDrawingPart(ug_askCurrentWorkPart()))
        then 
        @{
              $all_drawing_views << mqc_askObjectOfType(false,60,10);
              $all_drawing_tags << mqc_askObjectOfType(false,62,-1);
           
              If Empty?( $all_drawing_views )
              Then Donothing
              Else Loop  # deal with each drawing
              {  
                  For $each_drawing_view In $all_drawing_views;
                  For $each_drawing_tag  In $all_drawing_tags;
                  
                   # get member views in one drawing view
                  For $member_views Is ug_mqc_askMemberViews( $each_drawing_view );

                  For $error_view_members Is 
                       If Empty?( $member_views )
                       Then {}
                       Else Loop
                          {
                              with $error is {};
                              For $i_view In $member_views; 
                              For $i_view_bound Is ug_mqc_askMemberViewClip( $i_view );
                              For $lower_point Is sublist( $i_view_bound, 3, 4);
                              For $higher_point Is sublist( $i_view_bound,5, 6);
                              
                              For $error is
                                 if !((mqc_isPointOnDrawing($each_drawing_tag,$lower_point))&
                                      (mqc_isPointOnDrawing($each_drawing_tag,$higher_point)))
                                 then $error + { $i_view }
                                 else $error;
                              Return is $error;
                           };
                 Do
                    if empty?($error_view_members)
                    then donothing
                    else 
                    @{
                        $drawing_name << mqc_askNameOfObject( {$each_drawing_view});
                        $view_name    << mqc_askNameOfObject( $error_view_members );
                        $detail_msg << "Found following views out of drawing sheet " + 
                                       first( $drawing_name ) + " :~n"+
                                        mqc_list_to_string( $view_name, " , " );

                        $usr_msg << If ( "" = log_msg: ) Then "" Else log_msg: + "~n";                              
                        ug_mqc_log( Nth(log_type:, log_type_option:), 
                                    $error_view_members, $usr_msg + $detail_msg);
                      };             
              };
        }
        else ug_mqc_log( Nth(log_type:, log_type_option:), {},"This is not a drafting file.~n");
          
     };

</SPAN></FONT></PRE></DIV></TABLE><p class=EndLine>&nbsp;</p><p class=blank>&nbsp;</p></BODY></HTML>