<HTML><HEAD><link type="text/css" href="../css/main_styles.css" rel="stylesheet"></HEAD>
<BODY><TITLE>%mqc_vda_checker</TITLE><H1>%mqc_vda_checker  </H1><P CLASS="Paragraph">Classname: <B>%mqc_vda_checker  </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>
    The VDA and SASIG compliance checker analyzes curves, surfaces, faces, solids and drawings
    for quality according to the VDA Version 2 and SASIG Version 2.0 checking criteria.
    The results of an analysis run will be saved in Checkmate's log file as well as a user specified
    VDA compliance error object *.ceo file.  The VDA browser dialog and Check-Mate's View Results
    dialog can show the violated objects with detailed information.
    When checking multiple parts by this checker, the user should only set the curve, face, solid,
    and drawing filters for checking objects with specific entity types, layers and colors.
    Please also see the VDA 4955 Compliance Check under Analysis.
Parameters:

<B>Input:</B>
    (Any)     Load Configuration file - Allow the user to load a
                                        VDA checker configuration file with
                                        the file extension *.cfg.
                                        List of data items:
                                        VDA configuration filespec
                                        curve checking option
                                        face checking option
                                        solid checking option
                                        drawing checking option
                                        log detail option
                                        criteria name option
    (Any)     Save - Save the configuration to the currently loaded VDA
                     configuration file.
    (Any)     Save Configuration File As - Save the current configuration to a
                                           different VDA configuration file.
    (Any)     Edit Header - Action button that allows the user to edit the header.
                            The header consists of a list of three strings:
                                Description of sender
                                Description of receiver
                                Configuration file description
    (Name)    Criteria Code        - Display VDA2 or SASIG-PDQ criteria code names.
                                     This option will set each criterion name with
                                     VDA Version 2 code or SASIG-PDQ code.
    (Boolean) Set Curve Criteria   - Curve checking option.
    (Boolean) Set Face Criteria    - Face checking option.
    (Boolean) Set Solid Criteria   - Solid checking option.
    (Boolean) Set Drawing Criteria - Drawing checking option.
    (Any)     Edit Criteria - Action button that will display the edit criteria dialog.
                              The specified criteria will be saved in the checker attribute
                              with a list of curve, face, solid and drawing criteria with
                              the following format:
                {{{value, check_curve_criterion_1, log_violation, no_embed_check},
                    ...
                  {value, check_curve_criterion_n, log_violation, no_embed_check}
                 },
                 {{value, check_face_criterion_1, log_violation, no_embed_check},
                    ...
                  {value, check_face_criterion_n, log_violation, no_embed_check}
                 },
                 {{value, check_solid_criterion_1, log_violation, no_embed_check},
                    ...
                  {value, check_solid_criterion_n, log_violation, no_embed_check}
                 },
                 {{value, check_drawing_criterion_1, log_violation, no_embed_check},
                    ...
                  {value, check_drawing_criterion_n, log_violation, no_embed_check}
                 }
                }
    (Boolean) All in Part  - True: validate all entities filtered through the selection filters.
                             False: validate the selected geometry entities.
    (List)    Curves - List of selected curve entities.
    (List)    Faces  - List of selected face entities.
    (List)    Solids - List of selected solid bodies or sheet bodies.
    (Any)     Curve Filter - List of curve entity types that can be selected.
    (Any)     Face Filter  - List of face entity types that can be selected.
    (Any)     Solid Filter - List of solid entity types that can be selected.
    (Any)     Drawing Filter - List of drawing entity types that can be selected.
    (Any)     Reset to Configuration File - Reset all settings according to the
                                            configuration file loaded at last time.
    (Any)     Reset to All Valid Objects  - Reset all selection filters to the last
                                           settings.
    (Any)     Create/Renew Topology - Create or renew the topology of the selected
                                      face geometry objects.
    (Boolean) Display Topology      - Toggle button to display the outer boundaries of
                                      the topology
    (Boolean) Log Details         - Toggle button to display the following log details:
                                    1. list of criteria violated by each object.
                                    2. Adjacent objects of each faulty object.
    (Any)     Load Comply Errors  - Ation button that will load
                                    a compliance error object file (*.ceo).
    (Any)     Display Results Log - Action button that will display the
                                    results log information in the list window.
    (Any)     Browse Violation    - Action button that will display the VDA browse
                                    violation dialog for the user to browse through
                                    the objects with violations.
    (Any)     Run Analysis - Action button that runs the analysis within the
                             customization dialog.  The violations can be seen by
                             means of the Browse Violation dialog.
