RULE validate_dependently_instantiable_entity_data_types

(* SCHEMA Ap242_managed_model_based_3d_engineering_mim_LF; *)
(* E2: SUBTYPE_CONSTRAINT representation_item_subtypes FOR REPRESENTATION_ITEM; *)

(* E2: SUBTYPE_CONSTRAINT currency_subtypes FOR CURRENCY; *)

(* E2: SUBTYPE_CONSTRAINT cm_group_assignment_subtypes FOR GROUP_ASSIGNMENT; *)

(* E2: SUBTYPE_CONSTRAINT pos_compound_representation_item_subtypes FOR COMPOUND_REPRESENTATION_ITEM; *)

(* E2: SUBTYPE_CONSTRAINT cm_group_subtypes FOR GROUP; *)

(* E2: SUBTYPE_CONSTRAINT pos_product_definition_subtypes FOR PRODUCT_DEFINITION; *)

(* E2: SUBTYPE_CONSTRAINT primitive_2d_subtypes FOR PRIMITIVE_2D; *)

(* E2: SUBTYPE_CONSTRAINT c_compound_representation_item_subtypes FOR COMPOUND_REPRESENTATION_ITEM; *)

(* E2: SUBTYPE_CONSTRAINT des_draughting_callout_subtypes FOR DRAUGHTING_CALLOUT; *)

(* E2: SUBTYPE_CONSTRAINT machining_feature_definition_subtypes FOR FEATURE_DEFINITION; *)

(* E2: SUBTYPE_CONSTRAINT aa_representation_item_subtypes FOR REPRESENTATION_ITEM; *)

(* E2: SUBTYPE_CONSTRAINT ttr_descriptive_representation_item_subtypes FOR DESCRIPTIVE_REPRESENTATION_ITEM; *)

(*** 2003=>1994 conversion: insert a rule to control if instances are legal according to USE/REF clauses ***)

RULE validate_dependently_instantiable_entity_data_types FOR
      (abstracted_expression_function,action_method_role,action_resource_type,application_defined_function,atom_based_literal,attribute_value_role,b_spline_basis,b_spline_function,basic_sparse_matrix,binary_literal,camera_model_d2,cartesian_complex_number_region,cartesian_transformation_operator,complex_number_literal,concept_feature_relationship,concept_feature_relationship_with_condition,constant_function,definite_integral_expression,definite_integral_function,document_usage_constraint,edge_blended_solid,effectivity_context_role,elementary_function,event_occurrence_role,explicit_procedural_representation_item_relationship,explicit_table_function,expression_denoted_function,extended_tuple_space,externally_listed_data,finite_function,founded_item,function_application,function_space,general_linear_function,homogeneous_linear_function,imported_curve_function,imported_point_function,imported_surface_function,imported_volume_function,indirectly_selected_elements,integer_tuple_literal,linearized_table_function,listed_data,local_time,maths_enum_literal,maths_function,maths_tuple_literal,modified_solid_with_placed_configuration,one_direction_repeat_factor,oriented_open_shell,oriented_path,parallel_composed_function,partial_derivative_expression,partial_derivative_function,polar_complex_number_region,procedural_representation,procedural_representation_sequence,product_definition_effectivity,quantifier_expression,rationalize_function,real_tuple_literal,reindexed_array_function,repackaging_function,restriction_function,runout_zone_orientation,selector_function,series_composed_function,solid_with_depression,solid_with_hole,solid_with_pocket,solid_with_protrusion,solid_with_shape_element_pattern,solid_with_slot,swept_area_solid,symbol_target,two_direction_repeat_factor,user_selected_elements,view_volume,volume --<list this first and all subsequent relevant referencedentity data types here>
      );
LOCAL
  number_of_input_instances : INTEGER;
  previous_in_chain : LIST OF GENERIC := [];
  set_of_input_types : SET OF STRING := [];
  all_instances : SET OF GENERIC := [];
END_LOCAL;

  all_instances := all_instances  + abstracted_expression_function + action_method_role + action_resource_type + application_defined_function + atom_based_literal + attribute_value_role + b_spline_basis + b_spline_function + basic_sparse_matrix + binary_literal + camera_model_d2 + cartesian_complex_number_region + cartesian_transformation_operator + complex_number_literal + concept_feature_relationship + concept_feature_relationship_with_condition + constant_function + definite_integral_expression + definite_integral_function + document_usage_constraint + edge_blended_solid + effectivity_context_role + elementary_function + event_occurrence_role + explicit_procedural_representation_item_relationship + explicit_table_function + expression_denoted_function + extended_tuple_space + externally_listed_data + finite_function + founded_item + function_application + function_space + general_linear_function + homogeneous_linear_function + imported_curve_function + imported_point_function + imported_surface_function + imported_volume_function + indirectly_selected_elements + integer_tuple_literal + linearized_table_function + listed_data + local_time + maths_enum_literal + maths_function + maths_tuple_literal + modified_solid_with_placed_configuration + one_direction_repeat_factor + oriented_open_shell + oriented_path + parallel_composed_function + partial_derivative_expression + partial_derivative_function + polar_complex_number_region + procedural_representation + procedural_representation_sequence + product_definition_effectivity + quantifier_expression + rationalize_function + real_tuple_literal + reindexed_array_function + repackaging_function + restriction_function + runout_zone_orientation + selector_function + series_composed_function + solid_with_depression + solid_with_hole + solid_with_pocket + solid_with_protrusion + solid_with_shape_element_pattern + solid_with_slot + swept_area_solid + symbol_target + two_direction_repeat_factor + user_selected_elements + view_volume + volume;--<make a union of all implicit populations of the FOR-clause>
number_of_input_instances := SIZEOF(all_instances);
(* Collect all type strings of all FOR instances into one set. *)
REPEAT i:=1 TO number_of_input_instances;
  set_of_input_types := set_of_input_types + TYPEOF(all_instances[i]);
END_REPEAT;

WHERE
  WR1: dependently_instantiated(all_instances, set_of_input_types,
                                previous_in_chain);
END_RULE;

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:20:10-04:00