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:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2024-09-06T14:00:33-04:00