<HTML><HEAD><link type="text/css" href="../css/main_styles.css" rel="stylesheet"></HEAD>
<BODY><TITLE>%mqc_report_number_of_dimensions</TITLE><H1>%mqc_report_number_of_dimensions </H1><P CLASS="Paragraph">Classname: <B>%mqc_report_number_of_dimensions </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>
    Report number of dimensionst with the specified dimension types.
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.
    (String)   log_msg          -  User defined message to be added when the system
                                   reports the violation.
                                   Default is an empty string.
    (List  )   dimension_type   -  This parameter specifies the dimension types to be reported.
                                   DIMENSION_DRAFTING -  drafting dimensions
                                   DIMENSION_PMI      -  PMI dimensions
                                   Default is {DIMENSION_DRAFTING}.
Results:
    Info   - Reports the number of dimensions with their types.
             For example:
                 Found 60 dimensions.
                     10 DIM_horizontal dimensions
                     20 DIM_vertical dimensions
                     30 DIM_parallel dimensions
</PRE><PRE><FONT COLOR= blue>DefClass: %mqc_report_number_of_dimensions( %ug_base_checker );
</FONT></PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )    %test_category: "Get Information.Drafting";
   ( String )    %displayed_name: "Report Number of Dimensions";

</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 this class</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>   ( String Parameter )     log_msg: "";
   ( List Parameter )   dimension_type: { DIMENSION_DRAFTING };
</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>   ( String )           dimension_type_label: "Dimension Types";
   ( List )             dimension_type_init: { DIMENSION_DRAFTING, DIMENSION_PMI };

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   (Any Uncached)   do_check: 
  @{ 
        $dimension_list <<     Loop
                               {         
                                   for $each_type In dimension_type:;        
                                   Append mqc_askDimensions($each_type);
                               };        
       
        If ( Empty?($dimension_list) ) 
        Then 
            ug_mqc_log( LOG_INFO, {}, log_msg: + "~nThere are no dimensions with the specified dimension types." ) 
        Else 
        @{             
             #Get all dimension tags
             $dim_tags << Loop
             {         
                  For $each_dim In $dimension_list;
                  Collect First($each_dim);
             };              
             
             #Classify all dimensions in term of type
             $dim_proto  <<  Partition( $dimension_list, key, second );   

             $all_dim  <<  Loop
             {
                  With  $sum_dim   Is  0;
                
                  For   $each_sort In  $dim_proto;
                     
                  For   $dim_num   Is  Length($each_sort);
                  For   $dim_type  Is  Second(First($each_sort));
                     
                  For   $sum_dim   Is  $sum_dim + $dim_num;
                     
                  Collect {$dim_num, $dim_type} Into $dim_sorts;
                     
                  Return Is { $sum_dim, $dim_sorts };
              };                
               
              $detail_msg << "~nFound " + Stringvalue( First($all_dim) ) + " dimension(s) with the specified dimension types.~n";
              ug_mqc_log( LOG_INFO, $dim_tags, log_msg: + $detail_msg );

              $execution << loop
              {
                  For  $dim_list In  Second( $all_dim );

                  For  $dim_num   Is  First ($dim_list);
                  For  $dim_type  Is  Second($dim_list);
                                
                  For  $message   Is  " "+Stringvalue($dim_num) + " " + $dim_type +" dimensions";
                                
                  Do ug_mqc_log( LOG_INFO, {},  $message );  
               }; 
                            
          };
   };

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