NX Objects Logged:
    List of SASIG-PDQ criteria violated in the View Results dialog with
    objects and criteria values under each criterion.
</PRE><PRE><FONT COLOR= blue>DefClass: %mqc_vda_checker ( %ug_base_checker );
</FONT></PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )    %test_category: "SASIG-PDQ";
   ( String )    %displayed_name: "VDA 4955/SASIG-PDQ Compliance Check";
</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: False;
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Attributes for this class</PRE><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Set Configuration file</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )         cfg_label: "Load Configuration File";
   ( Any Uncached )   cfg_func: 
       @{
          $cfg_list << mqc_pdqcad_loadCfg ( cfg_label:, cfg_label:, nth(1, cfg:), "*.cfg" );
          
           mqc_pdqcad_setCurveCheckingOption( nth(2, $cfg_list) );
           mqc_pdqcad_setFaceCheckingOption( nth(3, $cfg_list) );
           mqc_pdqcad_setSolidCheckingOption( nth(4, $cfg_list) );
           mqc_pdqcad_setDrawingCheckingOption( nth(5, $cfg_list) );
           mqc_pdqcad_setLogDetailOption( nth(6, $cfg_list) );
           mqc_pdqcad_setCriteriaNameOption( nth(7, $cfg_list) );
           
          {nth(1, $cfg_list), nth(2, $cfg_list), nth(3, $cfg_list),
           nth(4, $cfg_list), nth(5, $cfg_list), nth(6, $cfg_list), nth(7, $cfg_list)};
       };
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )         save_current_cfg_label: "Save";
   ( Any Uncached )   save_current_cfg_func: 
        @{
           ug_printMessage( {"Save current configuration file"} );        
        }; 
        
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )         save_cfg_label: "Save Configuration File As";
   ( Any Uncached )   save_cfg_func: 
       @{
           mqc_pdqcad_setCurveCheckingOption( check_curve_criteria: );
           mqc_pdqcad_setFaceCheckingOption( check_face_criteria: );
           mqc_pdqcad_setSolidCheckingOption( check_solid_criteria: );
           mqc_pdqcad_setDrawingCheckingOption( check_drawing_criteria: );
           mqc_pdqcad_setLogDetailOption( log_detail: );
           mqc_pdqcad_setCriteriaNameOption( SASIG_PDQ );
          
           mqc_pdqcad_saveCfg ( save_cfg_label:, save_cfg_label:, nth(1, cfg:), "*.cfg" );
       };

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Parameter )  cfg: {" ", false, false, false, false, false, SASIG_PDQ};
   ( Any Parameter )  save_current_cfg: {" "};
   ( Any Parameter )  save_cfg: {" "};
   ( Any Parameter ) edit_header: {{"UGS" }, 
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Set the criteria names option</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )        edit_header_label: "Edit Configuration File Header";
   ( Any Uncached )  edit_header_func:
       @{
           mqc_pdqcad_setCurveCheckingOption( check_curve_criteria: );
           mqc_pdqcad_setFaceCheckingOption( check_face_criteria: );
           mqc_pdqcad_setSolidCheckingOption( check_solid_criteria: );
           mqc_pdqcad_setDrawingCheckingOption( check_drawing_criteria: );
           mqc_pdqcad_setLogDetailOption( log_detail: );
           mqc_pdqcad_setCriteriaNameOption( SASIG_PDQ );
           
           $header << if ( (empty?(edit_header:)) | (length(edit_header:) < 3) ) then
                          {{" "}, {" "}, {" "}}
                      else   
                          edit_header:;
                          
           mqc_pdqcad_editHeader ( nth(1, $header), 
                                   nth(2, $header), 
                                   nth(3, $header) );
       };
   
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Name Parameter )     criteria_id: nth(7, cfg:);
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Check Criteria   </PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( List )               criteria_id_option: { VDA, SASIG_PDQ };
   ( String )             criteria_id_label: "Criteria Code";
   ( Integer Uncached )   criteria_id_update: @ { mqc_pdqcad_askCriteriaNameOption(); };

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )            check_curve_criteria_label: "Set Curves Criteria";
   ( Boolean Uncached )  check_curve_criteria_update:
       @{
           mqc_pdqcad_askCurveCheckingOption( );
       }; 
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )            check_face_criteria_label: "Set Faces Criteria";
   ( Boolean Uncached )  check_face_criteria_update:
       @{
           mqc_pdqcad_askFaceCheckingOption( );
       }; 
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )            check_solid_criteria_label: "Set Solids Criteria";
   ( Boolean Uncached )  check_solid_criteria_update:
       @{
           mqc_pdqcad_askSolidCheckingOption( );
       }; 
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Boolean Parameter ) check_curve_criteria: nth(2, cfg:);
   ( Boolean Parameter ) check_face_criteria: nth(3, cfg:);
   ( Boolean Parameter ) check_solid_criteria: nth(4, cfg:);
   ( Boolean Parameter ) check_drawing_criteria: nth(5, cfg:);
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Edit Criteria   </PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )            check_drawing_criteria_label: "Set Drawings Criteria";
   ( Boolean Uncached )  check_drawing_criteria_update:
       @{
           mqc_pdqcad_askDrawingCheckingOption( );
       }; 
   
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Parameter )  edit_criteria:{ }; 
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Select Geometry Set</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )         edit_criteria_label: "Edit Criteria"; 
   ( Any uncached )   edit_criteria_func: 
        @{
           if ( check_curve_criteria: = true |
                check_face_criteria: = true |
                check_solid_criteria: = true |
                check_drawing_criteria: = true ) then
           @{
           mqc_pdqcad_setCreateLogAndCeoFile(TRUE);
           mqc_pdqcad_setCurveCheckingOption( check_curve_criteria: );
           mqc_pdqcad_setFaceCheckingOption( check_face_criteria: );
           mqc_pdqcad_setSolidCheckingOption( check_solid_criteria: );
           mqc_pdqcad_setDrawingCheckingOption( check_drawing_criteria: );
           mqc_pdqcad_setLogDetailOption( log_detail: );
           mqc_pdqcad_setCriteriaNameOption( SASIG_PDQ );
           
           if (empty?(edit_criteria:) = False) then
               mqc_pdqcad_setCriteria ( edit_criteria: )
           else donothing;
           
           mqc_pdqcad_editCriteria (  nth(1, cfg:),
                                    check_curve_criteria:,
                                    check_face_criteria:,
                                    check_solid_criteria:,
                                    check_drawing_criteria:,
                                    criteria_id:, true,
                                    false, { }, 
                                    false, { }, 
                                    false, { },
                                    edit_criteria:);
           }
           else
           @{
               ug_printMessage( {"Please select checking class options first!"} );
               $edit_criteria << edit_criteria:;
           };      
        }; 
   ( Any uncached )   edit_criteria_update:
       @{
           mqc_pdqcad_editCriteria ( nth(1, cfg:),
                                       check_curve_criteria:,
                                       check_face_criteria:,
                                       check_solid_criteria:,
                                       check_drawing_criteria:,
                                       criteria_id:, false,
                                       false, {}, false, {}, false, {},
                                       edit_criteria:);
       }; 


