FUNCTION md_pmi_name_and_type_correlation

(* SCHEMA step_merged_ap_schema; *)
-- IN AP238 STEP-NC/AP242
FUNCTION md_pmi_name_and_type_correlation
      (input : annotation_placeholder_occurrence ) : BOOLEAN;
   LOCAL
      pmi_role : STRING := input\annotation_placeholder_occurrence.item\representation_item.name;
      dmiawps : SET OF draughting_model_item_association_with_placeholder := input\annotation_placeholder_occurrence.the_draughting_model_item_association_with_placeholders;
      v : SET OF STRING := [];
   END_LOCAL;
      IF SIZEOF(dmiawps) = 1 THEN
         v := TYPEOF(dmiawps[1]\draughting_model_item_association.definition);
      ELSE
         RETURN (FALSE);
      END_IF;
      IF NOT (pmi_role IN [ 'angular dimension', 'angularity', 'circular runout', 'circularity', 'coaxiality', 'concentricity', 'curve dimension', 'cylindricity', 'datum', 'datum target', 'diameter dimension', 'flatness', 'general dimension', 'general note', 'general tolerance', 'label', 'linear dimension', 'note', 'ordinate dimension', 'parallelism', 'perpendicularity', 'position', 'profile of line', 'profile of surface', 'radial dimension', 'roundness', 'runout', 'straightness', 'surface roughness', 'symmetry', 'total runout' ]) THEN
         RETURN (?);
      END_IF;
      CASE pmi_role OF
         'angular dimension' :
               IF 'STEP_MERGED_AP_SCHEMA.ANGULAR_LOCATION' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'angularity' :
               IF 'STEP_MERGED_AP_SCHEMA.ANGULARITY_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'circular runout' :
               IF 'STEP_MERGED_AP_SCHEMA.CIRCULAR_RUNOUT_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'circularity' :
               IF 'STEP_MERGED_AP_SCHEMA.ROUNDNESS_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'coaxiality' :
               IF 'STEP_MERGED_AP_SCHEMA.COAXIALITY_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'concentricity' :
               IF 'STEP_MERGED_AP_SCHEMA.CONCENTRICITY_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'curve dimension' :
               IF 'STEP_MERGED_AP_SCHEMA.DIMENSIONAL_SIZE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'cylindricity' :
               IF 'STEP_MERGED_AP_SCHEMA.CYLINDRICITY_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'datum' :
               IF 'STEP_MERGED_AP_SCHEMA.DATUM' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'datum target' :
               IF 'STEP_MERGED_AP_SCHEMA.DATUM_TARGET' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'diameter dimension' :
               IF 'STEP_MERGED_AP_SCHEMA.DIMENSIONAL_SIZE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'flatness' :
               IF 'STEP_MERGED_AP_SCHEMA.FLATNESS_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'general dimension' :
               IF SIZEOF([ 'STEP_MERGED_AP_SCHEMA.DIMENSIONAL_SIZE', 'STEP_MERGED_AP_SCHEMA.DIMENSIONAL_LOCATION' ] * v) = 1 THEN
                  RETURN (TRUE);
               END_IF;
         'general note' :
               IF 'STEP_MERGED_AP_SCHEMA.PROPERTY_DEFINITION' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'general tolerance' :
               IF 'STEP_MERGED_AP_SCHEMA.GEOMETRIC_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'label' :
               IF 'STEP_MERGED_AP_SCHEMA.PROPERTY_DEFINITION' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'linear dimension' :
               IF 'STEP_MERGED_AP_SCHEMA.DIMENSIONAL_SIZE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'note' :
               IF 'STEP_MERGED_AP_SCHEMA.PROPERTY_DEFINITION' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'ordinate dimension' :
               IF 'STEP_MERGED_AP_SCHEMA.DIMENSIONAL_SIZE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'parallelism' :
               IF 'STEP_MERGED_AP_SCHEMA.PARALLELISM_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'perpendicularity' :
               IF 'STEP_MERGED_AP_SCHEMA.PERPENDICULARITY_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'position' :
               IF 'STEP_MERGED_AP_SCHEMA.POSITION_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'profile of line' :
               IF 'STEP_MERGED_AP_SCHEMA.LINE_PROFILE_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'profile of surface' :
               IF 'STEP_MERGED_AP_SCHEMA.SURFACE_PROFILE_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'radial dimension' :
               IF 'STEP_MERGED_AP_SCHEMA.DIMENSIONAL_SIZE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'roundness' :
               IF 'STEP_MERGED_AP_SCHEMA.ROUNDNESS_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'runout' :
               IF 'STEP_MERGED_AP_SCHEMA.TOTAL_RUNOUT_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'straightness' :
               IF 'STEP_MERGED_AP_SCHEMA.STRAIGHTNESS_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'surface roughness' :
               IF 'STEP_MERGED_AP_SCHEMA.PROPERTY_DEFINITION' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'symmetry' :
               IF 'STEP_MERGED_AP_SCHEMA.SYMMETRY_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
         'total runout' :
               IF 'STEP_MERGED_AP_SCHEMA.TOTAL_RUNOUT_TOLERANCE' IN v THEN
                  RETURN (TRUE);
               END_IF;
      OTHERWISE :
            RETURN (FALSE);
      END_CASE;
END_FUNCTION;

Referenced By

Defintion md_pmi_name_and_type_correlation is references by the following definitions:
DefinitionType
 annotation_placeholder_occurrence ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2024-09-06T14:00:33-04:00