Book Contents | Book Index | Previous Chapter | Next Chapter
Search STEP Tools Web Support

Description

The ap203check, ap209check and ap214check tools rapidly check data files against the local rules (WHERE clauses) and global rules (RULEs) defined in the AP203, AP209 and AP214 EXPRESS schemas. The tool also checks for the presence of all required (non-OPTIONAL) attribute values in the data file.

The ap203check, ap209check and ap214check tools are faster than apconform, but are specific to a particular schema. Whereas the apconform tool utilizes a general EXPRESS interpreter, ap2XXcheck tools use custom C++ optimized for speed with techniques such as pre-computing reverse (USEDIN/INVERSE) references between entity instances.

Command Line

ap203check [options] <data-file>
ap209check [options] <data-file>
ap214check [options] <data-file>

The options accepted by the checkers are:

-help
Print this list of options and exit.

Windows Control Panel

The AP203 Checker Windows control panel is shown in the figure below. Run this by selecting AP203 Checker, AP209 Checker, or AP214 Checker in the ST-Developer Launcher or the "ST-Developer Tools" Start Menu folder. The following sections describe the fields and setting on this control panel and show how to perform various tasks with the checker.

AP203 Checker Control Panel

AP203 Checker Control Panel

At the top of the AP203 Checker control panel is a text field for the STEP files that you would like to check. You can open the file dialog using Ctrl+O or the [...] button to the right. You can also drag and drop files from the Windows Explorer. Click the Check button to start checking.

Example

As an example, we test a file to see if it meets the AP203 schema constraints. The example file is an assembly of parts forming a doghouse. It is a modified copy of the file doghouse.stp on our web site translation service. It has been modified so that the geometric context entity instance specifies 2-dimensionality (while the geometry remains 3-dimensional) and so that one of the edge_loop instances does not meet a head-to-tail constraint. You can find this file in the ST-Developer installation as demos/ap203check/dogbad.stp

    % ap203check dogbad.stp
    == STEP AP-203 Checker
    == 
    == Copyright (c) 1991-2012 by STEP Tools Inc.
    == All Rights Reserved
    == 
    == Product licensed to:
    ==      STEP Tools Internal Use Only
    ==      STEP Tools Lab
    == 

    computing reverse pointers
    ...........
    1125 total entity instances
    validating required attributes
    validating ENTITY advanced_brep_shape_representation, 1 instance
    validating ENTITY advanced_face, 32 instances
    WHERE failure: advanced_face WR5: edge_geometry(#505=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #483=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#500=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #483=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#495=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #483=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#488=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #483=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#488=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #483=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#604=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #506=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#599=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #506=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#594=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #506=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#589=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #506=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#584=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #506=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#579=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #506=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#574=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #506=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#569=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #506=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#564=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #506=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#559=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #506=advanced_face
    WHERE failure: advanced_face WR5: edge_geometry(#554=intersection_curve) is not one of line, conic, polyline, pcurve, b_spline_curve
      #506=advanced_face
    [... 159 more messages]

    validating ENTITY axis2_placement_3d, 41 instances
    WHERE failure: axis2_placement_3d WR1: `location' is not 3-dimensional
      #14=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR2: `axis' is not 3-dimensional
      #14=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR3: `ref_direction' is not 3-dimensional
      #14=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR4: could not compute cross product of `axis' and `ref_direction'
      #14=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR1: `location' is not 3-dimensional
      #18=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR2: `axis' is not 3-dimensional
      #18=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR1: `location' is not 3-dimensional
      #26=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR2: `axis' is not 3-dimensional
      #26=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR1: `location' is not 3-dimensional
      #28=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR2: `axis' is not 3-dimensional
      #28=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR3: `ref_direction' is not 3-dimensional
      #28=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR4: could not compute cross product of `axis' and `ref_direction'
      #28=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR1: `location' is not 3-dimensional
      #35=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR2: `axis' is not 3-dimensional
      #35=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR1: `location' is not 3-dimensional
      #43=axis2_placement_3d
    WHERE failure: axis2_placement_3d WR2: `axis' is not 3-dimensional
      #43=axis2_placement_3d
    [... 98 more messages]

    validating ENTITY calendar_date, 5 instances
    validating ENTITY cc_design_date_and_time_assignment, 2 instances
    validating ENTITY cc_design_person_and_organization_assignment, 5 instances
    validating ENTITY design_context, 1 instance
    validating ENTITY direction, 130 instances
    validating ENTITY edge_loop, 33 instances
    validating ENTITY face, 32 instances
    validating ENTITY geometric_representation_item, 794 instances
    validating ENTITY intersection_curve, 87 instances
    validating ENTITY length_measure_with_unit, 1 instance
    validating ENTITY length_unit, 2 instances
    validating ENTITY local_time, 5 instances
    validating ENTITY line, 73 instances
    validating ENTITY measure_with_unit, 3 instances
    validating ENTITY mechanical_context, 1 instance
    validating ENTITY oriented_edge, 174 instances
    validating ENTITY path, 33 instances
    WHERE failure: path WR1: path is not head-to-tail (bad edge order?)
      #485=edge_loop
    validating ENTITY person, 3 instances
    validating ENTITY plane_angle_measure_with_unit, 1 instance
    validating ENTITY plane_angle_unit, 2 instances
    validating ENTITY product_definition_shape, 1 instance
    validating ENTITY representation_item, 1035 instances

 

| Book Contents | Book Index | ST-Developer Home | Previous Chapter | Next Chapter |