</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )            all_in_part_label: "All in Part File";
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )          curve_geom_label: "Curves"; 
   ( List )              curve_geom_mask: {curve};  
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )          face_geom_label: "Faces";   
   ( List )              face_geom_mask: {face};  
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Boolean Parameter ) all_in_part: false;
   ( List Parameter )    curve_geom: { };
   ( List Parameter )    face_geom: { };
   ( List Parameter )    solid_geom: { };
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Set selection filters</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )          solid_geom_label: "Solids";   
   ( List )              solid_geom_mask: {solid};  

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )        curve_filter_label: "Curves Filter";
   ( Any Uncached )  curve_filter_func:
       @{
           mqc_pdqcad_setSelectionFilters( 0 );
       };  
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )        face_filter_label: "Faces Filter";
   ( Any Uncached )  face_filter_func:
       @{
           mqc_pdqcad_setSelectionFilters( 1 );
       };  
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )        solid_filter_label: "Solids Filter";
   ( Any Uncached )  solid_filter_func:
       @{
           mqc_pdqcad_setSelectionFilters( 2 );
       };  
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Parameter ) curve_filter: { };
   ( Any Parameter ) face_filter: { };
   ( Any Parameter ) solid_filter: { };
   ( Any Parameter ) drawing_filter: { };
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Reset ...   </PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )        drawing_filter_label: "Drawings Filter";
   ( Any Uncached )  drawing_filter_func:
       @{
           mqc_pdqcad_setSelectionFilters( 3 );
       };  
              
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )        reset_cfg_file_label: "Reset to Configuration File";
   ( Any Uncached )  reset_cfg_file_func: 
        @{
            mqc_pdqcad_resetToConfiguration( );  
        };    

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Parameter ) reset_cfg_file: false;
   ( Any Parameter ) reset_to_all_valid_objects: { };
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Create or renew topology</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )        reset_to_all_valid_objects_label: "Reset to All Valid Objects";
   ( Any Uncached )  reset_to_all_valid_objects_func: 
        @{
            mqc_pdqcad_resetSelFilters( );        
        }; 
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Parameter ) create_renew_topo: { };
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Display topology    </PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )        create_renew_topo_label: "Create/Renew Topology";
   ( Any Uncached )  create_renew_topo_func: 
    @{
            mqc_pdqcad_setCurveCheckingOption( check_curve_criteria: );
            mqc_pdqcad_setFaceCheckingOption( check_face_criteria: );
            mqc_pdqcad_setSolidCheckingOption( check_solid_criteria: );
            mqc_pdqcad_setDrawingCheckingOption( check_drawing_criteria: );
            mqc_pdqcad_setLogDetailOption( log_detail: );
            mqc_pdqcad_setCriteriaNameOption( SASIG_PDQ );
            
            mqc_pdqcad_createRenewTopo( all_in_part:, display_topo:,
                                          curve_geom:, face_geom:, solid_geom: );        
    };    
         
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Boolean Parameter ) display_topo: false;
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Log Details  </PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )            display_topo_label: "Display Topology";
   
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Boolean Parameter ) log_detail: nth(6, cfg:);
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Load Comply Errors</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )            log_detail_label: "Log Details";
   ( Boolean Uncached )  log_detail_update: @{ mqc_pdqcad_askLogDetailOption(); };

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Parameter )     load_ceo: {" "};
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Display Results Log </PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )            load_ceo_label: "Load Comply Errors";
   ( Any Uncached )      load_ceo_func: 
      @{ 
         if (empty?(load_ceo:)= True) then
             mqc_pdqcad_loadCeo( load_ceo_label:, load_ceo_label:, 
                               " ", "*.ceo" )
         else
             mqc_pdqcad_loadCeo( load_ceo_label:, load_ceo_label:, 
                               nth(1, load_ceo:), "*.ceo" ); 
      };

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Parameter )     display_results_log: {};
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Browse Violations</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )            display_results_log_label: "Display Results Log";
   ( Any Uncached )      display_results_log_func: 
   @{ 
        mqc_pdqcad_setLogDetailOption( log_detail: );
  
       mqc_pdqcad_displayResultsLog( log_detail: ); 
   };  
   
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Parameter )     browse_violations: { };
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Reset </PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )            browse_violations_label: "Browse Violations";
   ( Any Uncached )      browse_violations_func: 
   @{ 
       mqc_pdqcad_setLogDetailOption( log_detail: );
       mqc_pdqcad_browseViolations ( ); 
   };
   
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Parameter )  reset_all: { };
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Run analysis</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )         reset_all_label: "Reset All";
   ( Any Uncached )   reset_all_func: 
        @{
            mqc_pdqcad_resetAll( );        
            mqc_pdqcad_setCurveCheckingOption( false );
            mqc_pdqcad_setFaceCheckingOption( false );
            mqc_pdqcad_setSolidCheckingOption( false );
            mqc_pdqcad_setDrawingCheckingOption( false );
            mqc_pdqcad_setLogDetailOption( false );
            mqc_pdqcad_setCriteriaNameOption( SASIG_PDQ );
            mqc_pdqcad_setCriteria ( edit_criteria: );
        };    
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( Any Parameter )     run_analysis: { };
</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 )            run_analysis_label: "Run Analysis";
   ( Any Uncached )      run_analysis_func: 
   @{
        if (length(edit_criteria:) != 4) then 
            ug_printMessage( {"Please set checking criteria first!"} )
        else
        @{    
            mqc_pdqcad_setCurveCheckingOption( check_curve_criteria: );
            mqc_pdqcad_setFaceCheckingOption( check_face_criteria: );
            mqc_pdqcad_setSolidCheckingOption( check_solid_criteria: );
            mqc_pdqcad_setDrawingCheckingOption( check_drawing_criteria: );
            mqc_pdqcad_setLogDetailOption( log_detail: );
            mqc_pdqcad_setCriteriaNameOption( SASIG_PDQ );
            mqc_pdqcad_setCriteria ( edit_criteria: );
        
            mqc_pdqcad_runAnalysis ( nth(1,load_ceo:), edit_criteria:, 
                                     curve_geom:, face_geom:, solid_geom:,
                                     criteria_id:, all_in_part:, display_topo:,
                                     log_detail:, TRUE );  
        };    
   };
    
         
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   (Any Uncached)   do_check: 
   @{
        if (length(edit_criteria:) != 4) then 
            ug_mqc_log(LOG_INFO, {}, "No checking criteria, nothing to validate!")
        else
        @{            
        mqc_pdqcad_setCurveCheckingOption( check_curve_criteria: );
        mqc_pdqcad_setFaceCheckingOption( check_face_criteria: );
        mqc_pdqcad_setSolidCheckingOption( check_solid_criteria: );
        mqc_pdqcad_setDrawingCheckingOption( check_drawing_criteria: );
        mqc_pdqcad_setLogDetailOption( log_detail: );
        mqc_pdqcad_setCriteriaNameOption( SASIG_PDQ );
        
        $detail_flag << if (log_detail: = TRUE) then 1 else 0;
        
        ug_mqc_log_object_detail_flag( $detail_flag );
        mqc_pdqcad_setCriteria ( edit_criteria: );   
             
        mqc_pdqcad_runAnalysis ( nth(1,load_ceo:), edit_criteria:, 
                                  curve_geom:, face_geom:, solid_geom:,
                                  criteria_id:, all_in_part:, display_topo:,
                                  log_detail:, FALSE );
        };
   };
   
</SPAN></FONT></PRE></DIV></TABLE><p class=EndLine>&nbsp;</p><p class=blank>&nbsp;</p></BODY></HTML>