1(* 2 $Id: mim_lf.exp,v 1.40 2009/09/12 02:16:40 thomasrthurman Exp $ 3 ISO TC184/SC4/WG3 N2601 - ISO/TS 10303-410 AP210 electronic assembly interconnect and packaging design - EXPRESS MIM Long form 4 Supersedes ISO TC184/SC4/WG3 N1707 5*) 6 7SCHEMA Ap210_electronic_assembly_interconnect_and_packaging_design_mim_lf; 8 9 10CONSTANT 11 dummy_gri : geometric_representation_item := representation_item('')|| 12 geometric_representation_item(); 13 14 15 dummy_tri : topological_representation_item := representation_item('')|| 16 topological_representation_item(); 17 18 19 pre_defined_picture_representation_types : SET [0:?] OF STRING := [ 'JPEG', 'PNG', 'TIFF', 'BMP', 'GIF']; 20 21 22 23END_CONSTANT; 24 25TYPE absorbed_dose_measure = REAL; 26END_TYPE; 27 28TYPE acceleration_measure = REAL; 29END_TYPE; 30 31TYPE action_items = SELECT ( 32 action_directive, 33 certification_item, 34 characterized_object, 35 classification_item, 36 configuration_effectivity, 37 document_reference_item, 38 identification_item, 39 organization, 40 person_and_organization, 41 product_definition, 42 product_definition_formation, 43 product_definition_formation_relationship, 44 product_definition_relationship, 45 requirement_assigned_item); 46END_TYPE; 47 48TYPE action_method_items = SELECT ( 49 product, 50 product_definition_formation, 51 test_method_based_parameter_assignment); 52END_TYPE; 53 54TYPE action_request_item = SELECT ( 55 product_definition, 56 product_definition_formation, 57 product_definition_formation_relationship, 58 product_definition_relationship, 59 property_definition, 60 versioned_action_request); 61END_TYPE; 62 63TYPE ahead_or_behind = ENUMERATION OF ( 64 ahead, 65 exact, 66 behind ); 67END_TYPE; 68 69TYPE amount_of_substance_measure = REAL; 70END_TYPE; 71 72TYPE angle_direction_reference_select = SELECT ( 73 direction, 74 curve, 75 point_path); 76END_TYPE; 77 78TYPE angle_direction_reference_with_a2p3d_select = SELECT ( 79 angle_direction_reference_select, 80 axis2_placement_3d); 81END_TYPE; 82 83TYPE angle_relator = ENUMERATION OF ( 84 equal, 85 large, 86 small ); 87END_TYPE; 88 89TYPE annotation_plane_element = SELECT ( 90 draughting_callout, 91 styled_item); 92END_TYPE; 93 94TYPE annotation_representation_select = SELECT ( 95 presentation_area, 96 presentation_view, 97 symbol_representation); 98END_TYPE; 99 100TYPE annotation_symbol_occurrence_item = SELECT ( 101 annotation_symbol, 102 defined_symbol); 103END_TYPE; 104 105TYPE annotation_text_occurrence_item = SELECT ( 106 text_literal, 107 annotation_text, 108 annotation_text_character, 109 composite_text); 110END_TYPE; 111 112TYPE approval_item = SELECT ( 113 action, 114 action_directive, 115 alternate_product_relationship, 116 applied_action_assignment, 117 applied_usage_right, 118 assembly_component_usage_substitute, 119 certification, 120 configuration_effectivity, 121 configuration_item, 122 contract, 123 date, 124 directed_action, 125 document, 126 document_file, 127 effectivity, 128 executed_action, 129 frozen_assignment, 130 general_property_relationship, 131 group, 132 group_relationship, 133 information_usage_right, 134 product, 135 product_definition, 136 product_definition_formation, 137 product_definition_formation_relationship, 138 product_definition_relationship, 139 representation, 140 requirement_assignment, 141 security_classification, 142 shape_aspect_relationship, 143 versioned_action_request); 144END_TYPE; 145 146TYPE approved_item = SELECT ( 147 certification, 148 change, 149 change_request, 150 configuration_effectivity, 151 configuration_item, 152 contract, 153 product, 154 security_classification, 155 start_request, 156 start_work); 157END_TYPE; 158 159TYPE area_measure = REAL; 160END_TYPE; 161 162TYPE area_or_view = SELECT ( 163 presentation_area, 164 presentation_view); 165END_TYPE; 166 167TYPE attribute_classification_item = SELECT ( 168 action_directive, 169 action_method, 170 action_property, 171 action_property_representation, 172 action_relationship, 173 action_request_solution, 174 action_request_status, 175 alternate_product_relationship, 176 applied_action_assignment, 177 applied_action_request_assignment, 178 applied_approval_assignment, 179 applied_certification_assignment, 180 applied_document_reference, 181 applied_document_usage_constraint_assignment, 182 applied_effectivity_assignment, 183 applied_event_occurrence_assignment, 184 applied_external_identification_assignment, 185 applied_identification_assignment, 186 applied_organization_assignment, 187 applied_organizational_project_assignment, 188 applied_person_and_organization_assignment, 189 approval, 190 approval_person_organization, 191 approval_relationship, 192 approval_status, 193 certification, 194 context_dependent_unit, 195 contract, 196 date_and_time_assignment, 197 date_assignment, 198 derived_unit, 199 descriptive_representation_item, 200 document_file, 201 document_relationship, 202 effectivity, 203 event_occurrence_relationship, 204 executed_action, 205 general_property, 206 general_property_relationship, 207 group, 208 group_relationship, 209 information_right, 210 information_usage_right, 211 language, 212 measure_representation_item, 213 measure_with_unit, 214 named_unit, 215 organization_relationship, 216 organizational_address, 217 organizational_project_relationship, 218 person_and_organization, 219 person_and_organization_address, 220 product, 221 product_category, 222 product_concept, 223 product_concept_context, 224 product_definition, 225 product_definition_context, 226 product_definition_formation, 227 product_definition_formation_relationship, 228 product_definition_relationship, 229 property_definition, 230 property_definition_relationship, 231 property_definition_representation, 232 representation, 233 representation_context, 234 representation_item, 235 security_classification, 236 time_interval_relationship, 237 uncertainty_measure_with_unit, 238 usage_association, 239 versioned_action_request); 240END_TYPE; 241 242TYPE attribute_language_item = SELECT ( 243 alternate_product_relationship, 244 application_context, 245 applied_certification_assignment, 246 applied_document_reference, 247 applied_document_usage_constraint_assignment, 248 applied_external_identification_assignment, 249 applied_identification_assignment, 250 applied_organizational_project_assignment, 251 applied_security_classification_assignment, 252 approval, 253 approval_relationship, 254 approval_status, 255 assembly_component_usage_substitute, 256 attribute_value_assignment, 257 certification, 258 certification_type, 259 configuration_design, 260 configuration_item, 261 contract, 262 date_role, 263 date_time_role, 264 descriptive_representation_item, 265 document_relationship, 266 document_usage_role, 267 effectivity, 268 effectivity_relationship, 269 event_occurrence, 270 external_source, 271 general_property, 272 general_property_relationship, 273 geometric_representation_item, 274 geometric_tolerance, 275 identification_role, 276 information_right, 277 information_usage_right, 278 make_from_usage_option, 279 mapped_item, 280 multi_language_attribute_assignment, 281 object_role, 282 organization_relationship, 283 organization_role, 284 organizational_project, 285 organizational_project_relationship, 286 organizational_project_role, 287 person_and_organization, 288 person_and_organization_role, 289 product, 290 product_concept, 291 product_concept_relationship, 292 product_definition, 293 product_definition_context, 294 product_definition_formation, 295 product_definition_formation_relationship, 296 product_definition_relationship, 297 product_definition_shape, 298 product_related_product_category, 299 property_definition, 300 representation, 301 security_classification, 302 security_classification_assignment, 303 shape_aspect, 304 shape_aspect_relationship, 305 shape_representation, 306 time_interval_role, 307 topological_representation_item, 308 uncertainty_measure_with_unit, 309 uncertainty_qualifier, 310 usage_association); 311END_TYPE; 312 313TYPE attribute_type = SELECT ( 314 label, 315 text); 316END_TYPE; 317 318TYPE axis2_placement = SELECT ( 319 axis2_placement_2d, 320 axis2_placement_3d); 321END_TYPE; 322 323TYPE b_spline_curve_form = ENUMERATION OF ( 324 polyline_form, 325 circular_arc, 326 elliptic_arc, 327 parabolic_arc, 328 hyperbolic_arc, 329 unspecified ); 330END_TYPE; 331 332TYPE b_spline_surface_form = ENUMERATION OF ( 333 plane_surf, 334 cylindrical_surf, 335 conical_surf, 336 spherical_surf, 337 toroidal_surf, 338 surf_of_revolution, 339 ruled_surf, 340 generalised_cone, 341 quadric_surf, 342 surf_of_linear_extrusion, 343 unspecified ); 344END_TYPE; 345 346TYPE base_solid_select = SELECT ( 347 solid_model, 348 csg_primitive, 349 boolean_result); 350WHERE 351 WR1 : NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D' IN TYPEOF(SELF)); 352END_TYPE; 353 354TYPE blend_end_condition_select = SELECT ( 355 point_on_curve, 356 edge_curve, 357 vertex); 358END_TYPE; 359 360TYPE blend_radius_variation_type = ENUMERATION OF ( 361 linear_blend, 362 cubic_blend, 363 unspecified_blend ); 364END_TYPE; 365 366TYPE boolean_operand = SELECT ( 367 solid_model, 368 half_space_solid, 369 csg_primitive, 370 boolean_result, 371 half_space_2d); 372END_TYPE; 373 374TYPE boolean_operand_2d = SELECT ( 375 primitive_2d, 376 boolean_result_2d, 377 half_space_2d); 378END_TYPE; 379 380TYPE boolean_operator = ENUMERATION OF ( 381 union, 382 intersection, 383 difference ); 384END_TYPE; 385 386TYPE box_characteristic_select = SELECT ( 387 box_height, 388 box_width, 389 box_slant_angle, 390 box_rotate_angle); 391END_TYPE; 392 393TYPE box_height = positive_ratio_measure; 394END_TYPE; 395 396TYPE box_rotate_angle = plane_angle_measure; 397END_TYPE; 398 399TYPE box_slant_angle = plane_angle_measure; 400END_TYPE; 401 402TYPE box_width = positive_ratio_measure; 403END_TYPE; 404 405TYPE camera_model_d3_multi_clipping_interection_select = SELECT ( 406 camera_model_d3_multi_clipping_union, 407 plane); 408END_TYPE; 409 410TYPE camera_model_d3_multi_clipping_union_select = SELECT ( 411 camera_model_d3_multi_clipping_intersection, 412 plane); 413END_TYPE; 414 415TYPE capacitance_measure = REAL; 416END_TYPE; 417 418TYPE category_usage_item = SELECT ( 419 product_class); 420END_TYPE; 421 422TYPE cc_classified_item = SELECT ( 423 assembly_component_usage, 424 product_definition_formation); 425END_TYPE; 426 427TYPE cc_person_organization_item = SELECT ( 428 change, 429 change_request, 430 configuration_item, 431 contract, 432 product, 433 product_definition, 434 product_definition_formation, 435 security_classification, 436 start_request, 437 start_work); 438END_TYPE; 439 440TYPE cc_specified_item = SELECT ( 441 product_definition, 442 shape_aspect); 443END_TYPE; 444 445TYPE celsius_temperature_measure = REAL; 446END_TYPE; 447 448TYPE central_or_parallel = ENUMERATION OF ( 449 central, 450 parallel ); 451END_TYPE; 452 453TYPE certification_item = SELECT ( 454 alternate_product_relationship, 455 make_from_usage_option, 456 product_definition_formation, 457 product_definition_formation_relationship); 458END_TYPE; 459 460TYPE certified_item = SELECT ( 461 supplied_part_relationship); 462END_TYPE; 463 464TYPE change_request_item = SELECT ( 465 product_definition_formation); 466END_TYPE; 467 468TYPE character_spacing_select = SELECT ( 469 length_measure, 470 ratio_measure, 471 measure_with_unit, 472 descriptive_measure); 473END_TYPE; 474 475TYPE character_style_select = SELECT ( 476 character_glyph_style_stroke, 477 character_glyph_style_outline, 478 text_style_for_defined_font); 479END_TYPE; 480 481TYPE characterized_action_definition = SELECT ( 482 action, 483 action_method, 484 action_method_relationship, 485 action_relationship); 486END_TYPE; 487 488TYPE characterized_definition = SELECT ( 489 characterized_object, 490 characterized_product_definition, 491 shape_definition); 492END_TYPE; 493 494TYPE characterized_material_property = SELECT ( 495 material_property_representation, 496 product_material_composition_relationship); 497END_TYPE; 498 499TYPE characterized_product_composition_value = SELECT ( 500 measure_with_unit); 501END_TYPE; 502 503TYPE characterized_product_definition = SELECT ( 504 product_definition, 505 product_definition_relationship); 506END_TYPE; 507 508TYPE class_usage_effectivity_context_item = SELECT ( 509 product_definition); 510END_TYPE; 511 512TYPE classification_item = SELECT ( 513 action, 514 action_directive, 515 action_method, 516 action_property, 517 action_relationship, 518 action_request_solution, 519 action_request_status, 520 address, 521 alternate_product_relationship, 522 applied_action_assignment, 523 applied_action_request_assignment, 524 applied_approval_assignment, 525 applied_certification_assignment, 526 applied_contract_assignment, 527 applied_date_and_time_assignment, 528 applied_date_assignment, 529 applied_document_reference, 530 applied_document_usage_constraint_assignment, 531 applied_effectivity_assignment, 532 applied_event_occurrence_assignment, 533 applied_external_identification_assignment, 534 applied_identification_assignment, 535 applied_organization_assignment, 536 applied_organizational_project_assignment, 537 applied_person_and_organization_assignment, 538 applied_security_classification_assignment, 539 approval, 540 approval_person_organization, 541 approval_relationship, 542 approval_status, 543 assembly_component_usage_substitute, 544 calendar_date, 545 certification, 546 characterized_class, 547 characterized_object, 548 class, 549 classified_item, 550 configuration_item, 551 context_dependent_unit, 552 contract, 553 conversion_based_unit, 554 date_and_time, 555 date_and_time_assignment, 556 date_assignment, 557 derived_unit, 558 descriptive_representation_item, 559 directed_action, 560 document_file, 561 document_relationship, 562 effectivity, 563 event_occurrence, 564 executed_action, 565 general_property, 566 general_property_relationship, 567 group, 568 identification_assignment, 569 information_right, 570 information_usage_right, 571 language, 572 material_designation, 573 measure_representation_item, 574 measure_with_unit, 575 multi_language_attribute_assignment, 576 named_unit, 577 organization, 578 organization_relationship, 579 organizational_address, 580 organizational_project, 581 organizational_project_relationship, 582 person, 583 person_and_organization_address, 584 product, 585 product_concept, 586 product_definition, 587 product_definition_context, 588 product_definition_formation, 589 product_definition_formation_relationship, 590 product_definition_relationship, 591 property_definition, 592 property_definition_representation, 593 representation, 594 representation_context, 595 representation_item, 596 security_classification, 597 stratum_technology_occurrence_relationship, 598 uncertainty_measure_with_unit, 599 usage_association, 600 versioned_action_request); 601END_TYPE; 602 603TYPE classified_item = SELECT ( 604 product, 605 product_definition, 606 product_definition_formation); 607END_TYPE; 608 609TYPE component_material_relationship_assignment_item = SELECT ( 610 assembly_component_usage, 611 assembly_item_number, 612 specification_definition); 613END_TYPE; 614 615TYPE compound_inner_area_boundary = SELECT ( 616 set_inner_area_boundary); 617END_TYPE; 618 619TYPE compound_item_definition = SELECT ( 620 list_representation_item, 621 set_representation_item); 622END_TYPE; 623 624TYPE conductance_measure = REAL; 625END_TYPE; 626 627TYPE configuration_design_item = SELECT ( 628 product_definition, 629 product_definition_formation); 630END_TYPE; 631 632TYPE configured_effectivity_context_item = SELECT ( 633 product_concept_feature_association); 634END_TYPE; 635 636TYPE configured_effectivity_item = SELECT ( 637 product_definition); 638END_TYPE; 639 640TYPE constructive_geometry_representation_or_shape_represenation = SELECT ( 641 constructive_geometry_representation, 642 shape_representation); 643END_TYPE; 644 645TYPE context_dependent_measure = REAL; 646END_TYPE; 647 648TYPE contract_item = SELECT ( 649 action_directive, 650 alternate_product_relationship, 651 directed_action, 652 executed_action, 653 information_usage_right, 654 organization, 655 person_and_organization, 656 product, 657 product_definition_formation); 658END_TYPE; 659 660TYPE contracted_item = SELECT ( 661 product_definition_formation); 662END_TYPE; 663 664TYPE count_measure = NUMBER; 665END_TYPE; 666 667TYPE csg_2d_area_select = SELECT ( 668 axis2_placement_2d, 669 csg_primitive_solid_2d); 670END_TYPE; 671 672TYPE csg_2d_shape_select = SELECT ( 673 mapped_item, 674 axis2_placement_2d, 675 csg_solid_2d); 676END_TYPE; 677 678TYPE csg_primitive = SELECT ( 679 sphere, 680 block, 681 right_angular_wedge, 682 torus, 683 right_circular_cone, 684 right_circular_cylinder, 685 primitive_2d); 686END_TYPE; 687 688TYPE csg_select = SELECT ( 689 boolean_result, 690 csg_primitive); 691END_TYPE; 692 693TYPE csg_select_2d = SELECT ( 694 primitive_2d, 695 boolean_result_2d); 696END_TYPE; 697 698TYPE curve_font_or_scaled_curve_font_select = SELECT ( 699 curve_style_font_select, 700 curve_style_font_and_scaling); 701END_TYPE; 702 703TYPE curve_on_surface = SELECT ( 704 pcurve, 705 surface_curve, 706 composite_curve_on_surface); 707END_TYPE; 708 709TYPE curve_or_annotation_curve_occurrence = SELECT ( 710 curve, 711 annotation_curve_occurrence); 712END_TYPE; 713 714TYPE curve_or_render = SELECT ( 715 curve_style, 716 curve_style_rendering); 717END_TYPE; 718 719TYPE curve_style_font_select = SELECT ( 720 curve_style_font, 721 pre_defined_curve_font, 722 externally_defined_curve_font); 723END_TYPE; 724 725TYPE date_and_time_item = SELECT ( 726 action, 727 action_directive, 728 applied_action_assignment, 729 applied_organization_assignment, 730 applied_person_and_organization_assignment, 731 applied_security_classification_assignment, 732 approval_person_organization, 733 certification, 734 contract, 735 directed_action, 736 document, 737 document_file, 738 event_occurrence, 739 executed_action, 740 information_usage_right, 741 organizational_project, 742 product_definition, 743 product_definition_formation, 744 product_definition_relationship, 745 rule_action, 746 security_classification, 747 versioned_action_request); 748END_TYPE; 749 750TYPE date_item = SELECT ( 751 action, 752 action_directive, 753 applied_action_assignment, 754 applied_organization_assignment, 755 applied_person_and_organization_assignment, 756 applied_security_classification_assignment, 757 approval_person_organization, 758 certification, 759 contract, 760 directed_action, 761 document, 762 document_file, 763 event_occurrence, 764 executed_action, 765 information_usage_right, 766 organizational_project, 767 product_definition, 768 product_definition_formation, 769 product_definition_relationship, 770 security_classification, 771 versioned_action_request); 772END_TYPE; 773 774TYPE date_time_item = SELECT ( 775 approval_person_organization, 776 certification, 777 change, 778 change_request, 779 contract, 780 product_definition, 781 security_classification, 782 start_request, 783 start_work); 784END_TYPE; 785 786TYPE date_time_or_event_occurrence = SELECT ( 787 date_time_select, 788 event_occurrence); 789END_TYPE; 790 791TYPE date_time_select = SELECT ( 792 date, 793 date_and_time, 794 local_time); 795END_TYPE; 796 797TYPE day_in_month_number = INTEGER; 798WHERE 799 WR1 : {1 <= SELF <= 31}; 800END_TYPE; 801 802TYPE day_in_week_number = INTEGER; 803WHERE 804 WR1 : { 1 <= SELF <= 7 }; 805END_TYPE; 806 807TYPE day_in_year_number = INTEGER; 808WHERE 809 WR1 : {1 <= SELF <= 366}; 810END_TYPE; 811 812TYPE defined_symbol_select = SELECT ( 813 pre_defined_symbol, 814 externally_defined_symbol); 815END_TYPE; 816 817TYPE derived_property_select = SELECT ( 818 property_definition, 819 action_property); 820END_TYPE; 821 822TYPE description_attribute_select = SELECT ( 823 action_request_solution, 824 application_context, 825 approval_role, 826 configuration_design, 827 date_role, 828 date_time_role, 829 context_dependent_shape_representation, 830 effectivity, 831 external_source, 832 organization_role, 833 person_and_organization_role, 834 person_and_organization, 835 property_definition_representation, 836 representation); 837END_TYPE; 838 839TYPE descriptive_measure = STRING; 840END_TYPE; 841 842TYPE dimension_count = INTEGER; 843WHERE 844 WR1 : SELF > 0; 845END_TYPE; 846 847TYPE dimension_extent_usage = ENUMERATION OF ( 848 origin, 849 target ); 850END_TYPE; 851 852TYPE dimensional_characteristic = SELECT ( 853 dimensional_location, 854 dimensional_size); 855END_TYPE; 856 857TYPE direction_count_select = SELECT ( 858 u_direction_count, 859 v_direction_count); 860END_TYPE; 861 862TYPE document_identifier_assigned_item = SELECT ( 863 document); 864END_TYPE; 865 866TYPE document_reference_item = SELECT ( 867 action_method, 868 analytical_model_definition, 869 applied_external_identification_assignment, 870 assembly_component, 871 assembly_component_usage, 872 characterized_class, 873 characterized_object, 874 component_feature, 875 configuration_item, 876 descriptive_representation_item, 877 dimensional_size, 878 executed_action, 879 externally_defined_dimension_definition, 880 externally_defined_item, 881 group, 882 group_relationship, 883 information_right, 884 information_usage_right, 885 inter_stratum_feature, 886 material_designation, 887 measure_representation_item, 888 model_parameter, 889 package_terminal, 890 passage_technology, 891 physical_connectivity_definition, 892 physical_connectivity_element, 893 predefined_requirement_view_definition, 894 product, 895 product_category, 896 product_definition, 897 product_definition_formation, 898 product_definition_formation_relationship, 899 product_definition_relationship, 900 property_definition, 901 protocol_physical_layer_definition, 902 representation, 903 representation_item, 904 rule_set, 905 shape_aspect, 906 shape_aspect_relationship, 907 stratum, 908 stratum_feature, 909 stratum_surface, 910 stratum_technology, 911 structured_layout_component, 912 usage_association, 913 versioned_action_request); 914END_TYPE; 915 916TYPE dose_equivalent_measure = REAL; 917END_TYPE; 918 919TYPE draughting_callout_element = SELECT ( 920 annotation_text_occurrence, 921 annotation_symbol_occurrence, 922 annotation_curve_occurrence); 923END_TYPE; 924 925TYPE draughting_model_item_association_select = SELECT ( 926 annotation_occurrence, 927 draughting_callout); 928END_TYPE; 929 930TYPE draughting_model_item_select = SELECT ( 931 mapped_item, 932 styled_item, 933 axis2_placement, 934 camera_model, 935 draughting_callout); 936END_TYPE; 937 938TYPE draughting_titled_item = SELECT ( 939 drawing_revision, 940 drawing_sheet_revision); 941END_TYPE; 942 943TYPE effectivity_item = SELECT ( 944 assembly_component_usage_substitute, 945 product, 946 product_definition, 947 product_definition_formation, 948 product_definition_relationship, 949 product_definition_substitute); 950END_TYPE; 951 952TYPE electric_charge_measure = REAL; 953END_TYPE; 954 955TYPE electric_current_measure = REAL; 956END_TYPE; 957 958TYPE electric_potential_measure = REAL; 959END_TYPE; 960 961TYPE energy_measure = REAL; 962END_TYPE; 963 964TYPE event_occurrence_item = SELECT ( 965 organizational_project); 966END_TYPE; 967 968TYPE external_identification_item = SELECT ( 969 action_relationship, 970 action_request_status, 971 applied_organization_assignment, 972 applied_person_and_organization_assignment, 973 approval, 974 approval_status, 975 assembly_bond_definition, 976 assembly_component, 977 composite_signal_property_relationship, 978 date_and_time_assignment, 979 date_assignment, 980 digital_analytical_model_vector_port, 981 document_file, 982 external_source, 983 externally_defined_class, 984 externally_defined_context_dependent_unit, 985 externally_defined_conversion_based_unit, 986 externally_defined_general_property, 987 externally_defined_physical_network_group, 988 externally_defined_physical_network_group_element_relationship, 989 externally_defined_picture_representation_item, 990 externally_defined_product_definition, 991 externally_defined_representation_item, 992 functional_specification, 993 land_physical_template, 994 organizational_address, 995 package, 996 package_terminal_template_definition, 997 printed_component, 998 product_definition, 999 property_definition, 1000 security_classification, 1001 shape_dimension_representation, 1002 shape_representation, 1003 signal, 1004 stratum, 1005 stratum_feature_based_derived_pattern, 1006 stratum_technology, 1007 trimmed_curve, 1008 versioned_action_request); 1009END_TYPE; 1010 1011TYPE fill_area_style_tile_shape_select = SELECT ( 1012 fill_area_style_tile_curve_with_style, 1013 fill_area_style_tile_coloured_region, 1014 fill_area_style_tile_symbol_with_style, 1015 pre_defined_tile, 1016 externally_defined_tile); 1017END_TYPE; 1018 1019TYPE fill_style_select = SELECT ( 1020 fill_area_style_colour, 1021 externally_defined_tile_style, 1022 fill_area_style_tiles, 1023 externally_defined_hatch_style, 1024 fill_area_style_hatching); 1025END_TYPE; 1026 1027TYPE font_select = SELECT ( 1028 pre_defined_text_font, 1029 externally_defined_text_font, 1030 text_font); 1031END_TYPE; 1032 1033TYPE force_measure = REAL; 1034END_TYPE; 1035 1036TYPE founded_item_select = SELECT ( 1037 founded_item, 1038 representation_item); 1039END_TYPE; 1040 1041TYPE frequency_measure = REAL; 1042END_TYPE; 1043 1044TYPE generalized_surface_select = SELECT ( 1045 surface, 1046 face_surface, 1047 surfaced_open_shell); 1048END_TYPE; 1049 1050TYPE geometric_item_specific_usage_select = SELECT ( 1051 shape_aspect, 1052 shape_aspect_relationship); 1053END_TYPE; 1054 1055TYPE geometric_set_select = SELECT ( 1056 point, 1057 curve, 1058 surface); 1059END_TYPE; 1060 1061TYPE groupable_item = SELECT ( 1062 assembly_component, 1063 assembly_component_usage, 1064 assembly_spacing_requirement, 1065 component_feature, 1066 component_functional_unit, 1067 geometric_representation_item, 1068 group_relationship, 1069 group_shape_aspect, 1070 layout_spacing_requirement, 1071 mapped_item, 1072 network_node_definition, 1073 package_product_concept_feature, 1074 part_connected_terminals_definition, 1075 physical_connectivity_definition, 1076 physical_network, 1077 predefined_requirement_view_definition, 1078 printed_part_template_terminal, 1079 product_concept_feature, 1080 product_definition, 1081 product_definition_formation, 1082 property_definition_representation, 1083 representation, 1084 representation_item, 1085 representation_relationship_with_transformation, 1086 shape_aspect, 1087 shape_aspect_relationship, 1088 shape_representation_relationship, 1089 stratum, 1090 styled_item, 1091 topological_representation_item); 1092WHERE 1093 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GROUP' IN TYPEOF(SELF)); 1094END_TYPE; 1095 1096TYPE hour_in_day = INTEGER; 1097WHERE 1098 WR1 : { 0 <= SELF < 24 }; 1099END_TYPE; 1100 1101TYPE id_attribute_select = SELECT ( 1102 action, 1103 address, 1104 product_category, 1105 property_definition, 1106 shape_aspect, 1107 shape_aspect_relationship, 1108 application_context, 1109 group, 1110 organizational_project, 1111 representation); 1112END_TYPE; 1113 1114TYPE identification_item = SELECT ( 1115 approval_status, 1116 characterized_class, 1117 class, 1118 configuration_item, 1119 contract, 1120 dimensional_size, 1121 document_file, 1122 general_property, 1123 group, 1124 group_relationship, 1125 information_right, 1126 information_usage_right, 1127 material_designation, 1128 organization, 1129 person_and_organization, 1130 product, 1131 product_category, 1132 product_class, 1133 product_concept, 1134 product_concept_feature, 1135 product_definition, 1136 product_definition_formation, 1137 product_identification, 1138 representation, 1139 rule_set, 1140 security_classification, 1141 security_classification_level, 1142 shape_aspect_relationship, 1143 shape_representation, 1144 usage_association); 1145END_TYPE; 1146 1147TYPE identifier = STRING; 1148END_TYPE; 1149 1150TYPE illuminance_measure = REAL; 1151END_TYPE; 1152 1153TYPE inductance_measure = REAL; 1154END_TYPE; 1155 1156TYPE instance_usage_context_select = SELECT ( 1157 product_definition_relationship, 1158 product_definition_usage); 1159END_TYPE; 1160 1161TYPE invisibility_context = SELECT ( 1162 draughting_model, 1163 presentation_representation, 1164 presentation_set); 1165END_TYPE; 1166 1167TYPE invisible_item = SELECT ( 1168 draughting_callout, 1169 presentation_layer_assignment, 1170 representation, 1171 styled_item); 1172END_TYPE; 1173 1174TYPE ir_usage_item = action_items; 1175WHERE 1176 wr1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONFIGURATION_EFFECTIVITY' IN TYPEOF(SELF)); 1177END_TYPE; 1178 1179TYPE knot_type = ENUMERATION OF ( 1180 uniform_knots, 1181 quasi_uniform_knots, 1182 piecewise_bezier_knots, 1183 unspecified ); 1184END_TYPE; 1185 1186TYPE label = STRING; 1187END_TYPE; 1188 1189TYPE layered_item = SELECT ( 1190 presentation_representation, 1191 representation_item); 1192END_TYPE; 1193 1194TYPE length_measure = REAL; 1195END_TYPE; 1196 1197TYPE limit_condition = ENUMERATION OF ( 1198 maximum_material_condition, 1199 least_material_condition, 1200 regardless_of_feature_size ); 1201END_TYPE; 1202 1203TYPE list_of_reversible_topology_item = LIST [0:?] OF reversible_topology_item; 1204END_TYPE; 1205 1206TYPE list_representation_item = LIST [1:?] OF representation_item; 1207END_TYPE; 1208 1209TYPE luminous_flux_measure = REAL; 1210END_TYPE; 1211 1212TYPE luminous_intensity_measure = REAL; 1213END_TYPE; 1214 1215TYPE magnetic_flux_density_measure = REAL; 1216END_TYPE; 1217 1218TYPE magnetic_flux_measure = REAL; 1219END_TYPE; 1220 1221TYPE managed_design_object = SELECT ( 1222 action, 1223 action_directive, 1224 alternate_product_relationship, 1225 analog_port_variable, 1226 analytical_model_definition, 1227 analytical_model_make_from_relationship, 1228 analytical_model_port, 1229 analytical_model_port_assignment, 1230 analytical_representation, 1231 applied_approval_assignment, 1232 applied_date_and_time_assignment, 1233 applied_document_reference, 1234 applied_external_identification_assignment, 1235 applied_group_assignment, 1236 applied_identification_assignment, 1237 applied_organization_assignment, 1238 applied_person_and_organization_assignment, 1239 approval, 1240 approval_status, 1241 assembly_bond_definition, 1242 assembly_component, 1243 assembly_component_usage, 1244 assembly_component_usage_substitute, 1245 assembly_group_component_definition_placement_link, 1246 assembly_joint, 1247 auxiliary_characteristic_dimension_representation, 1248 bus_element_link, 1249 bus_structural_definition, 1250 calendar_date, 1251 certification, 1252 characterized_object, 1253 complex_clause, 1254 component_2d_location, 1255 component_3d_location, 1256 component_definition, 1257 component_feature, 1258 component_feature_relationship, 1259 component_functional_terminal, 1260 component_functional_unit, 1261 component_terminal, 1262 composite_curve_segment, 1263 composite_signal_property_relationship, 1264 conductive_interconnect_element_terminal_link, 1265 configuration_effectivity, 1266 configuration_item, 1267 connection_zone_interface_plane_relationship, 1268 connection_zone_map_identification, 1269 connector_based_interconnect_definition, 1270 contract, 1271 curve_style, 1272 curve_style_font, 1273 curve_style_font_and_scaling, 1274 curve_style_parameters_representation, 1275 date, 1276 date_and_time, 1277 datum, 1278 datum_difference_functional_unit_usage_view_terminal_assignment, 1279 descriptive_representation_item, 1280 design_composition_path, 1281 device_terminal_map, 1282 dielectric_crossover_area, 1283 dimension_related_tolerance_zone_element, 1284 dimensional_characteristic_representation, 1285 dimensional_location, 1286 dimensional_size, 1287 direct_stratum_component_join_implementation, 1288 direction, 1289 document, 1290 document_usage_constraint, 1291 draughting_pre_defined_text_font, 1292 effectivity, 1293 evaluated_characteristic, 1294 externally_defined_curve_font, 1295 externally_defined_hatch_style, 1296 externally_defined_item, 1297 externally_defined_text_font, 1298 externally_defined_tile_style, 1299 fabrication_joint, 1300 fill_area_style_hatching, 1301 fill_area_style_tiles, 1302 frozen_assignment, 1303 func, 1304 functional_specification, 1305 functional_terminal_group, 1306 functional_unit_terminal_definition, 1307 general_property_relationship, 1308 geometric_representation_context, 1309 geometric_representation_item, 1310 geometric_tolerance, 1311 geometric_tolerance_group, 1312 geometric_tolerance_relationship, 1313 group, 1314 group_product_definition, 1315 group_shape_aspect, 1316 interface_mounted_join, 1317 item_defined_transformation, 1318 join_shape_aspect, 1319 layer_connection_point, 1320 layout_junction, 1321 linear_array_component_definition_link, 1322 make_from_connectivity_relationship, 1323 make_from_feature_relationship, 1324 make_from_usage_option, 1325 mapped_item, 1326 material_designation, 1327 measure_qualification, 1328 measure_with_unit, 1329 model_parameter, 1330 network_node_definition, 1331 operational_requirement_relationship, 1332 organization, 1333 packaged_connector_terminal_relationship, 1334 parameter_assignment, 1335 parameter_assignment_override, 1336 part_connected_terminals_definition, 1337 passage_technology, 1338 person, 1339 person_and_organization, 1340 physical_connectivity_definition, 1341 physical_connectivity_element, 1342 physical_network, 1343 physical_node_requirement_to_implementing_component_allocation, 1344 plated_inter_stratum_feature, 1345 plus_minus_tolerance, 1346 pre_defined_item, 1347 predefined_requirement_view_definition, 1348 presentation_style_assignment, 1349 printed_connector_template_terminal_relationship, 1350 printed_part_template_connected_terminals_definition, 1351 printed_part_template_material, 1352 printed_part_template_material_link, 1353 product, 1354 product_category, 1355 product_concept, 1356 product_definition, 1357 product_definition_formation, 1358 product_definition_formation_relationship, 1359 product_definition_relationship, 1360 product_definition_with_associated_documents, 1361 product_specific_parameter_value_assignment, 1362 projected_zone_definition, 1363 promissory_usage_occurrence, 1364 property_definition, 1365 property_definition_relationship, 1366 property_definition_representation, 1367 range_characteristic, 1368 reference_composition_path, 1369 representation, 1370 representation_context, 1371 representation_item, 1372 representation_relationship, 1373 representation_relationship_with_transformation, 1374 requirement_assignment, 1375 requirement_view_definition_relationship, 1376 rule_action, 1377 runout_zone_orientation, 1378 runout_zone_orientation_reference_direction, 1379 scalar_terminal_definition_link, 1380 security_classification, 1381 sequential_laminate_passage_based_fabrication_joint, 1382 shape_aspect, 1383 shape_aspect_relationship, 1384 shape_dimension_representation, 1385 shape_representation, 1386 shape_representation_relationship, 1387 signal, 1388 simple_clause, 1389 solid_curve_font, 1390 specified_higher_usage_occurrence, 1391 stratum_feature_based_derived_pattern, 1392 stratum_feature_conductive_join, 1393 stratum_surface, 1394 stratum_technology, 1395 stratum_technology_occurrence_link, 1396 styled_item, 1397 text_font, 1398 tolerance_value, 1399 tolerance_zone_definition, 1400 tolerance_zone_form, 1401 usage_view_connection_zone_terminal_shape_relationship, 1402 vector, 1403 versioned_action_request); 1404END_TYPE; 1405 1406TYPE marker_select = SELECT ( 1407 marker_type, 1408 pre_defined_marker); 1409END_TYPE; 1410 1411TYPE marker_type = ENUMERATION OF ( 1412 dot, 1413 x, 1414 plus, 1415 asterisk, 1416 ring, 1417 square, 1418 triangle ); 1419END_TYPE; 1420 1421TYPE mass_measure = REAL; 1422END_TYPE; 1423 1424TYPE measure_value = SELECT ( 1425 absorbed_dose_measure, 1426 dose_equivalent_measure, 1427 radioactivity_measure, 1428 acceleration_measure, 1429 amount_of_substance_measure, 1430 area_measure, 1431 celsius_temperature_measure, 1432 context_dependent_measure, 1433 count_measure, 1434 descriptive_measure, 1435 capacitance_measure, 1436 electric_charge_measure, 1437 conductance_measure, 1438 electric_current_measure, 1439 electric_potential_measure, 1440 energy_measure, 1441 magnetic_flux_density_measure, 1442 force_measure, 1443 frequency_measure, 1444 illuminance_measure, 1445 inductance_measure, 1446 length_measure, 1447 luminous_flux_measure, 1448 luminous_intensity_measure, 1449 magnetic_flux_measure, 1450 mass_measure, 1451 numeric_measure, 1452 non_negative_length_measure, 1453 parameter_value, 1454 plane_angle_measure, 1455 positive_length_measure, 1456 positive_plane_angle_measure, 1457 positive_ratio_measure, 1458 power_measure, 1459 pressure_measure, 1460 ratio_measure, 1461 resistance_measure, 1462 solid_angle_measure, 1463 thermodynamic_temperature_measure, 1464 time_measure, 1465 velocity_measure, 1466 volume_measure); 1467END_TYPE; 1468 1469TYPE mechanical_design_and_draughting_relationship_select = SELECT ( 1470 draughting_model, 1471 mechanical_design_geometric_presentation_representation, 1472 mechanical_design_presentation_representation_with_draughting, 1473 mechanical_design_shaded_presentation_representation, 1474 shape_representation); 1475END_TYPE; 1476 1477TYPE mechanical_design_geometric_presentation_area_items = SELECT ( 1478 axis2_placement, 1479 mapped_item); 1480END_TYPE; 1481 1482TYPE mechanical_design_geometric_presentation_representation_items = SELECT ( 1483 axis2_placement, 1484 camera_model_d3, 1485 mapped_item, 1486 styled_item); 1487END_TYPE; 1488 1489TYPE message = STRING; 1490END_TYPE; 1491 1492TYPE minute_in_hour = INTEGER; 1493WHERE 1494 WR1 : { 0 <= SELF <= 59 }; 1495END_TYPE; 1496 1497TYPE month_in_year_number = INTEGER; 1498WHERE 1499 WR1 : { 1 <= SELF <= 12 }; 1500END_TYPE; 1501 1502TYPE multi_language_attribute_item = SELECT ( 1503 alternate_product_relationship, 1504 application_context, 1505 applied_certification_assignment, 1506 applied_document_reference, 1507 applied_document_usage_constraint_assignment, 1508 applied_external_identification_assignment, 1509 applied_identification_assignment, 1510 applied_organizational_project_assignment, 1511 approval, 1512 approval_relationship, 1513 approval_status, 1514 assembly_component_usage_substitute, 1515 attribute_value_assignment, 1516 certification, 1517 certification_type, 1518 colour, 1519 configuration_design, 1520 configuration_item, 1521 contract, 1522 date_role, 1523 date_time_role, 1524 descriptive_representation_item, 1525 document_relationship, 1526 document_usage_role, 1527 effectivity, 1528 effectivity_relationship, 1529 event_occurrence, 1530 external_source, 1531 general_property, 1532 general_property_relationship, 1533 geometric_representation_item, 1534 geometric_tolerance, 1535 identification_role, 1536 information_right, 1537 information_usage_right, 1538 make_from_usage_option, 1539 mapped_item, 1540 object_role, 1541 organization_relationship, 1542 organization_role, 1543 organizational_project, 1544 organizational_project_relationship, 1545 organizational_project_role, 1546 person_and_organization, 1547 person_and_organization_role, 1548 product, 1549 product_concept, 1550 product_concept_relationship, 1551 product_definition, 1552 product_definition_context, 1553 product_definition_formation, 1554 product_definition_formation_relationship, 1555 product_definition_relationship, 1556 product_definition_shape, 1557 product_related_product_category, 1558 property_definition, 1559 representation, 1560 representation_relationship, 1561 security_classification, 1562 security_classification_assignment, 1563 shape_aspect, 1564 shape_aspect_relationship, 1565 shape_representation, 1566 time_interval_role, 1567 topological_representation_item, 1568 uncertainty_measure_with_unit, 1569 usage_association); 1570END_TYPE; 1571 1572TYPE name_attribute_select = SELECT ( 1573 action_request_solution, 1574 address, 1575 configuration_design, 1576 context_dependent_shape_representation, 1577 derived_unit, 1578 effectivity, 1579 person_and_organization, 1580 product_definition, 1581 product_definition_substitute, 1582 property_definition_representation); 1583END_TYPE; 1584 1585TYPE name_item = SELECT ( 1586 assembly_component_usage, 1587 external_class_library, 1588 group, 1589 group_relationship, 1590 product, 1591 product_definition); 1592END_TYPE; 1593 1594TYPE non_negative_length_measure = length_measure; 1595WHERE 1596 WR1 : SELF >= 0.0; 1597END_TYPE; 1598 1599TYPE nonnegative_integer = INTEGER; 1600WHERE 1601 nonnegativity : SELF >= 0; 1602END_TYPE; 1603 1604TYPE null_style = ENUMERATION OF ( 1605 null ); 1606END_TYPE; 1607 1608TYPE numeric_measure = NUMBER; 1609END_TYPE; 1610 1611TYPE organization_item = SELECT ( 1612 action, 1613 action_directive, 1614 alternate_product_relationship, 1615 applied_action_assignment, 1616 applied_classification_assignment, 1617 applied_identification_assignment, 1618 applied_security_classification_assignment, 1619 approval, 1620 assembly_component_usage_substitute, 1621 certification, 1622 class, 1623 configuration_item, 1624 contract, 1625 document_file, 1626 executed_action, 1627 general_property, 1628 information_usage_right, 1629 organizational_project, 1630 product, 1631 product_definition, 1632 product_definition_formation, 1633 product_definition_formation_relationship, 1634 property_definition, 1635 representation, 1636 rule_action, 1637 security_classification, 1638 shape_representation, 1639 versioned_action_request); 1640END_TYPE; 1641 1642TYPE orientation_basis_select = SELECT ( 1643 axis2_placement_3d, 1644 min_and_major_ply_orientation_basis); 1645END_TYPE; 1646 1647TYPE parameter_value = REAL; 1648END_TYPE; 1649 1650TYPE pcurve_or_surface = SELECT ( 1651 pcurve, 1652 surface); 1653END_TYPE; 1654 1655TYPE person_and_organization_item = SELECT ( 1656 action, 1657 action_directive, 1658 alternate_product_relationship, 1659 applied_action_assignment, 1660 applied_classification_assignment, 1661 applied_identification_assignment, 1662 applied_security_classification_assignment, 1663 approval, 1664 assembly_component_usage_substitute, 1665 certification, 1666 configuration_item, 1667 contract, 1668 document_file, 1669 executed_action, 1670 general_property, 1671 information_usage_right, 1672 organizational_project, 1673 person_and_organization, 1674 product, 1675 product_definition, 1676 product_definition_formation, 1677 product_definition_formation_relationship, 1678 property_definition, 1679 rule_action, 1680 security_classification, 1681 shape_representation, 1682 versioned_action_request); 1683END_TYPE; 1684 1685TYPE person_organization_select = SELECT ( 1686 person, 1687 organization, 1688 person_and_organization); 1689END_TYPE; 1690 1691TYPE picture_representation_item_select = SELECT ( 1692 styled_item, 1693 planar_box, 1694 axis2_placement_2d); 1695END_TYPE; 1696 1697TYPE plane_angle_measure = REAL; 1698END_TYPE; 1699 1700TYPE plane_or_planar_box = SELECT ( 1701 plane, 1702 planar_box); 1703END_TYPE; 1704 1705TYPE point_and_vector_member = SELECT ( 1706 point, 1707 direction); 1708END_TYPE; 1709 1710TYPE point_and_vector_members = LIST [2:3] OF point_and_vector_member; 1711END_TYPE; 1712 1713TYPE point_path_members = LIST [1:?] OF point_and_vector; 1714END_TYPE; 1715 1716TYPE positive_integer = nonnegative_integer; 1717WHERE 1718 positivity : SELF > 0; 1719END_TYPE; 1720 1721TYPE positive_length_measure = non_negative_length_measure; 1722WHERE 1723 WR1 : SELF > 0.0; 1724END_TYPE; 1725 1726TYPE positive_plane_angle_measure = plane_angle_measure; 1727WHERE 1728 WR1 : SELF > 0.0; 1729END_TYPE; 1730 1731TYPE positive_ratio_measure = ratio_measure; 1732WHERE 1733 WR1 : SELF > 0.0; 1734END_TYPE; 1735 1736TYPE power_measure = REAL; 1737END_TYPE; 1738 1739TYPE preferred_surface_curve_representation = ENUMERATION OF ( 1740 curve_3d, 1741 pcurve_s1, 1742 pcurve_s2 ); 1743END_TYPE; 1744 1745TYPE presentable_text = STRING; 1746WHERE 1747 WR1 : control_characters_free(SELF); 1748END_TYPE; 1749 1750TYPE presentation_representation_select = SELECT ( 1751 presentation_representation, 1752 presentation_set); 1753END_TYPE; 1754 1755TYPE presentation_size_assignment_select = SELECT ( 1756 presentation_view, 1757 presentation_area, 1758 area_in_set); 1759END_TYPE; 1760 1761TYPE presentation_style_select = SELECT ( 1762 point_style, 1763 curve_style, 1764 surface_style_usage, 1765 symbol_style, 1766 fill_area_style, 1767 text_style, 1768 null_style); 1769END_TYPE; 1770 1771TYPE presented_item_select = SELECT ( 1772 action, 1773 action_method, 1774 action_relationship, 1775 product_concept, 1776 product_concept_feature, 1777 product_concept_feature_category, 1778 product_definition, 1779 product_definition_formation, 1780 product_definition_relationship); 1781END_TYPE; 1782 1783TYPE pressure_measure = REAL; 1784END_TYPE; 1785 1786TYPE product_definition_or_assembly_relationship = SELECT ( 1787 assembly_component_usage, 1788 product_definition); 1789END_TYPE; 1790 1791TYPE product_definition_or_breakdown_element_usage = SELECT ( 1792 product_definition, 1793 product_definition_usage); 1794END_TYPE; 1795 1796TYPE product_definition_or_product_definition_relationship = SELECT ( 1797 product_definition, 1798 product_definition_usage); 1799END_TYPE; 1800 1801TYPE product_or_formation_or_definition = SELECT ( 1802 product, 1803 product_definition_formation, 1804 product_definition); 1805END_TYPE; 1806 1807TYPE project_item = SELECT ( 1808 executed_action, 1809 product_concept); 1810END_TYPE; 1811 1812TYPE radioactivity_measure = REAL; 1813END_TYPE; 1814 1815TYPE ratio_measure = REAL; 1816END_TYPE; 1817 1818TYPE rendering_properties_select = SELECT ( 1819 surface_style_reflectance_ambient, 1820 surface_style_transparent); 1821END_TYPE; 1822 1823TYPE represented_definition = SELECT ( 1824 general_property, 1825 property_definition, 1826 property_definition_relationship, 1827 shape_aspect, 1828 shape_aspect_relationship); 1829END_TYPE; 1830 1831TYPE requirement_assigned_item = SELECT ( 1832 assembly_component_usage, 1833 assembly_item_number, 1834 assembly_joint, 1835 component_functional_unit, 1836 component_material_relationship, 1837 configuration_item, 1838 derived_laminate_assignment, 1839 descriptive_representation_item, 1840 dielectric_crossover_area, 1841 group, 1842 group_product_definition, 1843 group_relationship, 1844 group_shape_aspect, 1845 layered_interconnect_module_design_view, 1846 part_connected_terminals_definition, 1847 part_connected_terminals_element, 1848 passage_technology, 1849 physical_connectivity_definition, 1850 predefined_requirement_view_definition, 1851 product, 1852 product_class, 1853 product_definition, 1854 product_definition_formation, 1855 product_definition_relationship, 1856 property_definition, 1857 representation, 1858 shape_aspect, 1859 shape_aspect_relationship, 1860 shape_representation, 1861 statistical_dimensional_location, 1862 statistical_dimensional_size, 1863 statistical_geometric_tolerance, 1864 stratum_feature_conductive_join, 1865 stratum_technology, 1866 stratum_technology_occurrence, 1867 stratum_technology_occurrence_relationship, 1868 structured_template, 1869 thermal_isolation_removal_template); 1870END_TYPE; 1871 1872TYPE requirement_satisfaction_item = SELECT ( 1873 requirement_assigned_item); 1874END_TYPE; 1875 1876TYPE requirement_source_item = SELECT ( 1877 characterized_object, 1878 group, 1879 group_relationship, 1880 product, 1881 product_definition, 1882 product_definition_formation, 1883 product_definition_relationship, 1884 shape_aspect); 1885END_TYPE; 1886 1887TYPE resistance_measure = REAL; 1888END_TYPE; 1889 1890TYPE reversible_topology = SELECT ( 1891 reversible_topology_item, 1892 list_of_reversible_topology_item, 1893 set_of_reversible_topology_item); 1894END_TYPE; 1895 1896TYPE reversible_topology_item = SELECT ( 1897 edge, 1898 path, 1899 face, 1900 face_bound, 1901 closed_shell, 1902 open_shell); 1903END_TYPE; 1904 1905TYPE role_select = SELECT ( 1906 action_assignment, 1907 action_request_assignment, 1908 approval_assignment, 1909 approval_date_time, 1910 certification_assignment, 1911 contract_assignment, 1912 document_reference, 1913 effectivity_assignment, 1914 group_assignment, 1915 name_assignment, 1916 security_classification_assignment); 1917END_TYPE; 1918 1919TYPE rule_superseded_item = SELECT ( 1920 product_definition_formation); 1921END_TYPE; 1922 1923TYPE second_in_minute = REAL; 1924WHERE 1925 WR1 : { 0 <= SELF <= 60.0 }; 1926END_TYPE; 1927 1928TYPE security_classification_item = SELECT ( 1929 assembly_component_usage, 1930 document, 1931 document_file, 1932 make_from_usage_option, 1933 product, 1934 product_definition, 1935 product_definition_formation, 1936 product_definition_usage); 1937END_TYPE; 1938 1939TYPE set_inner_area_boundary = SET [1:?] OF primitive_2d; 1940END_TYPE; 1941 1942TYPE set_of_reversible_topology_item = SET [0:?] OF reversible_topology_item; 1943END_TYPE; 1944 1945TYPE set_representation_item = SET [1:?] OF representation_item; 1946END_TYPE; 1947 1948TYPE shading_curve_method = ENUMERATION OF ( 1949 constant_colour, 1950 linear_colour ); 1951END_TYPE; 1952 1953TYPE shading_surface_method = ENUMERATION OF ( 1954 constant_shading, 1955 colour_shading, 1956 dot_shading, 1957 normal_shading ); 1958END_TYPE; 1959 1960TYPE shape_definition = SELECT ( 1961 product_definition_shape, 1962 shape_aspect, 1963 shape_aspect_relationship); 1964END_TYPE; 1965 1966TYPE shell = SELECT ( 1967 vertex_shell, 1968 wire_shell, 1969 open_shell, 1970 closed_shell); 1971END_TYPE; 1972 1973TYPE si_prefix = ENUMERATION OF ( 1974 exa, 1975 peta, 1976 tera, 1977 giga, 1978 mega, 1979 kilo, 1980 hecto, 1981 deca, 1982 deci, 1983 centi, 1984 milli, 1985 micro, 1986 nano, 1987 pico, 1988 femto, 1989 atto ); 1990END_TYPE; 1991 1992TYPE si_unit_name = ENUMERATION OF ( 1993 metre, 1994 gram, 1995 second, 1996 ampere, 1997 kelvin, 1998 mole, 1999 candela, 2000 radian, 2001 steradian, 2002 hertz, 2003 newton, 2004 pascal, 2005 joule, 2006 watt, 2007 coulomb, 2008 volt, 2009 farad, 2010 ohm, 2011 siemens, 2012 weber, 2013 tesla, 2014 henry, 2015 degree_Celsius, 2016 lumen, 2017 lux, 2018 becquerel, 2019 gray, 2020 sievert ); 2021END_TYPE; 2022 2023TYPE size_select = SELECT ( 2024 positive_length_measure, 2025 measure_with_unit, 2026 descriptive_measure); 2027END_TYPE; 2028 2029TYPE sketch_basis_select = SELECT ( 2030 curve_bounded_surface, 2031 face_surface); 2032END_TYPE; 2033 2034TYPE solid_angle_measure = REAL; 2035END_TYPE; 2036 2037TYPE source = ENUMERATION OF ( 2038 made, 2039 bought, 2040 not_known ); 2041END_TYPE; 2042 2043TYPE source_item = SELECT ( 2044 identifier, 2045 message); 2046END_TYPE; 2047 2048TYPE start_request_item = SELECT ( 2049 product_definition_formation); 2050END_TYPE; 2051 2052TYPE string_representation_item_select = SELECT ( 2053 descriptive_representation_item, 2054 included_text_block, 2055 structured_text_composition); 2056END_TYPE; 2057 2058TYPE style_context_select = SELECT ( 2059 group, 2060 presentation_layer_assignment, 2061 presentation_set, 2062 representation, 2063 representation_item, 2064 representation_relationship); 2065END_TYPE; 2066 2067TYPE surface_side = ENUMERATION OF ( 2068 positive, 2069 negative, 2070 both ); 2071END_TYPE; 2072 2073TYPE surface_side_style_select = SELECT ( 2074 surface_side_style, 2075 pre_defined_surface_side_style); 2076END_TYPE; 2077 2078TYPE surface_style_element_select = SELECT ( 2079 surface_style_fill_area, 2080 surface_style_boundary, 2081 surface_style_silhouette, 2082 surface_style_segmentation_curve, 2083 surface_style_control_grid, 2084 surface_style_parameter_line, 2085 surface_style_rendering); 2086END_TYPE; 2087 2088TYPE symbol_style_select = SELECT ( 2089 symbol_colour); 2090END_TYPE; 2091 2092TYPE text = STRING; 2093END_TYPE; 2094 2095TYPE text_alignment = label; 2096END_TYPE; 2097 2098TYPE text_delineation = label; 2099END_TYPE; 2100 2101TYPE text_or_character = SELECT ( 2102 annotation_text, 2103 annotation_text_character, 2104 composite_text, 2105 text_literal); 2106END_TYPE; 2107 2108TYPE text_path = ENUMERATION OF ( 2109 left, 2110 right, 2111 up, 2112 down ); 2113END_TYPE; 2114 2115TYPE text_string_representation_item = SELECT ( 2116 text_literal, 2117 annotation_text, 2118 annotation_text_character, 2119 composite_text, 2120 axis2_placement); 2121END_TYPE; 2122 2123TYPE thermodynamic_temperature_measure = REAL; 2124END_TYPE; 2125 2126TYPE time_interval_item = SELECT ( 2127 action, 2128 time_interval_based_effectivity); 2129END_TYPE; 2130 2131TYPE time_measure = REAL; 2132END_TYPE; 2133 2134TYPE tolerance_method_definition = SELECT ( 2135 tolerance_value, 2136 limits_and_fits); 2137END_TYPE; 2138 2139TYPE transformation = SELECT ( 2140 item_defined_transformation, 2141 functionally_defined_transformation); 2142END_TYPE; 2143 2144TYPE transition_code = ENUMERATION OF ( 2145 discontinuous, 2146 continuous, 2147 cont_same_gradient, 2148 cont_same_gradient_same_curvature ); 2149END_TYPE; 2150 2151TYPE trim_condition_select = SELECT ( 2152 length_measure, 2153 plane_angle_measure, 2154 generalized_surface_select, 2155 solid_model); 2156END_TYPE; 2157 2158TYPE trim_intent = ENUMERATION OF ( 2159 blind, 2160 offset, 2161 through_all, 2162 unspecified, 2163 up_to_next ); 2164END_TYPE; 2165 2166TYPE trimming_preference = ENUMERATION OF ( 2167 cartesian, 2168 parameter, 2169 unspecified ); 2170END_TYPE; 2171 2172TYPE trimming_select = SELECT ( 2173 cartesian_point, 2174 parameter_value); 2175END_TYPE; 2176 2177TYPE u_direction_count = INTEGER; 2178WHERE 2179 WR1 : SELF > 1; 2180END_TYPE; 2181 2182TYPE unit = SELECT ( 2183 derived_unit, 2184 named_unit); 2185END_TYPE; 2186 2187TYPE v_direction_count = INTEGER; 2188WHERE 2189 WR1 : SELF > 1; 2190END_TYPE; 2191 2192TYPE value_qualifier = SELECT ( 2193 precision_qualifier, 2194 type_qualifier, 2195 uncertainty_qualifier); 2196END_TYPE; 2197 2198TYPE vector_or_direction = SELECT ( 2199 vector, 2200 direction); 2201END_TYPE; 2202 2203TYPE velocity_measure = REAL; 2204END_TYPE; 2205 2206TYPE volume_measure = REAL; 2207END_TYPE; 2208 2209TYPE week_in_year_number = INTEGER; 2210WHERE 2211 WR1 : { 1 <= SELF <= 53 }; 2212END_TYPE; 2213 2214TYPE work_item = SELECT ( 2215 product_definition_formation); 2216END_TYPE; 2217 2218TYPE year_number = INTEGER; 2219END_TYPE; 2220 2221ENTITY absorbed_dose_measure_with_unit 2222 SUBTYPE OF (measure_with_unit); 2223WHERE 2224 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ABSORBED_DOSE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 2225END_ENTITY; 2226 2227 2228ENTITY absorbed_dose_unit 2229 SUBTYPE OF (derived_unit); 2230WHERE 2231 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.gray); 2232END_ENTITY; 2233 2234 2235ENTITY abstract_variable 2236 SUBTYPE OF (property_definition, property_definition_representation, representation, representation_item); 2237END_ENTITY; 2238 2239 2240ENTITY acceleration_measure_with_unit 2241 SUBTYPE OF (measure_with_unit); 2242WHERE 2243 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACCELERATION_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component); 2244END_ENTITY; 2245 2246 2247ENTITY acceleration_unit 2248 SUBTYPE OF (derived_unit); 2249WHERE 2250 WR1 : derive_dimensional_exponents(SELF) = 2251 dimensional_exponents ( 1.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0 ); 2252END_ENTITY; 2253 2254 2255ENTITY across_port_variable 2256 SUBTYPE OF (port_variable); 2257END_ENTITY; 2258 2259 2260ENTITY action; 2261 name : label; 2262 description : OPTIONAL text; 2263 chosen_method : action_method; 2264DERIVE 2265 id : identifier := get_id_value(SELF); 2266WHERE 2267 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; 2268END_ENTITY; 2269 2270 2271ENTITY action_assignment 2272 ABSTRACT SUPERTYPE; 2273 assigned_action : action; 2274DERIVE 2275 role : object_role := get_role(SELF); 2276WHERE 2277 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; 2278END_ENTITY; 2279 2280 2281ENTITY action_directive; 2282 name : label; 2283 description : OPTIONAL text; 2284 analysis : text; 2285 comment : text; 2286 requests : SET [1:?] OF versioned_action_request; 2287END_ENTITY; 2288 2289 2290ENTITY action_method; 2291 name : label; 2292 description : OPTIONAL text; 2293 consequence : text; 2294 purpose : text; 2295END_ENTITY; 2296 2297 2298ENTITY action_method_assignment 2299 ABSTRACT SUPERTYPE; 2300 assigned_action_method : action_method; 2301 role : action_method_role; 2302END_ENTITY; 2303 2304 2305ENTITY action_method_relationship; 2306 name : label; 2307 description : OPTIONAL text; 2308 relating_method : action_method; 2309 related_method : action_method; 2310END_ENTITY; 2311 2312 2313ENTITY action_method_role; 2314 name : label; 2315 description : OPTIONAL text; 2316END_ENTITY; 2317 2318 2319ENTITY action_property; 2320 name : label; 2321 description : text; 2322 definition : characterized_action_definition; 2323END_ENTITY; 2324 2325 2326ENTITY action_property_representation; 2327 name : label; 2328 description : text; 2329 property : action_property; 2330 representation : representation; 2331END_ENTITY; 2332 2333 2334ENTITY action_relationship; 2335 name : label; 2336 description : OPTIONAL text; 2337 relating_action : action; 2338 related_action : action; 2339END_ENTITY; 2340 2341 2342ENTITY action_request_assignment 2343 ABSTRACT SUPERTYPE; 2344 assigned_action_request : versioned_action_request; 2345DERIVE 2346 role : object_role := get_role(SELF); 2347WHERE 2348 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; 2349END_ENTITY; 2350 2351 2352ENTITY action_request_solution; 2353 method : action_method; 2354 request : versioned_action_request; 2355DERIVE 2356 description : text := get_description_value(SELF); 2357 name : label := get_name_value(SELF); 2358WHERE 2359 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 2360 WR2 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; 2361END_ENTITY; 2362 2363 2364ENTITY action_request_status; 2365 status : label; 2366 assigned_request : versioned_action_request; 2367END_ENTITY; 2368 2369 2370ENTITY action_status; 2371 status : label; 2372 assigned_action : executed_action; 2373END_ENTITY; 2374 2375 2376ENTITY additive_laminate_text_component 2377 SUBTYPE OF (generic_laminate_text_component); 2378END_ENTITY; 2379 2380 2381ENTITY address; 2382 internal_location : OPTIONAL label; 2383 street_number : OPTIONAL label; 2384 street : OPTIONAL label; 2385 postal_box : OPTIONAL label; 2386 town : OPTIONAL label; 2387 region : OPTIONAL label; 2388 postal_code : OPTIONAL label; 2389 country : OPTIONAL label; 2390 facsimile_number : OPTIONAL label; 2391 telephone_number : OPTIONAL label; 2392 electronic_mail_address : OPTIONAL label; 2393 telex_number : OPTIONAL label; 2394DERIVE 2395 name : label := get_name_value(SELF); 2396 url : identifier := get_id_value(SELF); 2397WHERE 2398 WR1 : EXISTS(internal_location) OR EXISTS(street_number) OR EXISTS(street) OR EXISTS(postal_box) OR EXISTS(town) OR EXISTS(region) OR EXISTS(postal_code) OR EXISTS(country) OR EXISTS(facsimile_number) OR EXISTS(telephone_number) OR EXISTS(electronic_mail_address) OR EXISTS(telex_number); 2399END_ENTITY; 2400 2401 2402ENTITY advanced_brep_shape_representation 2403 SUBTYPE OF (shape_representation); 2404WHERE 2405 WR1 : SIZEOF ( 2406QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; 2407 WR2 : SIZEOF ( 2408QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0; 2409 WR3 : SIZEOF ( 2410QUERY ( msb <* 2411QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( 2412QUERY ( csh <* msb_shells(msb)| NOT ( SIZEOF ( 2413QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fcs)) )) = 0) )) = 0) )) = 0; 2414 WR4 : SIZEOF ( 2415QUERY ( msb <* 2416QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0; 2417 WR5 : SIZEOF ( 2418QUERY ( brv <* 2419QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF (it)) )| NOT ( SIZEOF ( 2420QUERY ( csh <* brv\brep_with_voids.voids| csh\oriented_closed_shell.orientation )) = 0) )) = 0; 2421 WR6 : SIZEOF ( 2422QUERY ( mi <* 2423QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_BREP_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; 2424END_ENTITY; 2425 2426 2427ENTITY advanced_face 2428 SUBTYPE OF (face_surface); 2429WHERE 2430 WR1 : SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' ] * TYPEOF (face_geometry)) = 1; 2431 WR2 : SIZEOF ( 2432QUERY ( elp_fbnds <* 2433QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( 2434QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element)) )) = 0) )) = 0; 2435 WR3 : SIZEOF ( 2436QUERY ( elp_fbnds <* 2437QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( 2438QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (oe.edge_element\edge_curve.edge_geometry)) = 1) )) = 0) )) = 0; 2439 WR4 : SIZEOF ( 2440QUERY ( elp_fbnds <* 2441QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( 2442QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_start)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_start\vertex_point.vertex_geometry))) AND (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_end)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_end\vertex_point.vertex_geometry)))) )) = 0) )) = 0; 2443 WR5 : SIZEOF ( 2444QUERY ( elp_fbnds <* 2445QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF (elp_fbnds.bound)) )) = 0; 2446 WR6 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (face_geometry\swept_surface.swept_curve)) = 1); 2447 WR7 : SIZEOF ( 2448QUERY ( vlp_fbnds <* 2449QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) )| NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex\vertex_point.vertex_geometry))) )) = 0; 2450 WR8 : SIZEOF ( 2451QUERY ( bnd <* bounds| NOT ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' ] * TYPEOF (bnd.bound)) = 1) )) = 0; 2452 WR9 : SIZEOF ( 2453QUERY ( elp_fbnds <* 2454QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( 2455QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry)) AND NOT ( SIZEOF ( 2456QUERY ( sc_ag <* oe.edge_element\edge_curve.edge_geometry\surface_curve.associated_geometry| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF (sc_ag)) )) = 0) )) = 0) )) = 0; 2457 WR10 : (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (face_geometry\swept_surface.swept_curve)) OR ( SIZEOF (face_geometry\swept_surface.swept_curve\polyline.points) >= 3))) AND ( SIZEOF ( 2458QUERY ( elp_fbnds <* 2459QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( 2460QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry)) AND NOT ( SIZEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry\polyline.points) >= 3) )) = 0) )) = 0); 2461END_ENTITY; 2462 2463 2464ENTITY aggregate_connectivity_requirement 2465 SUBTYPE OF (applied_group_assignment, product_definition); 2466END_ENTITY; 2467 2468 2469ENTITY allocated_passage_minimum_annular_ring 2470 SUBTYPE OF (characterized_object); 2471END_ENTITY; 2472 2473 2474ENTITY altered_package_terminal 2475 ABSTRACT SUPERTYPE OF (((shape_formed_terminal ANDOR surface_prepped_terminal) ANDOR length_trimmed_terminal)) 2476 SUBTYPE OF (package_terminal); 2477END_ENTITY; 2478 2479 2480ENTITY alternate_product_relationship; 2481 name : label; 2482 definition : OPTIONAL text; 2483 alternate : product; 2484 base : product; 2485 basis : text; 2486UNIQUE 2487 UR1 : alternate, base; 2488WHERE 2489 WR1 : alternate :<>: base; 2490END_ENTITY; 2491 2492 2493ENTITY amount_of_substance_measure_with_unit 2494 SUBTYPE OF (measure_with_unit); 2495WHERE 2496 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AMOUNT_OF_SUBSTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 2497END_ENTITY; 2498 2499 2500ENTITY amount_of_substance_unit 2501 SUBTYPE OF (named_unit); 2502WHERE 2503 WR1 : (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 1.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); 2504END_ENTITY; 2505 2506 2507ENTITY analog_analytical_model_port 2508 SUBTYPE OF (analytical_model_port); 2509END_ENTITY; 2510 2511 2512ENTITY analog_port_variable 2513 SUBTYPE OF (representation, representation_item); 2514END_ENTITY; 2515 2516 2517ENTITY analytical_model_definition 2518 SUBTYPE OF (product_definition); 2519END_ENTITY; 2520 2521 2522ENTITY analytical_model_make_from_relationship 2523 SUBTYPE OF (product_definition_relationship); 2524 SELF\product_definition_relationship.related_product_definition : analytical_model_definition; 2525 SELF\product_definition_relationship.relating_product_definition : analytical_model_definition; 2526UNIQUE 2527 UR1 : relating_product_definition, related_product_definition; 2528END_ENTITY; 2529 2530 2531ENTITY analytical_model_parameter 2532 SUBTYPE OF (property_definition); 2533END_ENTITY; 2534 2535 2536ENTITY analytical_model_port 2537 SUBTYPE OF (property_definition, property_definition_representation, representation); 2538DERIVE 2539 SELF\property_definition_representation.definition : property_definition := SELF; 2540 SELF\property_definition_representation.used_representation : representation := SELF; 2541END_ENTITY; 2542 2543 2544ENTITY analytical_model_port_assignment 2545 SUBTYPE OF (property_definition_representation, representation_relationship); 2546 SELF\representation_relationship.rep_1 : analytical_representation; 2547 SELF\property_definition_representation.used_representation : analytical_model_port; 2548DERIVE 2549 SELF\representation_relationship.rep_2 : analytical_model_port := SELF\property_definition_representation.used_representation; 2550END_ENTITY; 2551 2552 2553ENTITY analytical_model_scalar_port 2554 SUBTYPE OF (analytical_model_vector_port); 2555END_ENTITY; 2556 2557 2558ENTITY analytical_model_vector_port 2559 SUBTYPE OF (analytical_model_port, compound_representation_item); 2560END_ENTITY; 2561 2562 2563ENTITY analytical_representation 2564 SUBTYPE OF (representation); 2565UNIQUE 2566 UR1 : SELF\representation.name; 2567END_ENTITY; 2568 2569 2570ENTITY angle_direction_reference 2571 SUBTYPE OF (representation_item_relationship, geometric_representation_item); 2572 SELF\representation_item_relationship.related_representation_item : angle_direction_reference_select; 2573 SELF\representation_item_relationship.relating_representation_item : orientation_basis_select; 2574WHERE 2575 WR1 : ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND 2576 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MIN_AND_MAJOR_PLY_ORIENTATION_BASIS' IN TYPEOF(relating_representation_item))) 2577 OR 2578 (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND 2579 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF(relating_representation_item)))); 2580END_ENTITY; 2581 2582 2583ENTITY angular_dimension 2584 SUBTYPE OF (dimension_curve_directed_callout); 2585END_ENTITY; 2586 2587 2588ENTITY angular_location 2589 SUBTYPE OF (dimensional_location); 2590 angle_selection : angle_relator; 2591END_ENTITY; 2592 2593 2594ENTITY angular_size 2595 SUBTYPE OF (dimensional_size); 2596 angle_selection : angle_relator; 2597END_ENTITY; 2598 2599 2600ENTITY angularity_tolerance 2601 SUBTYPE OF (geometric_tolerance_with_datum_reference); 2602WHERE 2603 WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) < 3; 2604END_ENTITY; 2605 2606 2607ENTITY annotation_curve_occurrence 2608 SUPERTYPE OF (ONEOF (dimension_curve, leader_curve, projection_curve)) 2609 SUBTYPE OF (annotation_occurrence); 2610 SELF\styled_item.item : curve; 2611END_ENTITY; 2612 2613 2614ENTITY annotation_fill_area 2615 SUBTYPE OF (geometric_representation_item); 2616 boundaries : SET [1:?] OF curve; 2617WHERE 2618 WR1 : (SELF\geometric_representation_item.dim = 3) OR (SIZEOF (QUERY (curve <* SELF.boundaries | 2619 NOT ( 2620 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' IN TYPEOF (curve)) OR 2621 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE' IN TYPEOF (curve)) OR 2622 ( ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (curve)) 2623 AND (curve\b_spline_curve.closed_curve = TRUE) ) OR 2624 ( ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (curve)) 2625 AND (curve\composite_curve.closed_curve = TRUE) ) OR 2626 ( ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (curve)) 2627 AND (curve\polyline.points[LOINDEX(curve\polyline.points)] = 2628 curve\polyline.points[HIINDEX(curve\polyline.points)]) ) 2629 ) )) = 0); 2630END_ENTITY; 2631 2632 2633ENTITY annotation_fill_area_occurrence 2634 SUBTYPE OF (annotation_occurrence); 2635 fill_style_target : point; 2636 SELF\styled_item.item : annotation_fill_area; 2637END_ENTITY; 2638 2639 2640ENTITY annotation_occurrence 2641 SUPERTYPE OF (ONEOF (annotation_curve_occurrence, annotation_fill_area_occurrence, annotation_text_occurrence, annotation_symbol_occurrence)) 2642 SUBTYPE OF (styled_item); 2643WHERE 2644 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN 2645 TYPEOF (SELF); 2646 WR2 : SIZEOF (QUERY (reps <* using_representations(SELF) | 2647 NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_REPRESENTATION_SELECT' IN TYPEOF(reps)))) = 0; 2648END_ENTITY; 2649 2650 2651ENTITY annotation_occurrence_associativity 2652 SUBTYPE OF (annotation_occurrence_relationship); 2653WHERE 2654 WR1 : SIZEOF (TYPEOF (SELF.related_annotation_occurrence) * 2655 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE', 2656 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE', 2657 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE']) = 1; 2658END_ENTITY; 2659 2660 2661ENTITY annotation_occurrence_relationship; 2662 name : label; 2663 description : text; 2664 relating_annotation_occurrence : annotation_occurrence; 2665 related_annotation_occurrence : annotation_occurrence; 2666END_ENTITY; 2667 2668 2669ENTITY annotation_plane 2670 SUBTYPE OF (annotation_occurrence, geometric_representation_item); 2671 elements : OPTIONAL SET [1:?] OF annotation_plane_element; 2672 SELF\styled_item.item : plane_or_planar_box; 2673WHERE 2674 WR1 : SELF\geometric_representation_item.dim = 3; 2675 WR2 : NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) OR 2676 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'AXIS2_PLACEMENT_3D' IN TYPEOF(SELF\styled_item.item\planar_box.placement)); 2677 WR3 : (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) AND 2678 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'CURVE_STYLE' IN TYPEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles[1]))) OR 2679 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PLANE' IN TYPEOF(SELF\styled_item.item)) AND 2680 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'FILL_AREA_STYLE' IN TYPEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles[1]))); 2681 WR4 : (SIZEOF(SELF\styled_item.styles) = 1) AND 2682 (SIZEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles) = 1); 2683END_ENTITY; 2684 2685 2686ENTITY annotation_subfigure_occurrence 2687 SUBTYPE OF (annotation_symbol_occurrence); 2688WHERE 2689 WR1 : SIZEOF (QUERY (sty <* SELF.styles | 2690 NOT (SIZEOF (sty.styles) = 1) 2691 )) = 0; 2692 WR2 : SIZEOF (QUERY (sty <* SELF.styles | 2693 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NULL_STYLE' 2694 IN TYPEOF (sty.styles[1])) ))=0; 2695 WR3 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL' 2696 IN TYPEOF (SELF.item)); 2697 WR4 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_SUBFIGURE_REPRESENTATION' 2698 IN TYPEOF 2699 (SELF.item\mapped_item.mapping_source.mapped_representation)); 2700END_ENTITY; 2701 2702 2703ENTITY annotation_symbol 2704 SUBTYPE OF (mapped_item); 2705 SELF\mapped_item.mapping_source : symbol_representation_map; 2706 SELF\mapped_item.mapping_target : symbol_target; 2707WHERE 2708 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN 2709 TYPEOF (SELF); 2710END_ENTITY; 2711 2712 2713ENTITY annotation_symbol_occurrence 2714 SUBTYPE OF (annotation_occurrence); 2715 SELF\styled_item.item : annotation_symbol_occurrence_item; 2716END_ENTITY; 2717 2718 2719ENTITY annotation_text 2720 SUBTYPE OF (mapped_item); 2721 SELF\mapped_item.mapping_target : axis2_placement; 2722WHERE 2723 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_STRING_REPRESENTATION' IN 2724 TYPEOF( SELF\mapped_item.mapping_source.mapped_representation); 2725 WR2 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN 2726 TYPEOF( SELF); 2727END_ENTITY; 2728 2729 2730ENTITY annotation_text_character 2731 SUBTYPE OF (mapped_item); 2732 alignment : text_alignment; 2733 SELF\mapped_item.mapping_target : axis2_placement; 2734WHERE 2735 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTER_GLYPH_SYMBOL' IN 2736 TYPEOF (SELF\mapped_item.mapping_source.mapped_representation); 2737 WR2 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN 2738 TYPEOF (SELF); 2739END_ENTITY; 2740 2741 2742ENTITY annotation_text_occurrence 2743 SUBTYPE OF (annotation_occurrence); 2744 SELF\styled_item.item : annotation_text_occurrence_item; 2745END_ENTITY; 2746 2747 2748ENTITY apex 2749 SUBTYPE OF (derived_shape_aspect); 2750END_ENTITY; 2751 2752 2753ENTITY application_context; 2754 application : label; 2755DERIVE 2756 description : text := get_description_value(SELF); 2757 id : identifier := get_id_value(SELF); 2758INVERSE 2759 context_elements: SET [1:?] OF application_context_element FOR frame_of_reference; 2760WHERE 2761 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 2762 WR2 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; 2763END_ENTITY; 2764 2765 2766ENTITY application_context_element 2767 SUPERTYPE OF (ONEOF (product_concept_context, product_context, product_definition_context)); 2768 name : label; 2769 frame_of_reference : application_context; 2770END_ENTITY; 2771 2772 2773ENTITY application_protocol_definition; 2774 status : label; 2775 application_interpreted_model_schema_name : label; 2776 application_protocol_year : year_number; 2777 application : application_context; 2778END_ENTITY; 2779 2780 2781ENTITY applied_action_assignment 2782 SUBTYPE OF (action_assignment); 2783 items : SET [1:?] OF action_items; 2784END_ENTITY; 2785 2786 2787ENTITY applied_action_method_assignment 2788 SUBTYPE OF (action_method_assignment); 2789 items : SET [1:?] OF action_method_items; 2790END_ENTITY; 2791 2792 2793ENTITY applied_action_request_assignment 2794 SUBTYPE OF (action_request_assignment); 2795 items : SET [1:?] OF action_request_item; 2796END_ENTITY; 2797 2798 2799ENTITY applied_approval_assignment 2800 SUBTYPE OF (approval_assignment); 2801 items : SET [1:?] OF approval_item; 2802END_ENTITY; 2803 2804 2805ENTITY applied_attribute_classification_assignment 2806 SUBTYPE OF (attribute_classification_assignment); 2807 items : SET [1:?] OF attribute_classification_item; 2808 SELF\attribute_classification_assignment.assigned_class : class; 2809END_ENTITY; 2810 2811 2812ENTITY applied_certification_assignment 2813 SUBTYPE OF (certification_assignment); 2814 items : SET [1:?] OF certification_item; 2815END_ENTITY; 2816 2817 2818ENTITY applied_classification_assignment 2819 SUBTYPE OF (classification_assignment); 2820 items : SET [1:?] OF classification_item; 2821END_ENTITY; 2822 2823 2824ENTITY applied_contract_assignment 2825 SUBTYPE OF (contract_assignment); 2826 items : SET [1:?] OF contract_item; 2827END_ENTITY; 2828 2829 2830ENTITY applied_date_and_time_assignment 2831 SUBTYPE OF (date_and_time_assignment); 2832 items : SET [1:?] OF date_and_time_item; 2833END_ENTITY; 2834 2835 2836ENTITY applied_date_assignment 2837 SUBTYPE OF (date_assignment); 2838 items : SET [1:?] OF date_item; 2839END_ENTITY; 2840 2841 2842ENTITY applied_document_reference 2843 SUBTYPE OF (document_reference); 2844 items : SET [1:?] OF document_reference_item; 2845END_ENTITY; 2846 2847 2848ENTITY applied_document_usage_constraint_assignment 2849 SUBTYPE OF (document_usage_constraint_assignment); 2850 items : SET [1:?] OF document_reference_item; 2851END_ENTITY; 2852 2853 2854ENTITY applied_effectivity_assignment 2855 SUBTYPE OF (effectivity_assignment); 2856 items : SET [1:?] OF effectivity_item; 2857END_ENTITY; 2858 2859 2860ENTITY applied_event_occurrence_assignment 2861 SUBTYPE OF (event_occurrence_assignment); 2862 items : SET [1:?] OF event_occurrence_item; 2863END_ENTITY; 2864 2865 2866ENTITY applied_external_identification_assignment 2867 SUBTYPE OF (external_identification_assignment); 2868 items : SET [1:?] OF external_identification_item; 2869END_ENTITY; 2870 2871 2872ENTITY applied_group_assignment 2873 SUBTYPE OF (group_assignment); 2874 items : SET [1:?] OF groupable_item; 2875END_ENTITY; 2876 2877 2878ENTITY applied_identification_assignment 2879 SUBTYPE OF (identification_assignment); 2880 items : SET [1:?] OF identification_item; 2881END_ENTITY; 2882 2883 2884ENTITY applied_name_assignment 2885 SUBTYPE OF (name_assignment); 2886 item : name_item; 2887END_ENTITY; 2888 2889 2890ENTITY applied_organization_assignment 2891 SUBTYPE OF (organization_assignment); 2892 items : SET [1:?] OF organization_item; 2893END_ENTITY; 2894 2895 2896ENTITY applied_organizational_project_assignment 2897 SUBTYPE OF (organizational_project_assignment); 2898 items : SET [1:?] OF project_item; 2899END_ENTITY; 2900 2901 2902ENTITY applied_person_and_organization_assignment 2903 SUBTYPE OF (person_and_organization_assignment); 2904 items : SET [1:?] OF person_and_organization_item; 2905END_ENTITY; 2906 2907 2908ENTITY applied_presented_item 2909 SUBTYPE OF (presented_item); 2910 items : SET [1:?] OF presented_item_select; 2911END_ENTITY; 2912 2913 2914ENTITY applied_security_classification_assignment 2915 SUBTYPE OF (security_classification_assignment); 2916 items : SET [1:?] OF security_classification_item; 2917END_ENTITY; 2918 2919 2920ENTITY applied_time_interval_assignment 2921 SUBTYPE OF (time_interval_assignment); 2922 items : SET [0:?] OF time_interval_item; 2923END_ENTITY; 2924 2925 2926ENTITY applied_usage_right 2927 SUBTYPE OF (applied_action_assignment); 2928 SELF\applied_action_assignment.items : SET [1:?] OF ir_usage_item; 2929END_ENTITY; 2930 2931 2932ENTITY approval; 2933 status : approval_status; 2934 level : label; 2935END_ENTITY; 2936 2937 2938ENTITY approval_assignment 2939 ABSTRACT SUPERTYPE; 2940 assigned_approval : approval; 2941DERIVE 2942 role : object_role := get_role(SELF); 2943WHERE 2944 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; 2945END_ENTITY; 2946 2947 2948ENTITY approval_date_time; 2949 date_time : date_time_select; 2950 dated_approval : approval; 2951DERIVE 2952 role : object_role := get_role(SELF); 2953WHERE 2954 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; 2955END_ENTITY; 2956 2957 2958ENTITY approval_person_organization; 2959 person_organization : person_organization_select; 2960 authorized_approval : approval; 2961 role : approval_role; 2962END_ENTITY; 2963 2964 2965ENTITY approval_relationship; 2966 name : label; 2967 description : OPTIONAL text; 2968 relating_approval : approval; 2969 related_approval : approval; 2970END_ENTITY; 2971 2972 2973ENTITY approval_role; 2974 role : label; 2975DERIVE 2976 description : text := get_description_value(SELF); 2977WHERE 2978 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 2979END_ENTITY; 2980 2981 2982ENTITY approval_status; 2983 name : label; 2984END_ENTITY; 2985 2986 2987ENTITY area_component 2988 SUPERTYPE OF (connected_area_component) 2989 SUBTYPE OF (stratum_feature_template_component); 2990END_ENTITY; 2991 2992 2993ENTITY area_in_set; 2994 area : presentation_area; 2995 in_set : presentation_set; 2996END_ENTITY; 2997 2998 2999ENTITY area_measure_with_unit 3000 SUBTYPE OF (measure_with_unit); 3001WHERE 3002 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 3003END_ENTITY; 3004 3005 3006ENTITY area_qualified_layout_spacing_requirement 3007 SUBTYPE OF (layout_spacing_requirement); 3008END_ENTITY; 3009 3010 3011ENTITY area_unit 3012 SUBTYPE OF (derived_unit); 3013WHERE 3014 WR1 : derive_dimensional_exponents(SELF) = 3015 dimensional_exponents ( 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ); 3016END_ENTITY; 3017 3018 3019ENTITY area_with_outer_boundary 3020 SUBTYPE OF (complex_area, half_space_2d); 3021 SELF\half_space_2d.base_curve : composite_curve; 3022END_ENTITY; 3023 3024 3025ENTITY array_placement_group 3026 SUPERTYPE OF (ONEOF (laminate_text_string_component, linear_array_placement_group_component, rectangular_array_placement_group_component)) 3027 SUBTYPE OF (assembly_group_component); 3028END_ENTITY; 3029 3030 3031ENTITY assembly_bond_definition 3032 SUBTYPE OF (shape_aspect); 3033UNIQUE 3034 UR1 : SELF\shape_aspect.name; 3035END_ENTITY; 3036 3037 3038ENTITY assembly_component 3039 SUPERTYPE OF (ONEOF (physical_component, printed_component, laminate_component)) 3040 SUBTYPE OF (component_definition, product_definition_shape); 3041DERIVE 3042 SELF\property_definition.definition : assembly_component := SELF; 3043WHERE 3044 WR1 : NOT EXISTS(SELF\property_definition.description); 3045END_ENTITY; 3046 3047 3048ENTITY assembly_component_usage 3049 SUPERTYPE OF (ONEOF (next_assembly_usage_occurrence, specified_higher_usage_occurrence, promissory_usage_occurrence)) 3050 SUBTYPE OF (product_definition_usage); 3051 reference_designator : OPTIONAL identifier; 3052END_ENTITY; 3053 3054 3055ENTITY assembly_component_usage_substitute; 3056 name : label; 3057 definition : OPTIONAL text; 3058 base : assembly_component_usage; 3059 substitute : assembly_component_usage; 3060UNIQUE 3061 UR1 : base, substitute; 3062WHERE 3063 WR1 : base.relating_product_definition :=: 3064 substitute.relating_product_definition; 3065 WR2 : base :<>: substitute; 3066END_ENTITY; 3067 3068 3069ENTITY assembly_group_component 3070 SUBTYPE OF (assembly_component); 3071END_ENTITY; 3072 3073 3074ENTITY assembly_group_component_definition_placement_link 3075 SUBTYPE OF (product_definition, product_definition_relationship); 3076 SELF\product_definition_relationship.related_product_definition : assembly_component; 3077 SELF\product_definition_relationship.relating_product_definition : assembly_component; 3078WHERE 3079 WR1 : SELF\product_definition_relationship.related_product_definition :<>: 3080 SELF\product_definition_relationship.relating_product_definition; 3081 WR2 : acyclic_product_definition_relationship (SELF, 3082 [SELF\product_definition_relationship.related_product_definition], 3083 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASSEMBLY_GROUP_COMPONENT_DEFINITION_PLACEMENT_LINK'); 3084END_ENTITY; 3085 3086 3087ENTITY assembly_group_spacing_requirement 3088 SUBTYPE OF (predefined_requirement_view_definition); 3089END_ENTITY; 3090 3091 3092ENTITY assembly_item_number 3093 SUBTYPE OF (group, applied_group_assignment); 3094 SELF\applied_group_assignment.items : SET [1:?] OF assembly_component_usage; 3095DERIVE 3096 SELF\group_assignment.assigned_group : group := SELF; 3097END_ENTITY; 3098 3099 3100ENTITY assembly_joint 3101 SUBTYPE OF (component_feature_joint); 3102WHERE 3103 WR1 : acyclic_shape_aspect_relationship(SELF, 3104 [SELF\shape_aspect_relationship.related_shape_aspect], 3105 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 3106 'ASSEMBLY_JOINT'); 3107END_ENTITY; 3108 3109 3110ENTITY assembly_module_component 3111 SUBTYPE OF (physical_component); 3112END_ENTITY; 3113 3114 3115ENTITY assembly_module_design_view 3116 SUPERTYPE OF (ONEOF (layered_assembly_panel_design_view, layered_assembly_module_design_view)) 3117 SUBTYPE OF (physical_unit); 3118END_ENTITY; 3119 3120 3121ENTITY assembly_module_interface_terminal 3122 SUBTYPE OF (assembly_module_terminal); 3123END_ENTITY; 3124 3125 3126ENTITY assembly_module_macro_component 3127 SUBTYPE OF (physical_component); 3128END_ENTITY; 3129 3130 3131ENTITY assembly_module_macro_component_join_terminal 3132 SUBTYPE OF (physical_component_terminal); 3133END_ENTITY; 3134 3135 3136ENTITY assembly_module_macro_terminal 3137 SUBTYPE OF (assembly_module_terminal); 3138END_ENTITY; 3139 3140 3141ENTITY assembly_module_terminal 3142 SUPERTYPE OF (ONEOF (assembly_module_interface_terminal, assembly_module_macro_terminal)) 3143 SUBTYPE OF (shape_aspect); 3144END_ENTITY; 3145 3146 3147ENTITY assembly_module_usage_view 3148 SUPERTYPE OF (layered_assembly_module_usage_view) 3149 SUBTYPE OF (physical_unit); 3150END_ENTITY; 3151 3152 3153ENTITY assembly_shield_allocation 3154 SUBTYPE OF (electromagnetic_compatibility_requirement_allocation); 3155END_ENTITY; 3156 3157 3158ENTITY assembly_spacing_requirement 3159 SUBTYPE OF (predefined_requirement_view_definition); 3160END_ENTITY; 3161 3162 3163ENTITY assembly_to_part_connectivity_structure_allocation 3164 SUBTYPE OF (shape_aspect_relationship, shape_aspect); 3165 SELF\shape_aspect_relationship.related_shape_aspect : physical_connectivity_element; 3166 SELF\shape_aspect_relationship.relating_shape_aspect : part_connected_terminals_element; 3167DERIVE 3168 assembly_element : physical_connectivity_element := SELF\shape_aspect_relationship.related_shape_aspect; 3169 part_element : part_connected_terminals_element := SELF\shape_aspect_relationship.relating_shape_aspect; 3170END_ENTITY; 3171 3172 3173ENTITY assigned_requirement 3174 SUBTYPE OF (group_assignment); 3175 items : SET [1:1] OF product_definition; 3176 SELF\group_assignment.assigned_group : requirement_assignment; 3177END_ENTITY; 3178 3179 3180ENTITY atomic_formula 3181 SUBTYPE OF (compound_representation_item); 3182END_ENTITY; 3183 3184 3185ENTITY attribute_assertion 3186 SUBTYPE OF (fact_type, property_definition_representation, representation); 3187END_ENTITY; 3188 3189 3190ENTITY attribute_classification_assignment 3191 ABSTRACT SUPERTYPE; 3192 assigned_class : group; 3193 attribute_name : label; 3194 role : classification_role; 3195END_ENTITY; 3196 3197 3198ENTITY attribute_language_assignment 3199 SUBTYPE OF (attribute_classification_assignment); 3200 items : SET [1:?] OF attribute_language_item; 3201 SELF\attribute_classification_assignment.assigned_class : language; 3202WHERE 3203 WR1 : SELF\attribute_classification_assignment.role.name IN ['primary', 'translated']; 3204 WR2 : SELF\attribute_classification_assignment.attribute_name<> ''; 3205END_ENTITY; 3206 3207 3208ENTITY attribute_value_assignment 3209 ABSTRACT SUPERTYPE; 3210 attribute_name : label; 3211 attribute_value : attribute_type; 3212 role : attribute_value_role; 3213END_ENTITY; 3214 3215 3216ENTITY attribute_value_role; 3217 name : label; 3218 description : OPTIONAL text; 3219END_ENTITY; 3220 3221 3222ENTITY auxiliary_characteristic_dimension_representation 3223 SUBTYPE OF (dimensional_characteristic_representation); 3224END_ENTITY; 3225 3226 3227ENTITY auxiliary_geometric_representation_item 3228 SUBTYPE OF (geometric_representation_item, variational_representation_item); 3229END_ENTITY; 3230 3231 3232ENTITY axis1_placement 3233 SUBTYPE OF (placement); 3234 axis : OPTIONAL direction; 3235DERIVE 3236 z : direction := NVL(normalise(axis), dummy_gri || 3237 direction([0.0,0.0,1.0])); 3238WHERE 3239 WR1 : SELF\geometric_representation_item.dim = 3; 3240END_ENTITY; 3241 3242 3243ENTITY axis2_placement_2d 3244 SUBTYPE OF (placement); 3245 ref_direction : OPTIONAL direction; 3246DERIVE 3247 p : LIST [2:2] OF direction := build_2axes(ref_direction); 3248WHERE 3249 WR1 : SELF\geometric_representation_item.dim = 2; 3250END_ENTITY; 3251 3252 3253ENTITY axis2_placement_3d 3254 SUBTYPE OF (placement); 3255 axis : OPTIONAL direction; 3256 ref_direction : OPTIONAL direction; 3257DERIVE 3258 p : LIST [3:3] OF direction := build_axes(axis,ref_direction); 3259WHERE 3260 WR1 : SELF\placement.location.dim = 3; 3261 WR2 : (NOT (EXISTS (axis))) OR (axis.dim = 3); 3262 WR3 : (NOT (EXISTS (ref_direction))) OR (ref_direction.dim = 3); 3263 WR4 : (NOT (EXISTS (axis))) OR (NOT (EXISTS (ref_direction))) OR 3264 (cross_product(axis,ref_direction).magnitude > 0.0); 3265END_ENTITY; 3266 3267 3268ENTITY axis_placement_2d_3d_mapping 3269 SUBTYPE OF (item_defined_transformation); 3270 SELF\item_defined_transformation.transform_item_1 : axis2_placement_2d; 3271 SELF\item_defined_transformation.transform_item_2 : axis2_placement_3d; 3272END_ENTITY; 3273 3274 3275ENTITY b_spline_curve 3276 SUPERTYPE OF ((ONEOF (uniform_curve, b_spline_curve_with_knots, quasi_uniform_curve, bezier_curve) ANDOR rational_b_spline_curve)) 3277 SUBTYPE OF (bounded_curve); 3278 degree : INTEGER; 3279 control_points_list : LIST [2:?] OF cartesian_point; 3280 curve_form : b_spline_curve_form; 3281 closed_curve : LOGICAL; 3282 self_intersect : LOGICAL; 3283DERIVE 3284 control_points : ARRAY [0:upper_index_on_control_points] OF cartesian_point := list_to_array(control_points_list,0, 3285 upper_index_on_control_points); 3286 upper_index_on_control_points : INTEGER := (SIZEOF(control_points_list) - 1); 3287WHERE 3288 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNIFORM_CURVE' IN TYPEOF(self)) OR 3289 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.QUASI_UNIFORM_CURVE' IN TYPEOF(self)) OR 3290 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEZIER_CURVE' IN TYPEOF(self)) OR 3291 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF(self)); 3292END_ENTITY; 3293 3294 3295ENTITY b_spline_curve_with_knots 3296 SUBTYPE OF (b_spline_curve); 3297 knot_multiplicities : LIST [2:?] OF INTEGER; 3298 knots : LIST [2:?] OF parameter_value; 3299 knot_spec : knot_type; 3300DERIVE 3301 upper_index_on_knots : INTEGER := SIZEOF(knots); 3302WHERE 3303 WR1 : constraints_param_b_spline(degree, upper_index_on_knots, 3304 upper_index_on_control_points, 3305 knot_multiplicities, knots); 3306 WR2 : SIZEOF(knot_multiplicities) = upper_index_on_knots; 3307END_ENTITY; 3308 3309 3310ENTITY b_spline_surface 3311 SUPERTYPE OF ((ONEOF (b_spline_surface_with_knots, uniform_surface, quasi_uniform_surface, bezier_surface) ANDOR rational_b_spline_surface)) 3312 SUBTYPE OF (bounded_surface); 3313 u_degree : INTEGER; 3314 v_degree : INTEGER; 3315 control_points_list : LIST [2:?] OF LIST [2:?] OF cartesian_point; 3316 surface_form : b_spline_surface_form; 3317 u_closed : LOGICAL; 3318 v_closed : LOGICAL; 3319 self_intersect : LOGICAL; 3320DERIVE 3321 control_points : ARRAY [0:u_upper] OF ARRAY [0:v_upper] OF cartesian_point := make_array_of_array(control_points_list, 3322 0,u_upper,0,v_upper); 3323 u_upper : INTEGER := SIZEOF(control_points_list) - 1; 3324 v_upper : INTEGER := SIZEOF(control_points_list[1]) - 1; 3325WHERE 3326 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNIFORM_SURFACE' IN TYPEOF(SELF)) OR 3327 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.QUASI_UNIFORM_SURFACE' IN TYPEOF(SELF)) OR 3328 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEZIER_SURFACE' IN TYPEOF(SELF)) OR 3329 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF(SELF)); 3330END_ENTITY; 3331 3332 3333ENTITY b_spline_surface_with_knots 3334 SUBTYPE OF (b_spline_surface); 3335 u_multiplicities : LIST [2:?] OF INTEGER; 3336 v_multiplicities : LIST [2:?] OF INTEGER; 3337 u_knots : LIST [2:?] OF parameter_value; 3338 v_knots : LIST [2:?] OF parameter_value; 3339 knot_spec : knot_type; 3340DERIVE 3341 knot_u_upper : INTEGER := SIZEOF(u_knots); 3342 knot_v_upper : INTEGER := SIZEOF(v_knots); 3343WHERE 3344 WR1 : constraints_param_b_spline(SELF\b_spline_surface.u_degree, 3345 knot_u_upper, SELF\b_spline_surface.u_upper, 3346 u_multiplicities, u_knots); 3347 WR2 : constraints_param_b_spline(SELF\b_spline_surface.v_degree, 3348 knot_v_upper, SELF\b_spline_surface.v_upper, 3349 v_multiplicities, v_knots); 3350 WR3 : SIZEOF(u_multiplicities) = knot_u_upper; 3351 WR4 : SIZEOF(v_multiplicities) = knot_v_upper; 3352END_ENTITY; 3353 3354 3355ENTITY back_chaining_rule 3356 SUBTYPE OF (rule_definition); 3357END_ENTITY; 3358 3359 3360ENTITY back_chaining_rule_body 3361 SUBTYPE OF (property_definition, property_definition_representation, representation); 3362END_ENTITY; 3363 3364 3365ENTITY background_colour 3366 SUBTYPE OF (colour); 3367 presentation : area_or_view; 3368UNIQUE 3369 UR1 : presentation; 3370END_ENTITY; 3371 3372 3373ENTITY bare_die 3374 SUBTYPE OF (physical_unit); 3375END_ENTITY; 3376 3377 3378ENTITY bare_die_bottom_surface 3379 SUBTYPE OF (bare_die_surface); 3380END_ENTITY; 3381 3382 3383ENTITY bare_die_component 3384 SUBTYPE OF (physical_component); 3385END_ENTITY; 3386 3387 3388ENTITY bare_die_edge_segment_surface 3389 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 3390 SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; 3391 SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; 3392WHERE 3393 WR1 : SELF\shape_aspect_relationship.relating_shape_aspect :<>: 3394 SELF\shape_aspect_relationship.related_shape_aspect; 3395END_ENTITY; 3396 3397 3398ENTITY bare_die_edge_surface 3399 SUBTYPE OF (bare_die_surface); 3400WHERE 3401 WR1 : SELF\shape_aspect.product_definitional; 3402 WR2 : SIZEOF(TYPEOF(SELF) - TYPEOF(SELF\shape_aspect || 3403 SELF\part_mounting_feature || 3404 SELF\bare_die_edge_surface || 3405 SELF\bare_die_surface)) = 0; 3406END_ENTITY; 3407 3408 3409ENTITY bare_die_surface 3410 ABSTRACT SUPERTYPE OF (ONEOF (bare_die_bottom_surface, bare_die_top_surface, bare_die_edge_surface)) 3411 SUBTYPE OF (part_mounting_feature); 3412 SELF\shape_aspect.of_shape : bare_die; 3413WHERE 3414 WR1 : SELF\shape_aspect.product_definitional; 3415END_ENTITY; 3416 3417 3418ENTITY bare_die_template_terminal 3419 SUBTYPE OF (part_feature_template_definition, shape_aspect); 3420END_ENTITY; 3421 3422 3423ENTITY bare_die_terminal 3424 SUBTYPE OF (minimally_defined_bare_die_terminal, placed_feature); 3425END_ENTITY; 3426 3427 3428ENTITY bare_die_top_surface 3429 SUBTYPE OF (bare_die_surface); 3430WHERE 3431 WR1 : SELF\shape_aspect.product_definitional; 3432 WR2 : SIZEOF(TYPEOF(SELF) - TYPEOF(SELF\shape_aspect || 3433 SELF\part_mounting_feature || 3434 SELF\bare_die_top_surface || 3435 SELF\bare_die_surface)) = 0; 3436END_ENTITY; 3437 3438 3439ENTITY basic_multi_stratum_printed_component 3440 SUBTYPE OF (printed_component); 3441END_ENTITY; 3442 3443 3444ENTITY basic_multi_stratum_printed_part_template 3445 SUBTYPE OF (printed_part_template); 3446END_ENTITY; 3447 3448 3449ENTITY beveled_sheet_representation 3450 SUBTYPE OF (shape_representation); 3451END_ENTITY; 3452 3453 3454ENTITY bezier_curve 3455 SUBTYPE OF (b_spline_curve); 3456END_ENTITY; 3457 3458 3459ENTITY bezier_surface 3460 SUBTYPE OF (b_spline_surface); 3461END_ENTITY; 3462 3463 3464ENTITY binary_generic_expression 3465 ABSTRACT SUPERTYPE 3466 SUBTYPE OF (generic_expression); 3467 operands : LIST [2:2] OF generic_expression; 3468END_ENTITY; 3469 3470 3471ENTITY binary_numeric_expression 3472 ABSTRACT SUPERTYPE 3473 SUBTYPE OF (numeric_expression, binary_generic_expression); 3474 SELF\binary_generic_expression.operands : LIST [2:2] OF numeric_expression; 3475END_ENTITY; 3476 3477 3478ENTITY binary_representation_item 3479 SUBTYPE OF (representation_item); 3480 binary_value : BINARY; 3481END_ENTITY; 3482 3483 3484ENTITY blind_passage_template 3485 SUBTYPE OF (unsupported_passage_template); 3486END_ENTITY; 3487 3488 3489ENTITY blind_via 3490 ABSTRACT SUPERTYPE OF (ONEOF (non_conductive_base_blind_via, plated_conductive_base_blind_via)) 3491 SUBTYPE OF (via); 3492END_ENTITY; 3493 3494 3495ENTITY block 3496 SUBTYPE OF (geometric_representation_item); 3497 position : axis2_placement_3d; 3498 x : positive_length_measure; 3499 y : positive_length_measure; 3500 z : positive_length_measure; 3501END_ENTITY; 3502 3503 3504ENTITY boolean_expression 3505 ABSTRACT SUPERTYPE OF (ONEOF (simple_boolean_expression, multiple_arity_boolean_expression, comparison_expression, interval_expression)) 3506 SUBTYPE OF (expression); 3507END_ENTITY; 3508 3509 3510ENTITY boolean_literal 3511 SUBTYPE OF (simple_boolean_expression, generic_literal); 3512 the_value : BOOLEAN; 3513END_ENTITY; 3514 3515 3516ENTITY boolean_representation_item 3517 SUBTYPE OF (representation_item, boolean_literal); 3518END_ENTITY; 3519 3520 3521ENTITY boolean_result 3522 SUBTYPE OF (geometric_representation_item); 3523 operator : boolean_operator; 3524 first_operand : boolean_operand; 3525 second_operand : boolean_operand; 3526END_ENTITY; 3527 3528 3529ENTITY boolean_result_2d 3530 SUBTYPE OF (boolean_result); 3531 SELF\boolean_result.first_operand : boolean_operand_2d; 3532 SELF\boolean_result.second_operand : boolean_operand_2d; 3533END_ENTITY; 3534 3535 3536ENTITY boundary_curve 3537 SUBTYPE OF (composite_curve_on_surface); 3538WHERE 3539 WR1 : SELF\composite_curve.closed_curve; 3540END_ENTITY; 3541 3542 3543ENTITY bounded_curve 3544 SUPERTYPE OF (ONEOF (polyline, b_spline_curve, trimmed_curve, bounded_pcurve, bounded_surface_curve, composite_curve)) 3545 SUBTYPE OF (curve); 3546END_ENTITY; 3547 3548 3549ENTITY bounded_pcurve 3550 SUBTYPE OF (pcurve, bounded_curve); 3551WHERE 3552 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE' IN 3553 TYPEOF(SELF\pcurve.reference_to_curve.items[1])); 3554END_ENTITY; 3555 3556 3557ENTITY bounded_surface 3558 SUPERTYPE OF (ONEOF (b_spline_surface, rectangular_trimmed_surface, curve_bounded_surface, rectangular_composite_surface)) 3559 SUBTYPE OF (surface); 3560END_ENTITY; 3561 3562 3563ENTITY bounded_surface_curve 3564 SUBTYPE OF (surface_curve, bounded_curve); 3565WHERE 3566 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE' IN 3567 TYPEOF(SELF\surface_curve.curve_3d)); 3568END_ENTITY; 3569 3570 3571ENTITY box_domain 3572 SUBTYPE OF (founded_item); 3573 corner : cartesian_point; 3574 xlength : positive_length_measure; 3575 ylength : positive_length_measure; 3576 zlength : positive_length_measure; 3577WHERE 3578 WR1 : SIZEOF(QUERY(item <* USEDIN(SELF,'')| 3579 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOXED_HALF_SPACE' 3580 IN TYPEOF(item)))) = 0; 3581END_ENTITY; 3582 3583 3584ENTITY boxed_half_space 3585 SUBTYPE OF (half_space_solid); 3586 enclosure : box_domain; 3587END_ENTITY; 3588 3589 3590ENTITY breakdown_context 3591 SUBTYPE OF (product_definition_relationship); 3592END_ENTITY; 3593 3594 3595ENTITY breakdown_element_group_assignment 3596 SUBTYPE OF (group_assignment); 3597 items : SET [1:1] OF product_definition_or_breakdown_element_usage; 3598 SELF\group_assignment.assigned_group : product_definition_element_relationship; 3599END_ENTITY; 3600 3601 3602ENTITY breakdown_element_realization 3603 SUBTYPE OF (characterized_object, product_definition_element_relationship); 3604END_ENTITY; 3605 3606 3607ENTITY breakdown_element_usage 3608 SUBTYPE OF (product_definition_relationship); 3609END_ENTITY; 3610 3611 3612ENTITY breakdown_of 3613 SUBTYPE OF (product_definition_relationship); 3614END_ENTITY; 3615 3616 3617ENTITY breakout_footprint_definition 3618 SUBTYPE OF (generic_footprint_definition); 3619END_ENTITY; 3620 3621 3622ENTITY breakout_occurrence 3623 SUBTYPE OF (footprint_occurrence); 3624END_ENTITY; 3625 3626 3627ENTITY brep_with_voids 3628 SUBTYPE OF (manifold_solid_brep); 3629 voids : SET [1:?] OF oriented_closed_shell; 3630END_ENTITY; 3631 3632 3633ENTITY buried_via 3634 SUBTYPE OF (via); 3635END_ENTITY; 3636 3637 3638ENTITY bus_element_link 3639 SUBTYPE OF (product_definition, product_definition_relationship); 3640UNIQUE 3641 UR1 : SELF\product_definition_relationship.related_product_definition, SELF\product_definition_relationship.relating_product_definition; 3642WHERE 3643 WR1 : SELF\product_definition_relationship.related_product_definition :<>: 3644 SELF\product_definition_relationship.relating_product_definition; 3645END_ENTITY; 3646 3647 3648ENTITY bus_structural_definition 3649 SUBTYPE OF (product_definition); 3650END_ENTITY; 3651 3652 3653ENTITY bytes_representation_item 3654 SUBTYPE OF (binary_representation_item); 3655DERIVE 3656 no_of_bytes : INTEGER := BLENGTH(SELF\binary_representation_item.binary_value) DIV 8; 3657WHERE 3658 WR1 : BLENGTH(SELF\binary_representation_item.binary_value) MOD 8 = 0; 3659END_ENTITY; 3660 3661 3662ENTITY cable_component 3663 SUBTYPE OF (physical_component); 3664END_ENTITY; 3665 3666 3667ENTITY cable_terminal 3668 SUBTYPE OF (shape_aspect); 3669 SELF\shape_aspect.of_shape : cable_usage_view; 3670END_ENTITY; 3671 3672 3673ENTITY cable_usage_view 3674 SUBTYPE OF (physical_unit); 3675END_ENTITY; 3676 3677 3678ENTITY calendar_date 3679 SUBTYPE OF (date); 3680 day_component : day_in_month_number; 3681 month_component : month_in_year_number; 3682WHERE 3683 WR1 : valid_calendar_date (SELF); 3684END_ENTITY; 3685 3686 3687ENTITY camera_image 3688 SUBTYPE OF (mapped_item); 3689 SELF\mapped_item.mapping_source : camera_usage; 3690 SELF\mapped_item.mapping_target : planar_box; 3691WHERE 3692 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' 3693 IN TYPEOF (SELF); 3694END_ENTITY; 3695 3696 3697ENTITY camera_image_3d_with_scale 3698 SUBTYPE OF (camera_image); 3699DERIVE 3700 scale : positive_ratio_measure := ((SELF\mapped_item.mapping_target\ 3701 planar_extent.size_in_x) / (SELF\mapped_item.mapping_source. 3702 mapping_origin\camera_model_d3.perspective_of_volume.view_window. 3703 size_in_x)); 3704WHERE 3705 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAMERA_MODEL_D3' 3706 IN TYPEOF (SELF\mapped_item.mapping_source.mapping_origin)); 3707 WR2 : aspect_ratio(SELF\mapped_item.mapping_target) = 3708 aspect_ratio(SELF\mapped_item.mapping_source.mapping_origin\ 3709 camera_model_d3.perspective_of_volume.view_window); 3710 WR3 : SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. 3711 perspective_of_volume.front_plane_clipping 3712 AND 3713 SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. 3714 perspective_of_volume.view_volume_sides_clipping; 3715 WR4 : (SELF\mapped_item.mapping_target\planar_extent.size_in_x > 0) 3716 AND 3717 (SELF\mapped_item.mapping_target\planar_extent.size_in_y > 0); 3718 WR5 : (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. 3719 perspective_of_volume.view_window.size_in_x > 0) 3720 AND 3721 (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. 3722 perspective_of_volume.view_window.size_in_y > 0); 3723 WR6 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 3724 'AXIS2_PLACEMENT_2D' IN TYPEOF (SELF\mapped_item. 3725 mapping_target\planar_box.placement)) 3726 AND NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 3727 'AXIS2_PLACEMENT_3D' IN TYPEOF (SELF\mapped_item. 3728 mapping_target\planar_box.placement)); 3729END_ENTITY; 3730 3731 3732ENTITY camera_model 3733 ABSTRACT SUPERTYPE 3734 SUBTYPE OF (geometric_representation_item); 3735WHERE 3736 WR1 : (SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 3737 'ITEM_DEFINED_TRANSFORMATION.' + 3738 'TRANSFORM_ITEM_1')) + 3739 SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 3740 'REPRESENTATION_MAP.MAPPING_ORIGIN')) 3741 ) > 0; 3742 WR2 : SIZEOF(USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 3743 'STYLED_ITEM.ITEM')) = 0; 3744END_ENTITY; 3745 3746 3747ENTITY camera_model_d3 3748 SUBTYPE OF (camera_model); 3749 view_reference_system : axis2_placement_3d; 3750 perspective_of_volume : view_volume; 3751WHERE 3752 WR1 : (dot_product (SELF.view_reference_system.p[3], 3753 SELF.perspective_of_volume.view_window.placement.p[3]) = 1.0) 3754 AND 3755 (SELF.view_reference_system.location.coordinates[3] = 3756 SELF.perspective_of_volume.view_window. 3757 placement.location.coordinates[3]); 3758 WR2 : SELF\geometric_representation_item.dim = 3; 3759END_ENTITY; 3760 3761 3762ENTITY camera_model_d3_multi_clipping 3763 SUBTYPE OF (camera_model_d3); 3764 shape_clipping : SET [1:?] OF camera_model_d3_multi_clipping_interection_select; 3765END_ENTITY; 3766 3767 3768ENTITY camera_model_d3_multi_clipping_intersection 3769 SUBTYPE OF (geometric_representation_item); 3770 shape_clipping : SET [2:?] OF camera_model_d3_multi_clipping_interection_select; 3771END_ENTITY; 3772 3773 3774ENTITY camera_model_d3_multi_clipping_union 3775 SUBTYPE OF (geometric_representation_item); 3776 shape_clipping : SET [2:?] OF camera_model_d3_multi_clipping_union_select; 3777END_ENTITY; 3778 3779 3780ENTITY camera_model_d3_with_hlhsr 3781 SUBTYPE OF (camera_model_d3); 3782 hidden_line_surface_removal : BOOLEAN; 3783END_ENTITY; 3784 3785 3786ENTITY camera_model_with_light_sources 3787 SUBTYPE OF (camera_model_d3); 3788 sources : SET [1:?] OF light_source; 3789END_ENTITY; 3790 3791 3792ENTITY camera_usage 3793 SUBTYPE OF (representation_map); 3794 SELF\representation_map.mapping_origin : camera_model; 3795WHERE 3796 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' 3797 IN TYPEOF(SELF\representation_map.mapped_representation)); 3798END_ENTITY; 3799 3800 3801ENTITY capacitance_measure_with_unit 3802 SUBTYPE OF (measure_with_unit); 3803WHERE 3804 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAPACITANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 3805END_ENTITY; 3806 3807 3808ENTITY capacitance_unit 3809 SUBTYPE OF (derived_unit); 3810WHERE 3811 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.farad); 3812END_ENTITY; 3813 3814 3815ENTITY cartesian_point 3816 SUBTYPE OF (point); 3817 coordinates : LIST [1:3] OF length_measure; 3818END_ENTITY; 3819 3820 3821ENTITY cartesian_transformation_operator 3822 SUPERTYPE OF (ONEOF (cartesian_transformation_operator_2d, cartesian_transformation_operator_3d)) 3823 SUBTYPE OF (geometric_representation_item, functionally_defined_transformation); 3824 axis1 : OPTIONAL direction; 3825 axis2 : OPTIONAL direction; 3826 local_origin : cartesian_point; 3827 scale : OPTIONAL REAL; 3828DERIVE 3829 scl : REAL := NVL(scale, 1.0); 3830WHERE 3831 WR1 : scl > 0.0; 3832END_ENTITY; 3833 3834 3835ENTITY cartesian_transformation_operator_2d 3836 SUBTYPE OF (cartesian_transformation_operator); 3837DERIVE 3838 u : LIST [2:2] OF direction := base_axis(2,SELF\cartesian_transformation_operator.axis1, 3839 SELF\cartesian_transformation_operator.axis2,?); 3840WHERE 3841 WR1 : SELF\geometric_representation_item.dim = 2; 3842END_ENTITY; 3843 3844 3845ENTITY cartesian_transformation_operator_3d 3846 SUBTYPE OF (cartesian_transformation_operator); 3847 axis3 : OPTIONAL direction; 3848DERIVE 3849 u : LIST [3:3] OF direction := base_axis(3,SELF\cartesian_transformation_operator.axis1, 3850 SELF\cartesian_transformation_operator.axis2,axis3); 3851WHERE 3852 WR1 : SELF\geometric_representation_item.dim = 3; 3853END_ENTITY; 3854 3855 3856ENTITY category_model_parameter 3857 SUBTYPE OF (model_parameter); 3858END_ENTITY; 3859 3860 3861ENTITY cc_design_approval 3862 SUBTYPE OF (approval_assignment); 3863 items : SET [1:?] OF approved_item; 3864END_ENTITY; 3865 3866 3867ENTITY cc_design_certification 3868 SUBTYPE OF (certification_assignment); 3869 items : SET [1:?] OF certified_item; 3870END_ENTITY; 3871 3872 3873ENTITY cc_design_contract 3874 SUBTYPE OF (contract_assignment); 3875 items : SET [1:?] OF contracted_item; 3876END_ENTITY; 3877 3878 3879ENTITY cc_design_date_and_time_assignment 3880 SUBTYPE OF (date_and_time_assignment); 3881 items : SET [1:?] OF date_time_item; 3882END_ENTITY; 3883 3884 3885ENTITY cc_design_person_and_organization_assignment 3886 SUBTYPE OF (person_and_organization_assignment); 3887 items : SET [1:?] OF cc_person_organization_item; 3888WHERE 3889 WR1 : cc_design_person_and_organization_correlation(SELF); 3890END_ENTITY; 3891 3892 3893ENTITY cc_design_security_classification 3894 SUBTYPE OF (security_classification_assignment); 3895 items : SET [1:?] OF cc_classified_item; 3896END_ENTITY; 3897 3898 3899ENTITY cc_design_specification_reference 3900 SUBTYPE OF (document_reference); 3901 items : SET [1:?] OF cc_specified_item; 3902END_ENTITY; 3903 3904 3905ENTITY celsius_temperature_measure_with_unit 3906 SUBTYPE OF (measure_with_unit); 3907WHERE 3908 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 3909END_ENTITY; 3910 3911 3912ENTITY centre_of_symmetry 3913 SUBTYPE OF (derived_shape_aspect); 3914WHERE 3915 WR1 : SIZEOF 3916 (QUERY(sadr<*SELF\derived_shape_aspect.deriving_relationships| 3917 NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMMETRIC_SHAPE_ASPECT' 3918 IN TYPEOF 3919 (sadr\shape_aspect_relationship.related_shape_aspect))))=0; 3920END_ENTITY; 3921 3922 3923ENTITY certification; 3924 name : label; 3925 purpose : text; 3926 kind : certification_type; 3927END_ENTITY; 3928 3929 3930ENTITY certification_assignment 3931 ABSTRACT SUPERTYPE; 3932 assigned_certification : certification; 3933DERIVE 3934 role : object_role := get_role(SELF); 3935WHERE 3936 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; 3937END_ENTITY; 3938 3939 3940ENTITY certification_type; 3941 description : label; 3942END_ENTITY; 3943 3944 3945ENTITY change 3946 SUBTYPE OF (action_assignment); 3947 items : SET [1:?] OF work_item; 3948END_ENTITY; 3949 3950 3951ENTITY change_request 3952 SUBTYPE OF (action_request_assignment); 3953 items : SET [1:?] OF change_request_item; 3954END_ENTITY; 3955 3956 3957ENTITY character_glyph_font_usage; 3958 character : generic_character_glyph_symbol; 3959 font : text_font; 3960END_ENTITY; 3961 3962 3963ENTITY character_glyph_style_outline 3964 SUBTYPE OF (founded_item); 3965 outline_style : curve_style; 3966END_ENTITY; 3967 3968 3969ENTITY character_glyph_style_stroke 3970 SUBTYPE OF (founded_item); 3971 stroke_style : curve_style; 3972END_ENTITY; 3973 3974 3975ENTITY character_glyph_symbol 3976 SUBTYPE OF (generic_character_glyph_symbol); 3977 character_box : planar_extent; 3978 baseline_ratio : ratio_measure; 3979DERIVE 3980 box_height : length_measure := character_box.size_in_y; 3981WHERE 3982 WR1 : {0.0 <= baseline_ratio <= 1.0}; 3983 WR2 : item_in_context(SELF.character_box, 3984 SELF\representation.context_of_items); 3985 WR3 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' 3986 IN TYPEOF (SELF.box_height); 3987END_ENTITY; 3988 3989 3990ENTITY character_glyph_symbol_outline 3991 SUBTYPE OF (character_glyph_symbol); 3992 outlines : SET [1:?] OF annotation_fill_area; 3993WHERE 3994 WR1 : SELF.outlines <= SELF\representation.items; 3995END_ENTITY; 3996 3997 3998ENTITY character_glyph_symbol_stroke 3999 SUBTYPE OF (character_glyph_symbol); 4000 strokes : SET [1:?] OF curve; 4001WHERE 4002 WR1 : SELF.strokes <= SELF\representation.items; 4003END_ENTITY; 4004 4005 4006ENTITY characteristic_data_column_header 4007 SUBTYPE OF (general_property); 4008END_ENTITY; 4009 4010 4011ENTITY characteristic_data_column_header_link 4012 SUBTYPE OF (general_property_relationship); 4013END_ENTITY; 4014 4015 4016ENTITY characteristic_data_table_header 4017 SUBTYPE OF (general_property); 4018END_ENTITY; 4019 4020 4021ENTITY characteristic_data_table_header_decomposition 4022 SUBTYPE OF (general_property_relationship); 4023END_ENTITY; 4024 4025 4026ENTITY characteristic_type 4027 SUBTYPE OF (group); 4028END_ENTITY; 4029 4030 4031ENTITY characterized_class 4032 SUBTYPE OF (characterized_object, class); 4033END_ENTITY; 4034 4035 4036ENTITY characterized_object; 4037 name : label; 4038 description : OPTIONAL text; 4039END_ENTITY; 4040 4041 4042ENTITY circle 4043 SUBTYPE OF (conic); 4044 radius : positive_length_measure; 4045END_ENTITY; 4046 4047 4048ENTITY circular_area 4049 SUBTYPE OF (primitive_2d); 4050 centre : cartesian_point; 4051 radius : positive_length_measure; 4052END_ENTITY; 4053 4054 4055ENTITY circular_runout_tolerance 4056 SUBTYPE OF (geometric_tolerance_with_datum_reference); 4057WHERE 4058 WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 2; 4059END_ENTITY; 4060 4061 4062ENTITY class 4063 SUBTYPE OF (group); 4064END_ENTITY; 4065 4066 4067ENTITY class_by_extension 4068 SUBTYPE OF (class); 4069END_ENTITY; 4070 4071 4072ENTITY class_by_intension 4073 SUBTYPE OF (class); 4074END_ENTITY; 4075 4076 4077ENTITY class_system 4078 SUBTYPE OF (group); 4079END_ENTITY; 4080 4081 4082ENTITY class_usage_effectivity_context_assignment 4083 SUBTYPE OF (effectivity_context_assignment); 4084 items : SET [1:?] OF class_usage_effectivity_context_item; 4085WHERE 4086 WR1 : SELF.role.name = 'class usage influence'; 4087 WR2 : SIZEOF( QUERY( i <* SELF.items | NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) )) = 0; 4088 WR3 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF(SELF.assigned_effectivity_assignment)) AND 4089 (SIZEOF(TYPEOF(SELF.assigned_effectivity_assignment.assigned_effectivity) ) = 1) AND 4090 (SELF.assigned_effectivity_assignment.assigned_effectivity.id = 'class usage') AND 4091 (SIZEOF( QUERY( i <* SELF.assigned_effectivity_assignment\applied_effectivity_assignment.items | 4092 NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF(i)) )) = 0); 4093END_ENTITY; 4094 4095 4096ENTITY classification_assignment 4097 ABSTRACT SUPERTYPE; 4098 assigned_class : group; 4099 role : classification_role; 4100END_ENTITY; 4101 4102 4103ENTITY classification_role; 4104 name : label; 4105 description : OPTIONAL text; 4106END_ENTITY; 4107 4108 4109ENTITY closed_curve_style_parameters 4110 SUBTYPE OF (curve_style_parameters_representation); 4111END_ENTITY; 4112 4113 4114ENTITY closed_shell 4115 SUBTYPE OF (connected_face_set); 4116END_ENTITY; 4117 4118 4119ENTITY coaxiality_tolerance 4120 SUBTYPE OF (geometric_tolerance_with_datum_reference); 4121WHERE 4122 WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 2; 4123END_ENTITY; 4124 4125 4126ENTITY colour; 4127END_ENTITY; 4128 4129 4130ENTITY colour_rgb 4131 SUBTYPE OF (colour_specification); 4132 red : REAL; 4133 green : REAL; 4134 blue : REAL; 4135WHERE 4136 WR1 : {0.0 <= red <= 1.0}; 4137 WR2 : {0.0 <= green <= 1.0}; 4138 WR3 : {0.0 <= blue <= 1.0}; 4139END_ENTITY; 4140 4141 4142ENTITY colour_specification 4143 SUBTYPE OF (colour); 4144 name : label; 4145END_ENTITY; 4146 4147 4148ENTITY common_datum 4149 SUBTYPE OF (composite_shape_aspect, datum); 4150WHERE 4151 WR1 : SIZEOF (SELF\composite_shape_aspect.component_relationships) = 2; 4152 WR2 : SIZEOF (QUERY ( sar <* SELF\composite_shape_aspect.component_relationships| 4153 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM' IN TYPEOF (sar.related_shape_aspect)) AND 4154 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMMON_DATUM' IN TYPEOF (sar.related_shape_aspect))) )) = 0; 4155END_ENTITY; 4156 4157 4158ENTITY comparison_expression 4159 ABSTRACT SUPERTYPE 4160 SUBTYPE OF (boolean_expression, binary_generic_expression); 4161 SELF\binary_generic_expression.operands : LIST [2:2] OF expression; 4162WHERE 4163 WR1 : (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' 4164IN TYPEOF(SELF\binary_generic_expression.operands[1])) 4165 AND 4166 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' 4167IN TYPEOF(SELF\binary_generic_expression.operands[2]))) 4168OR 4169 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' 4170IN TYPEOF(SELF\binary_generic_expression.operands[1])) 4171 AND 4172 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' 4173 IN TYPEOF(SELF\binary_generic_expression.operands[2]))) 4174OR 4175(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' 4176IN TYPEOF(SELF\binary_generic_expression.operands[1])) 4177 AND 4178 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' 4179IN TYPEOF(SELF\binary_generic_expression.operands[2]))); 4180END_ENTITY; 4181 4182 4183ENTITY complex_area 4184 ABSTRACT SUPERTYPE OF (area_with_outer_boundary) 4185 SUBTYPE OF (primitive_2d); 4186END_ENTITY; 4187 4188 4189ENTITY complex_clause 4190 SUBTYPE OF (compound_representation_item); 4191END_ENTITY; 4192 4193 4194ENTITY complex_conjunctive_clause 4195 SUBTYPE OF (complex_clause); 4196END_ENTITY; 4197 4198 4199ENTITY complex_disjunctive_clause 4200 SUBTYPE OF (complex_clause); 4201END_ENTITY; 4202 4203 4204ENTITY complex_passage_padstack_definition 4205 SUBTYPE OF (stratum_stack_dependent_template, passage_padstack_definition); 4206END_ENTITY; 4207 4208 4209ENTITY complex_shelled_solid 4210 SUBTYPE OF (shelled_solid); 4211 thickened_face_list : LIST [1:?] OF SET [1:?] OF face_surface; 4212 thickness_list : LIST [1:?] OF length_measure; 4213WHERE 4214 WR1 : SIZEOF(thickened_face_list) = SIZEOF(thickness_list); 4215 WR2 : SIZEOF(QUERY(q <* thickness_list | (q = 0))) = 0; 4216END_ENTITY; 4217 4218 4219ENTITY component_2d_location 4220 SUBTYPE OF (context_dependent_shape_representation, shape_representation_relationship, representation_relationship_with_transformation, definitional_representation_relationship); 4221DERIVE 4222 SELF\context_dependent_shape_representation.representation_relation : component_2d_location := SELF; 4223WHERE 4224 WR1 : SELF\representation_relationship.name = 'component 2d location'; 4225END_ENTITY; 4226 4227 4228ENTITY component_3d_location 4229 SUBTYPE OF (context_dependent_shape_representation, shape_representation_relationship, representation_relationship_with_transformation, definitional_representation_relationship); 4230DERIVE 4231 SELF\context_dependent_shape_representation.representation_relation : component_3d_location := SELF; 4232WHERE 4233 WR1 : SELF\representation_relationship.name = 'component 3d location'; 4234END_ENTITY; 4235 4236 4237ENTITY component_definition 4238 SUBTYPE OF (product_definition, product_definition_relationship); 4239DERIVE 4240 SELF\product_definition_relationship.related_product_definition : component_definition := SELF; 4241WHERE 4242 WR1 : NOT EXISTS(SELF\product_definition_relationship.description); 4243 WR2 : NOT EXISTS(SELF\property_definition.description); 4244 WR3 : SELF\product_definition_relationship.id = SELF\product_definition.id; 4245 WR4 : SELF\product_definition_relationship.name = 'definition usage'; 4246 WR5 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_USAGE' IN TYPEOF(SELF)); 4247END_ENTITY; 4248 4249 4250ENTITY component_feature 4251 SUPERTYPE OF (ONEOF (physical_component_feature, laminate_component_feature)) 4252 SUBTYPE OF (shape_aspect); 4253 SELF\shape_aspect.of_shape : assembly_component; 4254END_ENTITY; 4255 4256 4257ENTITY component_feature_joint 4258 SUBTYPE OF (shape_aspect_relationship, shape_aspect); 4259 SELF\shape_aspect_relationship.related_shape_aspect : component_feature; 4260 SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; 4261END_ENTITY; 4262 4263 4264ENTITY component_feature_relationship 4265 SUBTYPE OF (shape_aspect_relationship); 4266 SELF\shape_aspect_relationship.related_shape_aspect : component_feature; 4267 SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; 4268WHERE 4269 WR1 : SELF\shape_aspect_relationship.related_shape_aspect :<>: 4270 SELF\shape_aspect_relationship.relating_shape_aspect; 4271END_ENTITY; 4272 4273 4274ENTITY component_functional_terminal 4275 SUBTYPE OF (shape_aspect); 4276END_ENTITY; 4277 4278 4279ENTITY component_functional_unit 4280 SUBTYPE OF (product_definition); 4281END_ENTITY; 4282 4283 4284ENTITY component_material_relationship 4285 SUBTYPE OF (group, property_definition); 4286 SELF\property_definition.definition : physical_unit; 4287END_ENTITY; 4288 4289 4290ENTITY component_material_relationship_assignment 4291 SUBTYPE OF (group_assignment, role_association); 4292 items : SET [1:1] OF component_material_relationship_assignment_item; 4293 SELF\group_assignment.assigned_group : component_material_relationship; 4294DERIVE 4295 SELF\role_association.item_with_role : component_material_relationship_assignment := SELF; 4296END_ENTITY; 4297 4298 4299ENTITY component_mating_constraint_condition 4300 SUBTYPE OF (shape_aspect); 4301UNIQUE 4302 UR1 : SELF\shape_aspect.name, SELF\shape_aspect.of_shape; 4303END_ENTITY; 4304 4305 4306ENTITY component_mounting_feature 4307 SUBTYPE OF (physical_component_feature); 4308END_ENTITY; 4309 4310 4311ENTITY component_part_2d_non_planar_geometric_representation_relationship 4312 SUBTYPE OF (shape_representation_relationship, representation_relationship_with_transformation); 4313END_ENTITY; 4314 4315 4316ENTITY component_terminal 4317 SUPERTYPE OF (ONEOF (physical_component_terminal, laminate_component_join_terminal)) 4318 SUBTYPE OF (component_feature); 4319END_ENTITY; 4320 4321 4322ENTITY component_termination_passage 4323 SUBTYPE OF (plated_passage); 4324END_ENTITY; 4325 4326 4327ENTITY component_termination_passage_template 4328 SUBTYPE OF (continuous_template, inter_stratum_feature_template); 4329END_ENTITY; 4330 4331 4332ENTITY composite_array_shape_aspect 4333 SUPERTYPE OF (ONEOF (linear_composite_array_shape_aspect, rectangular_composite_array_shape_aspect)) 4334 SUBTYPE OF (composite_shape_aspect); 4335END_ENTITY; 4336 4337 4338ENTITY composite_array_shape_aspect_link 4339 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 4340WHERE 4341 WR1 : SELF\shape_aspect_relationship.related_shape_aspect :<>: 4342 SELF\shape_aspect_relationship.relating_shape_aspect; 4343END_ENTITY; 4344 4345 4346ENTITY composite_assembly_definition 4347 SUBTYPE OF (product_definition); 4348WHERE 4349 WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF, 4350 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 4351 'PRODUCT_DEFINITION_RELATIONSHIP.' + 4352 'RELATING_PRODUCT_DEFINITION') | 4353 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 4354 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN 4355 TYPEOF (pdr))) = 1; 4356END_ENTITY; 4357 4358 4359ENTITY composite_assembly_sequence_definition 4360 SUBTYPE OF (product_definition); 4361WHERE 4362 WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF, 4363 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 4364 'PRODUCT_DEFINITION_RELATIONSHIP.' + 4365 'RELATING_PRODUCT_DEFINITION') | 4366 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 4367 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN 4368 TYPEOF (pdr))) > 0; 4369END_ENTITY; 4370 4371 4372ENTITY composite_assembly_table 4373 SUBTYPE OF (part_laminate_table); 4374END_ENTITY; 4375 4376 4377ENTITY composite_curve 4378 SUBTYPE OF (bounded_curve); 4379 segments : LIST [1:?] OF composite_curve_segment; 4380 self_intersect : LOGICAL; 4381DERIVE 4382 closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous; 4383 n_segments : INTEGER := SIZEOF(segments); 4384WHERE 4385 WR1 : ((NOT closed_curve) AND (SIZEOF(QUERY(temp <* segments | 4386 temp.transition = discontinuous)) = 1)) OR 4387 ((closed_curve) AND (SIZEOF(QUERY(temp <* segments | 4388 temp.transition = discontinuous)) = 0)); 4389END_ENTITY; 4390 4391 4392ENTITY composite_curve_on_surface 4393 SUPERTYPE OF (boundary_curve) 4394 SUBTYPE OF (composite_curve); 4395DERIVE 4396 basis_surface : SET [0:2] OF surface := get_basis_surface(SELF); 4397WHERE 4398 WR1 : SIZEOF(basis_surface) > 0; 4399 WR2 : constraints_composite_curve_on_surface(SELF); 4400END_ENTITY; 4401 4402 4403ENTITY composite_curve_segment 4404 SUBTYPE OF (founded_item); 4405 transition : transition_code; 4406 same_sense : BOOLEAN; 4407 parent_curve : curve; 4408INVERSE 4409 using_curves: BAG [1:?] OF composite_curve FOR segments; 4410WHERE 4411 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF(parent_curve)); 4412END_ENTITY; 4413 4414 4415ENTITY composite_group_shape_aspect 4416 SUBTYPE OF (composite_shape_aspect); 4417END_ENTITY; 4418 4419 4420ENTITY composite_material_designation 4421 SUBTYPE OF (material_designation); 4422END_ENTITY; 4423 4424 4425ENTITY composite_shape_aspect 4426 SUBTYPE OF (shape_aspect); 4427INVERSE 4428 component_relationships: SET [2:?] OF shape_aspect_relationship FOR relating_shape_aspect; 4429END_ENTITY; 4430 4431 4432ENTITY composite_sheet_representation 4433 SUBTYPE OF (shape_representation); 4434WHERE 4435 WR1 : SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 4436 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION', 4437 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 4438 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION'] * TYPEOF (SELF)) = 1; 4439END_ENTITY; 4440 4441 4442ENTITY composite_signal_property_relationship 4443 SUBTYPE OF (property_definition, property_definition_relationship); 4444WHERE 4445 WR1 : SELF\property_definition_relationship.related_property_definition.definition :<>: 4446 SELF\property_definition_relationship.relating_property_definition.definition; 4447END_ENTITY; 4448 4449 4450ENTITY composite_text 4451 SUBTYPE OF (geometric_representation_item); 4452 collected_text : SET [2:?] OF text_or_character; 4453WHERE 4454 WR1 : acyclic_composite_text( SELF, SELF.collected_text); 4455END_ENTITY; 4456 4457 4458ENTITY composite_text_with_associated_curves 4459 SUBTYPE OF (composite_text); 4460 associated_curves : SET [1:?] OF curve; 4461END_ENTITY; 4462 4463 4464ENTITY composite_text_with_blanking_box 4465 SUBTYPE OF (composite_text); 4466 blanking : planar_box; 4467END_ENTITY; 4468 4469 4470ENTITY composite_text_with_delineation 4471 SUBTYPE OF (composite_text); 4472 delineation : text_delineation; 4473END_ENTITY; 4474 4475 4476ENTITY composite_text_with_extent 4477 SUBTYPE OF (composite_text); 4478 extent : planar_extent; 4479END_ENTITY; 4480 4481 4482ENTITY composite_unit_shape_aspect 4483 SUBTYPE OF (composite_shape_aspect); 4484END_ENTITY; 4485 4486 4487ENTITY compound_representation_item 4488 SUPERTYPE OF (ONEOF (point_and_vector, point_path, row_representation_item, table_representation_item)) 4489 SUBTYPE OF (representation_item); 4490 item_element : compound_item_definition; 4491END_ENTITY; 4492 4493 4494ENTITY compound_shape_representation 4495 SUBTYPE OF (shape_representation); 4496WHERE 4497 WR1 : ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'GEOMETRIC_REPRESENTATION_CONTEXT' 4498 IN TYPEOF ( SELF.context_of_items ) ) AND ( 4499 SELF.context_of_items\ 4500 geometric_representation_context.coordinate_space_dimension =3 ); 4501 WR2 : SIZEOF ( QUERY ( cbsr_i <* SELF.items | SIZEOF ( 4502 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' , 4503 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' , 4504 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MAPPED_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 4505 'AXIS2_PLACEMENT_3D']* TYPEOF ( cbsr_i ) ) <>1 ) ) =0; 4506 WR3 : SIZEOF ( QUERY ( cbsr_i <* SELF.items | SIZEOF ( 4507 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' , 4508 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' , 4509 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MAPPED_ITEM']* TYPEOF ( cbsr_i ) ) =1 ) ) >0; 4510 WR4 : SIZEOF ( QUERY ( cbsr_i <* SELF.items | ( 4511 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MAPPED_ITEM' IN TYPEOF ( cbsr_i ) ) 4512 AND ( SIZEOF ( ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 4513 'COMPOUND_SHAPE_REPRESENTATION' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 4514 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' , 4515 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 4516 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION']* TYPEOF ( 4517 cbsr_i\ mapped_item.mapping_source ) ) <>1 ) ) ) =0; 4518END_ENTITY; 4519 4520 4521ENTITY concentricity_tolerance 4522 SUBTYPE OF (geometric_tolerance_with_datum_reference); 4523WHERE 4524 WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) = 1; 4525END_ENTITY; 4526 4527 4528ENTITY concept_feature_operator; 4529 name : label; 4530 description : OPTIONAL text; 4531END_ENTITY; 4532 4533 4534ENTITY concept_feature_relationship; 4535 name : label; 4536 description : OPTIONAL text; 4537 relating_product_concept_feature : product_concept_feature; 4538 related_product_concept_feature : product_concept_feature; 4539END_ENTITY; 4540 4541 4542ENTITY concept_feature_relationship_with_condition 4543 SUBTYPE OF (concept_feature_relationship); 4544 conditional_operator : concept_feature_operator; 4545END_ENTITY; 4546 4547 4548ENTITY conditional_concept_feature 4549 SUBTYPE OF (product_concept_feature); 4550 condition : concept_feature_relationship_with_condition; 4551END_ENTITY; 4552 4553 4554ENTITY conductance_measure_with_unit 4555 SUBTYPE OF (measure_with_unit); 4556WHERE 4557 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONDUCTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 4558END_ENTITY; 4559 4560 4561ENTITY conductance_unit 4562 SUBTYPE OF (derived_unit); 4563WHERE 4564 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.siemens); 4565END_ENTITY; 4566 4567 4568ENTITY conductive_interconnect_element 4569 ABSTRACT SUPERTYPE OF (ONEOF (unrouted_conductive_interconnect_element, conductive_interconnect_element_with_pre_defined_transitions)) 4570 SUBTYPE OF (stratum_feature_template_component); 4571END_ENTITY; 4572 4573 4574ENTITY conductive_interconnect_element_terminal_link 4575 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 4576 SELF\shape_aspect_relationship.related_shape_aspect : laminate_component_feature; 4577 SELF\shape_aspect_relationship.relating_shape_aspect : laminate_component_feature; 4578WHERE 4579 WR1 : SELF\shape_aspect_relationship.related_shape_aspect :<>: 4580 SELF\shape_aspect_relationship.relating_shape_aspect; 4581END_ENTITY; 4582 4583 4584ENTITY conductive_interconnect_element_with_pre_defined_transitions 4585 SUBTYPE OF (conductive_interconnect_element, item_identified_representation_usage); 4586DERIVE 4587 SELF\item_identified_representation_usage.definition : property_definition := SELF; 4588END_ENTITY; 4589 4590 4591ENTITY configurable_item 4592 SUBTYPE OF (configuration_item); 4593 item_concept_feature : SET [1:?] OF product_concept_feature_association; 4594END_ENTITY; 4595 4596 4597ENTITY configuration_design; 4598 configuration : configuration_item; 4599 design : configuration_design_item; 4600DERIVE 4601 description : text := get_description_value (SELF); 4602 name : label := get_name_value (SELF); 4603UNIQUE 4604 UR1 : configuration, design; 4605WHERE 4606 WR1 : SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 4607 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; 4608 WR2 : SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 4609 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 4610END_ENTITY; 4611 4612 4613ENTITY configuration_effectivity 4614 SUBTYPE OF (product_definition_effectivity); 4615 configuration : configuration_design; 4616UNIQUE 4617 UR1 : configuration, SELF\product_definition_effectivity.usage, SELF\effectivity.id; 4618WHERE 4619 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_USAGE' IN 4620 TYPEOF (SELF\product_definition_effectivity.usage); 4621END_ENTITY; 4622 4623 4624ENTITY configuration_item; 4625 id : identifier; 4626 name : label; 4627 description : OPTIONAL text; 4628 item_concept : product_concept; 4629 purpose : OPTIONAL label; 4630END_ENTITY; 4631 4632 4633ENTITY configuration_item_hierarchical_relationship 4634 SUBTYPE OF (configuration_item_relationship); 4635END_ENTITY; 4636 4637 4638ENTITY configuration_item_relationship; 4639 name : label; 4640 description : OPTIONAL text; 4641 relating_configuration_item : configuration_item; 4642 related_configuration_item : configuration_item; 4643END_ENTITY; 4644 4645 4646ENTITY configuration_item_revision_sequence 4647 SUBTYPE OF (configuration_item_relationship); 4648END_ENTITY; 4649 4650 4651ENTITY configured_effectivity_assignment 4652 SUBTYPE OF (effectivity_assignment); 4653 items : SET [1:?] OF configured_effectivity_item; 4654WHERE 4655 WR1 : (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EFFECTIVITY'] * TYPEOF(SELF.assigned_effectivity) ) = 1) 4656 AND (SELF.assigned_effectivity.id = 'configuration validity'); 4657 WR2 : SIZEOF(SELF.items) = 1; 4658 WR3 : SIZEOF( QUERY( i <* SELF.items | NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) 4659 OR NOT (i\product_definition.frame_of_reference.name IN ['conceptual definition','part occurrence', 'functional definition','alternative definition']) )) = 0; 4660 WR4 : SELF.role.name IN ['design', 'usage']; 4661 WR5 : (SELF.role.name <> 'design') 4662 OR (SIZEOF( QUERY( i <* SELF.items | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) AND (i\product_definition.frame_of_reference.name = 'part occurrence') )) = 0); 4663 WR6 : (SELF.role.name <> 'usage') OR (SIZEOF( QUERY( i <* SELF.items | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) AND (i\product_definition.frame_of_reference.name = 'conceptual definition') )) = 0); 4664 WR7 : SELF.role.description IN ['exception', 'inherited', 'local']; 4665 WR8 : SIZEOF( QUERY( x <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT') | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN TYPEOF(x) )) = 1; 4666END_ENTITY; 4667 4668 4669ENTITY configured_effectivity_context_assignment 4670 SUBTYPE OF (effectivity_context_assignment); 4671 items : SET [1:?] OF configured_effectivity_context_item; 4672 SELF\effectivity_context_assignment.assigned_effectivity_assignment : configured_effectivity_assignment; 4673WHERE 4674 WR1 : SIZEOF(SELF.items) = 1; 4675END_ENTITY; 4676 4677 4678ENTITY conic 4679 SUPERTYPE OF (ONEOF (circle, ellipse, hyperbola, parabola)) 4680 SUBTYPE OF (curve); 4681 position : axis2_placement; 4682END_ENTITY; 4683 4684 4685ENTITY conical_stepped_hole_transition 4686 SUBTYPE OF (geometric_representation_item); 4687 transition_number : positive_integer; 4688 cone_apex_angle : plane_angle_measure; 4689 cone_base_radius : positive_length_measure; 4690END_ENTITY; 4691 4692 4693ENTITY conical_surface 4694 SUBTYPE OF (elementary_surface); 4695 radius : length_measure; 4696 semi_angle : plane_angle_measure; 4697WHERE 4698 WR1 : radius >= 0.0; 4699END_ENTITY; 4700 4701 4702ENTITY connected_area_component 4703 SUBTYPE OF (area_component); 4704END_ENTITY; 4705 4706 4707ENTITY connected_edge_set 4708 SUBTYPE OF (topological_representation_item); 4709 ces_edges : SET [1:?] OF edge; 4710END_ENTITY; 4711 4712 4713ENTITY connected_face_set 4714 SUPERTYPE OF (ONEOF (closed_shell, open_shell)) 4715 SUBTYPE OF (topological_representation_item); 4716 cfs_faces : SET [1:?] OF face; 4717END_ENTITY; 4718 4719 4720ENTITY connected_face_sub_set 4721 SUBTYPE OF (connected_face_set); 4722 parent_face_set : connected_face_set; 4723END_ENTITY; 4724 4725 4726ENTITY connection_zone_based_assembly_joint 4727 SUBTYPE OF (assembly_joint); 4728END_ENTITY; 4729 4730 4731ENTITY connection_zone_based_fabrication_joint 4732 SUBTYPE OF (fabrication_joint); 4733END_ENTITY; 4734 4735 4736ENTITY connection_zone_interface_plane_relationship 4737 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 4738UNIQUE 4739 UR1 : SELF\shape_aspect_relationship.name; 4740END_ENTITY; 4741 4742 4743ENTITY connection_zone_map_identification 4744 SUBTYPE OF (shape_aspect, representation_relationship); 4745 SELF\representation_relationship.rep_1 : usage_view_connection_zone_terminal_shape_relationship; 4746 SELF\representation_relationship.rep_2 : usage_view_connection_zone_terminal_shape_relationship; 4747WHERE 4748 WR1 : SELF\representation_relationship.rep_2 :<>: 4749 SELF\representation_relationship.rep_1; 4750END_ENTITY; 4751 4752 4753ENTITY connector_based_interconnect_definition 4754 SUBTYPE OF (property_definition); 4755 SELF\property_definition.definition : physical_unit_interconnect_definition; 4756UNIQUE 4757 UR1 : SELF\property_definition.name, definition; 4758END_ENTITY; 4759 4760 4761ENTITY constructive_geometry_representation 4762 SUBTYPE OF (representation); 4763WHERE 4764 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.context_of_items)) AND ({2 <= SELF.context_of_items\geometric_representation_context. coordinate_space_dimension <= 3}); 4765 WR2 : SIZEOF( QUERY( cgr_i <* SELF.items | SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT'] * TYPEOF(cgr_i)) <> 1 )) = 0; 4766 WR3 : SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) > 0; 4767 WR4 : SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') ) = 0; 4768END_ENTITY; 4769 4770 4771ENTITY constructive_geometry_representation_relationship 4772 SUBTYPE OF (representation_relationship); 4773 SELF\representation_relationship.rep_1 : constructive_geometry_representation_or_shape_represenation; 4774 SELF\representation_relationship.rep_2 : constructive_geometry_representation; 4775WHERE 4776 WR1 : (SELF.rep_1.context_of_items :=: SELF.rep_2.context_of_items) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.rep_1.context_of_items)); 4777 WR2 : NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF(SELF)); 4778END_ENTITY; 4779 4780 4781ENTITY contact_ratio_representation 4782 SUBTYPE OF (representation); 4783WHERE 4784 WR1 : ( SIZEOF ( SELF.items ) =1 ) AND ( SIZEOF ( QUERY ( i <* 4785 SELF.items | ( SIZEOF ( ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 4786 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 4787 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) AND ( i.name = 4788 'ratio value' ) ) ) =1 ); 4789 WR2 : ( SIZEOF ( QUERY ( pdr <* USEDIN ( SELF , 4790 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 4791 'USED_REPRESENTATION' ) | pdr. name = 4792 'contact ratio reference' ) ) =1 ) AND ( SIZEOF ( QUERY ( 4793 pdr <* USEDIN ( SELF , 4794 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 4795 'USED_REPRESENTATION' ) | ( pdr.name = 4796 'contact ratio reference' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 4797 'PRODUCT_DEFINITION' IN TYPEOF ( pdr\property_definition_representation.definition\property_definition.definition ) ) ) ) =1 ); 4798 WR3 : ( SIZEOF ( USEDIN ( SELF , 4799 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 4800 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr 4801 <* USEDIN ( SELF , 4802 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 4803 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( 4804 pdr.definition , 4805 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ 4806 'DERIVED_DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 4807 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND 4808 ( gpa.base_definition.name ='surface_condition' ) ) ) =1 ) 4809 ) =1 ); 4810END_ENTITY; 4811 4812 4813ENTITY contact_size_dependent_land 4814 SUBTYPE OF (land); 4815END_ENTITY; 4816 4817 4818ENTITY context_dependent_invisibility 4819 SUBTYPE OF (invisibility); 4820 presentation_context : invisibility_context; 4821END_ENTITY; 4822 4823 4824ENTITY context_dependent_over_riding_styled_item 4825 SUBTYPE OF (over_riding_styled_item); 4826 style_context : LIST [1:?] OF style_context_select; 4827WHERE 4828 WR1 : (SIZEOF(QUERY(sc <* SELF.style_context | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(sc)))= 1) OR 4829(SIZEOF(QUERY(sc <* SELF.style_context | 4830 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(sc)) 4831 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF(sc)) )) 4832 = SIZEOF(style_context)); 4833END_ENTITY; 4834 4835 4836ENTITY context_dependent_shape_representation; 4837 representation_relation : shape_representation_relationship; 4838 represented_product_relation : product_definition_shape; 4839DERIVE 4840 description : text := get_description_value(SELF); 4841 name : label := get_name_value(SELF); 4842WHERE 4843 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF.represented_product_relation.definition); 4844 WR2 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 4845 WR3 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; 4846END_ENTITY; 4847 4848 4849ENTITY context_dependent_unit 4850 SUBTYPE OF (named_unit); 4851 name : label; 4852END_ENTITY; 4853 4854 4855ENTITY continuous_template 4856 SUBTYPE OF (geometric_template); 4857END_ENTITY; 4858 4859 4860ENTITY contract; 4861 name : label; 4862 purpose : text; 4863 kind : contract_type; 4864END_ENTITY; 4865 4866 4867ENTITY contract_assignment 4868 ABSTRACT SUPERTYPE; 4869 assigned_contract : contract; 4870DERIVE 4871 role : object_role := get_role(SELF); 4872WHERE 4873 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; 4874END_ENTITY; 4875 4876 4877ENTITY contract_relationship; 4878 id : identifier; 4879 name : label; 4880 description : OPTIONAL text; 4881 relating_contract : contract; 4882 related_contract : contract; 4883END_ENTITY; 4884 4885 4886ENTITY contract_type; 4887 description : label; 4888END_ENTITY; 4889 4890 4891ENTITY conversion_based_unit 4892 SUBTYPE OF (named_unit); 4893 name : label; 4894 conversion_factor : measure_with_unit; 4895WHERE 4896 WR1 : SELF\named_unit.dimensions = derive_dimensional_exponents(conversion_factor\measure_with_unit.unit_component); 4897END_ENTITY; 4898 4899 4900ENTITY coordinated_geometric_relationship_with_2d_3d_placement_transformation 4901 SUBTYPE OF (shape_representation_relationship, representation_relationship_with_transformation); 4902 SELF\representation_relationship_with_transformation.transformation_operator : axis_placement_2d_3d_mapping; 4903WHERE 4904 WR1 : acyclic_representation_relationship(SELF, 4905 [SELF\representation_relationship.rep_2], 4906 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'REPRESENTATION'); 4907 WR2 : NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEFINITIONAL_REPRESENTATION_RELATIONSHIP' IN TYPEOF(SELF)); 4908END_ENTITY; 4909 4910 4911ENTITY coordinated_universal_time_offset; 4912 hour_offset : INTEGER; 4913 minute_offset : OPTIONAL INTEGER; 4914 sense : ahead_or_behind; 4915DERIVE 4916 actual_minute_offset : INTEGER := NVL(minute_offset,0); 4917WHERE 4918 WR1 : { 0 <= hour_offset < 24 }; 4919 WR2 : { 0 <= actual_minute_offset <= 59 }; 4920 WR3 : NOT (((hour_offset <> 0) OR (actual_minute_offset <>0)) AND (sense = exact)); 4921END_ENTITY; 4922 4923 4924ENTITY copy_stratum_technology_occurrence_relationship 4925 SUBTYPE OF (derived_stratum_technology_occurrence_relationship); 4926END_ENTITY; 4927 4928 4929ENTITY counterbore_passage_template 4930 SUBTYPE OF (unsupported_passage_template); 4931END_ENTITY; 4932 4933 4934ENTITY countersunk_passage_template 4935 SUBTYPE OF (unsupported_passage_template); 4936END_ENTITY; 4937 4938 4939ENTITY csg_2d_shape_representation 4940 SUBTYPE OF (shape_representation); 4941 SELF\representation.items : SET [1:?] OF csg_2d_shape_select; 4942WHERE 4943 WR1 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 2; 4944 WR2 : SIZEOF(QUERY ( it <* SELF.items | 4945 (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SOLID'] 4946 * TYPEOF(it)) = 1) 4947 OR 4948 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 4949 IN TYPEOF(it)) AND 4950 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 4951 'CSG_2D_SHAPE_REPRESENTATION' 4952 IN TYPEOF(it\mapped_item.mapping_source.mapped_representation))) 4953 )) >= 1; 4954 WR3 : SIZEOF(QUERY ( it <* SELF.items | 4955 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 4956 IN TYPEOF(it)) AND (NOT (( 4957 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 4958 'CSG_2D_SHAPE_REPRESENTATION') 4959 IN TYPEOF(it\mapped_item.mapping_source.mapped_representation)))) )) = 0; 4960END_ENTITY; 4961 4962 4963ENTITY csg_primitive_solid_2d 4964 SUBTYPE OF (csg_solid_2d); 4965 SELF\csg_solid.tree_root_expression : primitive_2d; 4966END_ENTITY; 4967 4968 4969ENTITY csg_shape_representation 4970 SUBTYPE OF (shape_representation); 4971WHERE 4972 WR1 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; 4973 WR2 : SIZEOF ( 4974QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SOLID', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_REPLICA', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REVOLVED_FACE_SOLID', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (it)) <> 1) )) = 0; 4975 WR3 : SIZEOF ( 4976QUERY ( mi <* 4977QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; 4978 WR4 : SIZEOF ( 4979QUERY ( sr <* 4980QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_REPLICA' IN TYPEOF (it)) )| ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SOLID', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REVOLVED_FACE_SOLID', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (sr\solid_replica.parent_solid)) = 0) )) = 0; 4981 WR5 : SIZEOF ( 4982QUERY ( it <* SELF.items| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (it)) )) > 0; 4983END_ENTITY; 4984 4985 4986ENTITY csg_solid 4987 SUBTYPE OF (solid_model); 4988 tree_root_expression : csg_select; 4989END_ENTITY; 4990 4991 4992ENTITY csg_solid_2d 4993 SUBTYPE OF (csg_solid); 4994 SELF\csg_solid.tree_root_expression : csg_select_2d; 4995WHERE 4996 WR1 : valid_csg_2d_primitives(SELF); 4997END_ENTITY; 4998 4999 5000ENTITY currency 5001 ABSTRACT SUPERTYPE OF (ONEOF (externally_defined_currency, iso4217_currency)) 5002 SUBTYPE OF (context_dependent_unit); 5003WHERE 5004 WR1 : ((SELF\named_unit.dimensions.length_exponent = 0.0) AND 5005 (SELF\named_unit.dimensions.mass_exponent = 0.0) AND 5006 (SELF\named_unit.dimensions.time_exponent = 0.0) AND 5007 (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND 5008 (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND 5009 (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND 5010 (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0)); 5011END_ENTITY; 5012 5013 5014ENTITY currency_measure_with_unit 5015 SUBTYPE OF (measure_with_unit); 5016 SELF\measure_with_unit.unit_component : currency; 5017END_ENTITY; 5018 5019 5020ENTITY current_design_assignment 5021 SUBTYPE OF (design_object_management_assignment); 5022END_ENTITY; 5023 5024 5025ENTITY current_design_object_assignment 5026 SUBTYPE OF (design_object_management_assignment); 5027END_ENTITY; 5028 5029 5030ENTITY curve 5031 SUPERTYPE OF (ONEOF (line, conic, pcurve, surface_curve, offset_curve_2d, offset_curve_3d, curve_replica)) 5032 SUBTYPE OF (geometric_representation_item); 5033END_ENTITY; 5034 5035 5036ENTITY curve_bounded_surface 5037 SUBTYPE OF (bounded_surface); 5038 basis_surface : surface; 5039 boundaries : SET [1:?] OF boundary_curve; 5040 implicit_outer : BOOLEAN; 5041WHERE 5042 WR1 : (NOT implicit_outer) OR 5043 (SIZEOF (QUERY (temp <* boundaries | 5044 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) = 0); 5045 WR2 : (NOT(implicit_outer)) OR 5046 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(basis_surface)); 5047 WR3 : SIZEOF(QUERY(temp <* boundaries | 5048 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OUTER_BOUNDARY_CURVE' IN 5049 TYPEOF(temp))) <= 1; 5050 WR4 : SIZEOF(QUERY(temp <* boundaries | 5051 (temp\composite_curve_on_surface.basis_surface [1] <> 5052 SELF.basis_surface))) = 0; 5053END_ENTITY; 5054 5055 5056ENTITY curve_dimension 5057 SUBTYPE OF (dimension_curve_directed_callout); 5058END_ENTITY; 5059 5060 5061ENTITY curve_replica 5062 SUBTYPE OF (curve); 5063 parent_curve : curve; 5064 transformation : cartesian_transformation_operator; 5065WHERE 5066 WR1 : transformation.dim = parent_curve.dim; 5067 WR2 : acyclic_curve_replica (SELF, parent_curve); 5068END_ENTITY; 5069 5070 5071ENTITY curve_style 5072 SUBTYPE OF (founded_item); 5073 name : label; 5074 curve_font : curve_font_or_scaled_curve_font_select; 5075 curve_width : size_select; 5076 curve_colour : colour; 5077END_ENTITY; 5078 5079 5080ENTITY curve_style_font 5081 SUBTYPE OF (founded_item); 5082 name : label; 5083 pattern_list : LIST [1:?] OF curve_style_font_pattern; 5084END_ENTITY; 5085 5086 5087ENTITY curve_style_font_and_scaling 5088 SUBTYPE OF (founded_item); 5089 name : label; 5090 curve_font : curve_style_font_select; 5091 curve_font_scaling : REAL; 5092END_ENTITY; 5093 5094 5095ENTITY curve_style_font_pattern 5096 SUBTYPE OF (founded_item); 5097 visible_segment_length : positive_length_measure; 5098 invisible_segment_length : positive_length_measure; 5099END_ENTITY; 5100 5101 5102ENTITY curve_style_parameters_representation 5103 SUBTYPE OF (representation); 5104END_ENTITY; 5105 5106 5107ENTITY curve_style_parameters_with_ends 5108 SUBTYPE OF (curve_style_parameters_representation); 5109END_ENTITY; 5110 5111 5112ENTITY curve_style_rendering; 5113 rendering_method : shading_curve_method; 5114 rendering_properties : surface_rendering_properties; 5115END_ENTITY; 5116 5117 5118ENTITY curve_swept_solid_shape_representation 5119 SUBTYPE OF (shape_representation); 5120WHERE 5121 WR1 : SIZEOF (QUERY (it <* SELF.items | 5122 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_AREA_SOLID', 5123 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_DISK_SOLID', 5124 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 5125 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * 5126 TYPEOF(it)) = 1))) = 0; 5127 WR2 : SIZEOF (QUERY (it <* SELF.items | 5128 SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_AREA_SOLID', 5129 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_DISK_SOLID', 5130 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0; 5131 WR3 : SIZEOF (QUERY (mi <* QUERY (it <* items | 5132 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | 5133 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' IN 5134 TYPEOF(mi\mapped_item.mapping_source. 5135 mapped_representation)))) = 0; 5136 WR4 : SIZEOF (QUERY (scsas <* QUERY (it <* SELF.items | 5137 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE_SWEPT_AREA_SOLID' IN 5138 TYPEOF(it)) | 5139 NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN 5140 TYPEOF(scsas\surface_curve_swept_area_solid.directrix)) OR 5141 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN 5142 TYPEOF(scsas\surface_curve_swept_area_solid.directrix))))) = 0; 5143END_ENTITY; 5144 5145 5146ENTITY cutout 5147 SUPERTYPE OF (ONEOF (physical_connectivity_interrupting_cutout, plated_cutout, partially_plated_cutout)) 5148 SUBTYPE OF (inter_stratum_feature); 5149END_ENTITY; 5150 5151 5152ENTITY cutout_edge_segment 5153 SUPERTYPE OF (plated_cutout_edge_segment) 5154 SUBTYPE OF (inter_stratum_feature, shape_aspect_relationship); 5155 SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; 5156 SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; 5157WHERE 5158 WR1 : SELF\shape_aspect_relationship.relating_shape_aspect :<>: 5159 SELF\shape_aspect_relationship.related_shape_aspect; 5160END_ENTITY; 5161 5162 5163ENTITY cylindrical_surface 5164 SUBTYPE OF (elementary_surface); 5165 radius : positive_length_measure; 5166END_ENTITY; 5167 5168 5169ENTITY cylindricity_tolerance 5170 SUBTYPE OF (geometric_tolerance); 5171WHERE 5172 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); 5173END_ENTITY; 5174 5175 5176ENTITY data_environment; 5177 name : label; 5178 description : text; 5179 elements : SET [1:?] OF property_definition_representation; 5180END_ENTITY; 5181 5182 5183ENTITY date 5184 SUPERTYPE OF (ONEOF (calendar_date, ordinal_date, week_of_year_and_day_date, year_month)); 5185 year_component : year_number; 5186END_ENTITY; 5187 5188 5189ENTITY date_and_time; 5190 date_component : date; 5191 time_component : local_time; 5192END_ENTITY; 5193 5194 5195ENTITY date_and_time_assignment 5196 ABSTRACT SUPERTYPE; 5197 assigned_date_and_time : date_and_time; 5198 role : date_time_role; 5199END_ENTITY; 5200 5201 5202ENTITY date_assignment 5203 ABSTRACT SUPERTYPE; 5204 assigned_date : date; 5205 role : date_role; 5206END_ENTITY; 5207 5208 5209ENTITY date_representation_item 5210 SUBTYPE OF (representation_item, date); 5211END_ENTITY; 5212 5213 5214ENTITY date_role; 5215 name : label; 5216DERIVE 5217 description : text := get_description_value (SELF); 5218WHERE 5219 WR1 : SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 5220END_ENTITY; 5221 5222 5223ENTITY date_time_representation_item 5224 SUBTYPE OF (representation_item, date_and_time); 5225END_ENTITY; 5226 5227 5228ENTITY date_time_role; 5229 name : label; 5230DERIVE 5231 description : text := get_description_value (SELF); 5232WHERE 5233 WR1 : SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 5234END_ENTITY; 5235 5236 5237ENTITY dated_effectivity 5238 SUBTYPE OF (effectivity); 5239 effectivity_end_date : OPTIONAL date_time_or_event_occurrence; 5240 effectivity_start_date : date_time_or_event_occurrence; 5241END_ENTITY; 5242 5243 5244ENTITY datum 5245 SUBTYPE OF (shape_aspect); 5246 identification : identifier; 5247INVERSE 5248 established_by_relationships: SET [1:?] OF shape_aspect_relationship FOR related_shape_aspect; 5249WHERE 5250 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMMON_DATUM' IN TYPEOF(SELF)) XOR 5251 ((SIZEOF(QUERY(x <* SELF\datum.established_by_relationships | 5252 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_FEATURE' IN TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)))) = 1) XOR 5253 (SIZEOF(QUERY(x <* SELF\datum.established_by_relationships | 5254 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_TARGET' IN TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)))) >= 1)); 5255END_ENTITY; 5256 5257 5258ENTITY datum_difference 5259 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 5260 SELF\shape_aspect_relationship.related_shape_aspect : datum; 5261 SELF\shape_aspect_relationship.relating_shape_aspect : datum; 5262WHERE 5263 WR1 : SELF\shape_aspect_relationship.relating_shape_aspect :<>: 5264 SELF\shape_aspect_relationship.related_shape_aspect; 5265END_ENTITY; 5266 5267 5268ENTITY datum_difference_based_characteristic 5269 SUBTYPE OF (representation_item); 5270END_ENTITY; 5271 5272 5273ENTITY datum_difference_based_model_parameter 5274 SUBTYPE OF (model_parameter); 5275END_ENTITY; 5276 5277 5278ENTITY datum_difference_functional_unit_usage_view_terminal_assignment 5279 SUBTYPE OF (shape_aspect_relationship); 5280 SELF\shape_aspect_relationship.related_shape_aspect : functional_unit_terminal_definition; 5281 SELF\shape_aspect_relationship.relating_shape_aspect : datum_difference; 5282END_ENTITY; 5283 5284 5285ENTITY datum_feature 5286 SUBTYPE OF (shape_aspect); 5287INVERSE 5288 feature_basis_relationship: SET [1:?] OF shape_aspect_relationship FOR relating_shape_aspect; 5289WHERE 5290 WR1 : SIZEOF(QUERY(sar <* SELF\datum_feature.feature_basis_relationship 5291 | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM' IN TYPEOF 5292 (sar\shape_aspect_relationship.related_shape_aspect)))) = 1; 5293 WR2 : SELF\shape_aspect.product_definitional = TRUE; 5294END_ENTITY; 5295 5296 5297ENTITY datum_feature_callout 5298 SUBTYPE OF (draughting_callout); 5299END_ENTITY; 5300 5301 5302ENTITY datum_reference; 5303 precedence : INTEGER; 5304 referenced_datum : datum; 5305WHERE 5306 WR1 : precedence > 0; 5307END_ENTITY; 5308 5309 5310ENTITY datum_target 5311 SUBTYPE OF (shape_aspect); 5312 target_id : identifier; 5313INVERSE 5314 target_basis_relationship: SET [1:?] OF shape_aspect_relationship FOR relating_shape_aspect; 5315WHERE 5316 WR1 : SIZEOF(QUERY(sar <* SELF\datum_target.target_basis_relationship 5317 | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM' IN TYPEOF 5318 (sar\shape_aspect_relationship.related_shape_aspect)))) = 1; 5319 WR2 : SELF\shape_aspect.product_definitional = TRUE; 5320END_ENTITY; 5321 5322 5323ENTITY datum_target_callout 5324 SUBTYPE OF (draughting_callout); 5325END_ENTITY; 5326 5327 5328ENTITY default_attachment_size_based_land_physical_template 5329 SUBTYPE OF (land_physical_template, shape_aspect); 5330DERIVE 5331 SELF\shape_aspect.of_shape : default_attachment_size_based_land_physical_template := SELF; 5332END_ENTITY; 5333 5334 5335ENTITY default_passage_based_land_physical_template 5336 ABSTRACT SUPERTYPE OF (ONEOF (default_plated_passage_based_land_physical_template, default_unsupported_passage_based_land_physical_template)) 5337 SUBTYPE OF (land_physical_template); 5338END_ENTITY; 5339 5340 5341ENTITY default_plated_passage_based_land_physical_template 5342 SUBTYPE OF (default_passage_based_land_physical_template); 5343END_ENTITY; 5344 5345 5346ENTITY default_tolerance_table 5347 SUBTYPE OF (representation); 5348WHERE 5349 WR1 : SIZEOF( QUERY( i <* SELF.items | NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEFAULT_TOLERANCE_TABLE_CELL' IN TYPEOF(i)) )) = 0; 5350 WR2 : (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | rr.name < 'general tolerance definition' )) = 0) AND (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | (rr.name = 'general tolerance definition') AND (rr.rep_2.name < 'default tolerance') )) = 0) AND (SIZEOF( USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) = 0); 5351END_ENTITY; 5352 5353 5354ENTITY default_tolerance_table_cell 5355 SUBTYPE OF (compound_representation_item); 5356WHERE 5357 WR1 : SIZEOF(QUERY( x <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION.ITEMS') | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DEFAULT_TOLERANCE_TABLE' IN TYPEOF(x)))=1; 5358 WR2 : default_tolerance_table_cell_wr2(SELF\compound_representation_item.item_element); 5359 WR3 : default_tolerance_table_cell_wr3(SELF\compound_representation_item.item_element); 5360 WR4 : default_tolerance_table_cell_wr4(SELF\compound_representation_item.item_element); 5361 WR5 : default_tolerance_table_cell_wr5(SELF\compound_representation_item.item_element); 5362END_ENTITY; 5363 5364 5365ENTITY default_trace_template 5366 SUBTYPE OF (trace_template); 5367END_ENTITY; 5368 5369 5370ENTITY default_unsupported_passage_based_land_physical_template 5371 SUBTYPE OF (default_passage_based_land_physical_template); 5372END_ENTITY; 5373 5374 5375ENTITY default_value_property_definition_representation 5376 SUBTYPE OF (property_definition_representation); 5377END_ENTITY; 5378 5379 5380ENTITY defined_symbol 5381 SUBTYPE OF (geometric_representation_item); 5382 definition : defined_symbol_select; 5383 target : symbol_target; 5384END_ENTITY; 5385 5386 5387ENTITY definitional_representation 5388 SUBTYPE OF (representation); 5389WHERE 5390 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN 5391 TYPEOF (SELF\representation.context_of_items ); 5392END_ENTITY; 5393 5394 5395ENTITY definitional_representation_relationship 5396 SUBTYPE OF (representation_relationship); 5397WHERE 5398 WR1 : acyclic_representation_relationship(SELF, 5399 [SELF\representation_relationship.rep_2], 5400 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'REPRESENTATION'); 5401END_ENTITY; 5402 5403 5404ENTITY definitional_representation_relationship_with_same_context 5405 SUBTYPE OF (definitional_representation_relationship); 5406WHERE 5407 WR1 : SELF\representation_relationship.rep_1.context_of_items :=: 5408 SELF\representation_relationship.rep_2.context_of_items; 5409END_ENTITY; 5410 5411 5412ENTITY degenerate_pcurve 5413 SUBTYPE OF (point); 5414 basis_surface : surface; 5415 reference_to_curve : definitional_representation; 5416WHERE 5417 WR1 : SIZEOF(reference_to_curve\representation.items) = 1; 5418 WR2 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF 5419 (reference_to_curve\representation.items[1]); 5420 WR3 : reference_to_curve\representation. 5421 items[1]\geometric_representation_item.dim =2; 5422END_ENTITY; 5423 5424 5425ENTITY degenerate_toroidal_surface 5426 SUBTYPE OF (toroidal_surface); 5427 select_outer : BOOLEAN; 5428WHERE 5429 WR1 : major_radius < minor_radius; 5430END_ENTITY; 5431 5432 5433ENTITY dependent_electrical_isolation_removal_component 5434 SUBTYPE OF (electrical_isolation_laminate_component); 5435END_ENTITY; 5436 5437 5438ENTITY dependent_electrical_isolation_removal_template 5439 SUBTYPE OF (electrical_isolation_removal_template); 5440END_ENTITY; 5441 5442 5443ENTITY dependent_thermal_isolation_removal_component 5444 SUBTYPE OF (thermal_isolation_removal_component); 5445END_ENTITY; 5446 5447 5448ENTITY dependent_thermal_isolation_removal_template 5449 SUBTYPE OF (thermal_isolation_removal_template); 5450END_ENTITY; 5451 5452 5453ENTITY derived_laminate_assignment 5454 SUBTYPE OF (property_definition_relationship); 5455END_ENTITY; 5456 5457 5458ENTITY derived_shape_aspect 5459 SUPERTYPE OF (ONEOF (apex, centre_of_symmetry, geometric_alignment, geometric_intersection, parallel_offset, perpendicular_to, extension, tangent)) 5460 SUBTYPE OF (shape_aspect); 5461INVERSE 5462 deriving_relationships: SET [1:?] OF shape_aspect_relationship FOR relating_shape_aspect; 5463WHERE 5464 WR1 : SIZEOF (QUERY (dr <* 5465 SELF\derived_shape_aspect.deriving_relationships | 5466 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 5467 'SHAPE_ASPECT_DERIVING_RELATIONSHIP' 5468 IN TYPEOF (dr)))) = 0; 5469END_ENTITY; 5470 5471 5472ENTITY derived_stratum 5473 SUBTYPE OF (stratum); 5474END_ENTITY; 5475 5476 5477ENTITY derived_stratum_technology_occurrence_relationship 5478 ABSTRACT SUPERTYPE OF (ONEOF (copy_stratum_technology_occurrence_relationship, inverse_copy_stratum_technology_occurrence_relationship)) 5479 SUBTYPE OF (stratum_technology_occurrence_relationship); 5480END_ENTITY; 5481 5482 5483ENTITY derived_unit 5484 SUPERTYPE OF (ONEOF (absorbed_dose_unit, acceleration_unit, radioactivity_unit, area_unit, capacitance_unit, dose_equivalent_unit, electric_charge_unit, conductance_unit, electric_potential_unit, energy_unit, magnetic_flux_density_unit, force_unit, frequency_unit, illuminance_unit, inductance_unit, magnetic_flux_unit, power_unit, pressure_unit, resistance_unit, velocity_unit, volume_unit)); 5485 elements : SET [1:?] OF derived_unit_element; 5486DERIVE 5487 name : label := get_name_value(SELF); 5488WHERE 5489 WR1 : (SIZEOF(elements) > 1) OR ((SIZEOF(elements) = 1) AND (elements[1].exponent <> 1.0)); 5490 WR2 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; 5491END_ENTITY; 5492 5493 5494ENTITY derived_unit_element; 5495 unit : named_unit; 5496 exponent : REAL; 5497END_ENTITY; 5498 5499 5500ENTITY description_attribute; 5501 attribute_value : text; 5502 described_item : description_attribute_select; 5503END_ENTITY; 5504 5505 5506ENTITY descriptive_representation_item 5507 SUPERTYPE OF (ONEOF (tagged_text_item, uniform_resource_identifier)) 5508 SUBTYPE OF (representation_item); 5509 description : text; 5510END_ENTITY; 5511 5512 5513ENTITY design_composition_path 5514 SUBTYPE OF (applied_group_assignment, product_definition); 5515END_ENTITY; 5516 5517 5518ENTITY design_context 5519 SUBTYPE OF (product_definition_context); 5520WHERE 5521 WR1 : SELF.life_cycle_stage = 'design'; 5522END_ENTITY; 5523 5524 5525ENTITY design_layer_stratum 5526 SUBTYPE OF (stratum); 5527END_ENTITY; 5528 5529 5530ENTITY design_make_from_relationship 5531 SUBTYPE OF (product_definition_relationship); 5532END_ENTITY; 5533 5534 5535ENTITY design_object_management_assignment 5536 SUBTYPE OF (action_assignment); 5537 items : SET [1:?] OF managed_design_object; 5538END_ENTITY; 5539 5540 5541ENTITY design_object_management_relationship_action 5542 SUBTYPE OF (action); 5543END_ENTITY; 5544 5545 5546ENTITY design_specific_stratum_technology_mapping_relationship 5547 SUBTYPE OF (stratum_technology_mapping_relationship, property_definition); 5548 SELF\property_definition.definition : library_to_design_stack_model_mapping; 5549DERIVE 5550 scope : library_to_design_stack_model_mapping := SELF\property_definition.definition; 5551END_ENTITY; 5552 5553 5554ENTITY design_stack_model 5555 SUBTYPE OF (stratum_stack_model); 5556END_ENTITY; 5557 5558 5559ENTITY device_terminal_map 5560 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 5561 SELF\shape_aspect_relationship.relating_shape_aspect : packaged_part_terminal; 5562UNIQUE 5563 UR1 : SELF\shape_aspect_relationship.related_shape_aspect, relating_shape_aspect; 5564END_ENTITY; 5565 5566 5567ENTITY diameter_dimension 5568 SUBTYPE OF (dimension_curve_directed_callout); 5569END_ENTITY; 5570 5571 5572ENTITY dielectric_constant_measure_with_unit 5573 SUBTYPE OF (ratio_measure_with_unit); 5574END_ENTITY; 5575 5576 5577ENTITY dielectric_crossover_area 5578 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 5579END_ENTITY; 5580 5581 5582ENTITY dielectric_material_passage 5583 SUBTYPE OF (inter_stratum_feature); 5584END_ENTITY; 5585 5586 5587ENTITY digital_analytical_model_port 5588 SUBTYPE OF (analytical_model_port); 5589END_ENTITY; 5590 5591 5592ENTITY digital_analytical_model_scalar_port 5593 SUBTYPE OF (digital_analytical_model_vector_port, analytical_model_scalar_port); 5594END_ENTITY; 5595 5596 5597ENTITY digital_analytical_model_vector_port 5598 SUBTYPE OF (analytical_model_vector_port); 5599END_ENTITY; 5600 5601 5602ENTITY dimension_callout 5603 SUBTYPE OF (draughting_callout); 5604WHERE 5605 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' 5606 IN (TYPEOF (SELF))) XOR 5607 (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents | 5608 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' 5609 IN (TYPEOF(dce_1))))) = 0); 5610 WR2 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' 5611 IN (TYPEOF (SELF))) XOR 5612 (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents | 5613 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' 5614 IN (TYPEOF(dce_1))))) = 0); 5615 WR3 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' 5616 IN (TYPEOF (SELF))) XOR 5617 (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents | 5618 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE' 5619 IN (TYPEOF(dce_1))))) = 0); 5620END_ENTITY; 5621 5622 5623ENTITY dimension_callout_component_relationship 5624 SUBTYPE OF (draughting_callout_relationship); 5625WHERE 5626 WR1 : SELF.name IN ['prefix', 'suffix']; 5627 WR2 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRUCTURED_DIMENSION_CALLOUT' 5628 IN TYPEOF (SELF.relating_draughting_callout); 5629 WR3 : SIZEOF (TYPEOF (SELF.related_draughting_callout) * 5630 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT', 5631 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT', 5632 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT', 5633 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRUCTURED_DIMENSION_CALLOUT']) = 0; 5634 WR4 : SELF.related_draughting_callout.contents * 5635 SELF.relating_draughting_callout.contents = 5636 SELF.related_draughting_callout.contents; 5637 WR5 : ((SELF.name = 'prefix') AND 5638 (SIZEOF (QUERY (ato <* QUERY (con <* 5639 SELF.related_draughting_callout.contents | 5640 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 5641 IN TYPEOF(con))) | 5642 NOT (ato.name = 'prefix text') 5643 )) = 0)); 5644 WR6 : ((SELF.name = 'suffix') AND 5645 (SIZEOF (QUERY (ato <* QUERY (con <* 5646 SELF.related_draughting_callout.contents | 5647 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 5648 IN TYPEOF(con))) | 5649 NOT (ato.name = 'suffix text') 5650 )) = 0)); 5651END_ENTITY; 5652 5653 5654ENTITY dimension_callout_relationship 5655 SUBTYPE OF (draughting_callout_relationship); 5656WHERE 5657 WR1 : SELF.name IN ['primary', 'secondary']; 5658 WR2 : SIZEOF (TYPEOF (SELF.relating_draughting_callout) * 5659 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULAR_DIMENSION', 5660 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_DIMENSION', 5661 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIAMETER_DIMENSION', 5662 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_DIMENSION', 5663 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_DIMENSION', 5664 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORDINATE_DIMENSION', 5665 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIUS_DIMENSION'])>=1; 5666 WR3 : SIZEOF (TYPEOF (SELF.related_draughting_callout) * 5667 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT', 5668 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT', 5669 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT']) = 0; 5670 WR4 : SELF.related_draughting_callout.contents * 5671 SELF.relating_draughting_callout.contents = 5672 SELF.related_draughting_callout.contents; 5673END_ENTITY; 5674 5675 5676ENTITY dimension_curve 5677 SUBTYPE OF (annotation_curve_occurrence); 5678WHERE 5679 WR1 : (SIZEOF( 5680 QUERY(dct <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 5681 'TERMINATOR_SYMBOL.ANNOTATED_CURVE') 5682 | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 5683 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct)) 5684 )) 5685 ) <= 2); 5686 WR2 : SIZEOF( 5687 QUERY( dcdc <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 5688 'DRAUGHTING_CALLOUT.CONTENTS') | 5689 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 5690 'DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF(dcdc))) 5691 )>= 1; 5692 WR3 : (SIZEOF( 5693 QUERY(dct1 <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 5694 'TERMINATOR_SYMBOL.ANNOTATED_CURVE') 5695 | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 5696 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct1)) 5697 AND (dct1\dimension_curve_terminator.role = dimension_extent_usage.origin))) 5698 ) <= 1) 5699 AND 5700 (SIZEOF( 5701 QUERY (dct2 <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 5702 'TERMINATOR_SYMBOL.ANNOTATED_CURVE') 5703 | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 5704 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct2)) 5705 AND (dct2\dimension_curve_terminator.role = dimension_extent_usage.target))) 5706 ) <= 1); 5707END_ENTITY; 5708 5709 5710ENTITY dimension_curve_directed_callout 5711 SUBTYPE OF (draughting_callout); 5712WHERE 5713 WR1 : SIZEOF(QUERY(d_c<*SELF\draughting_callout.contents | 5714 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(d_c))))=1; 5715 WR2 : SIZEOF(SELF\draughting_callout.contents) >= 2; 5716END_ENTITY; 5717 5718 5719ENTITY dimension_curve_terminator 5720 SUBTYPE OF (terminator_symbol); 5721 role : dimension_extent_usage; 5722WHERE 5723 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE' IN TYPEOF 5724 (SELF\terminator_symbol.annotated_curve); 5725END_ENTITY; 5726 5727 5728ENTITY dimension_curve_terminator_to_projection_curve_associativity 5729 SUBTYPE OF (annotation_occurrence_associativity); 5730 SELF\annotation_occurrence_relationship.related_annotation_occurrence : projection_curve; 5731 SELF\annotation_occurrence_relationship.relating_annotation_occurrence : dimension_curve_terminator; 5732END_ENTITY; 5733 5734 5735ENTITY dimension_pair 5736 SUBTYPE OF (draughting_callout_relationship); 5737WHERE 5738 WR1 : SELF.name IN ['chained', 'parallel']; 5739 WR2 : SIZEOF (TYPEOF (SELF.relating_draughting_callout) * 5740 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULAR_DIMENSION', 5741 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_DIMENSION', 5742 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIAMETER_DIMENSION', 5743 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_DIMENSION', 5744 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORDINATE_DIMENSION', 5745 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIUS_DIMENSION'])=1; 5746 WR3 : SIZEOF (TYPEOF (SELF.related_draughting_callout) * 5747 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULAR_DIMENSION', 5748 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_DIMENSION', 5749 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIAMETER_DIMENSION', 5750 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_DIMENSION', 5751 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORDINATE_DIMENSION', 5752 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIUS_DIMENSION'])=1; 5753END_ENTITY; 5754 5755 5756ENTITY dimension_related_tolerance_zone_element; 5757 related_dimension : dimensional_location; 5758 related_element : tolerance_zone_definition; 5759END_ENTITY; 5760 5761 5762ENTITY dimension_text_associativity 5763 SUBTYPE OF (text_literal, mapped_item); 5764WHERE 5765 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DIMENSION_REPRESENTATION' 5766 IN TYPEOF (SELF\mapped_item. 5767 mapping_source.mapped_representation)); 5768 WR2 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' 5769 IN TYPEOF (SELF\mapped_item.mapping_target)); 5770 WR3 : SIZEOF (QUERY (ato <* QUERY (si <* 5771 USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM.ITEM') | 5772 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 5773 IN TYPEOF(si))) | 5774 NOT (SIZEOF( QUERY (dc <* 5775 USEDIN (ato, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 5776 'DRAUGHTING_CALLOUT.CONTENTS') | 5777 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' 5778 IN TYPEOF (dc))) 5779 * [SELF\mapped_item.mapping_target]) = 1) 5780 )) = 0; 5781END_ENTITY; 5782 5783 5784ENTITY dimensional_characteristic_representation; 5785 dimension : dimensional_characteristic; 5786 representation : shape_dimension_representation; 5787END_ENTITY; 5788 5789 5790ENTITY dimensional_exponents; 5791 length_exponent : REAL; 5792 mass_exponent : REAL; 5793 time_exponent : REAL; 5794 electric_current_exponent : REAL; 5795 thermodynamic_temperature_exponent : REAL; 5796 amount_of_substance_exponent : REAL; 5797 luminous_intensity_exponent : REAL; 5798END_ENTITY; 5799 5800 5801ENTITY dimensional_location 5802 SUPERTYPE OF (ONEOF (angular_location, dimensional_location_with_path)) 5803 SUBTYPE OF (shape_aspect_relationship); 5804END_ENTITY; 5805 5806 5807ENTITY dimensional_location_with_path 5808 SUBTYPE OF (dimensional_location); 5809 path : shape_aspect; 5810END_ENTITY; 5811 5812 5813ENTITY dimensional_size 5814 SUPERTYPE OF (ONEOF (angular_size, dimensional_size_with_path)); 5815 applies_to : shape_aspect; 5816 name : label; 5817WHERE 5818 WR1 : applies_to.product_definitional = TRUE; 5819END_ENTITY; 5820 5821 5822ENTITY dimensional_size_property 5823 SUBTYPE OF (dimensional_size, property_definition); 5824END_ENTITY; 5825 5826 5827ENTITY dimensional_size_with_path 5828 SUBTYPE OF (dimensional_size); 5829 path : shape_aspect; 5830END_ENTITY; 5831 5832 5833ENTITY direct_stratum_component_join_implementation 5834 SUBTYPE OF (shape_aspect_relationship); 5835END_ENTITY; 5836 5837 5838ENTITY directed_action 5839 SUBTYPE OF (executed_action); 5840 directive : action_directive; 5841END_ENTITY; 5842 5843 5844ENTITY directed_dimensional_location 5845 SUBTYPE OF (dimensional_location); 5846END_ENTITY; 5847 5848 5849ENTITY direction 5850 SUBTYPE OF (geometric_representation_item); 5851 direction_ratios : LIST [2:3] OF REAL; 5852WHERE 5853 WR1 : SIZEOF(QUERY(tmp <* direction_ratios | tmp <> 0.0)) > 0; 5854END_ENTITY; 5855 5856 5857ENTITY document; 5858 id : identifier; 5859 name : label; 5860 description : OPTIONAL text; 5861 kind : document_type; 5862INVERSE 5863 representation_types: SET [0:?] OF document_representation_type FOR represented_document; 5864END_ENTITY; 5865 5866 5867ENTITY document_file 5868 SUBTYPE OF (document, characterized_object); 5869WHERE 5870 WR1 : SELF\characterized_object.name = ''; 5871 WR2 : NOT EXISTS(SELF\characterized_object.description); 5872 WR3 : SIZEOF( QUERY( drt <* SELF\document.representation_types | 5873 drt.name IN ['digital','physical'])) = 1; 5874END_ENTITY; 5875 5876 5877ENTITY document_identifier 5878 SUBTYPE OF (group); 5879UNIQUE 5880 UR1 : SELF\group.name, SELF\group.description; 5881END_ENTITY; 5882 5883 5884ENTITY document_identifier_assignment 5885 SUBTYPE OF (group_assignment); 5886 items : SET [1:?] OF document_identifier_assigned_item; 5887 SELF\group_assignment.assigned_group : document_identifier; 5888END_ENTITY; 5889 5890 5891ENTITY document_product_association; 5892 name : label; 5893 description : OPTIONAL text; 5894 relating_document : document; 5895 related_product : product_or_formation_or_definition; 5896END_ENTITY; 5897 5898 5899ENTITY document_product_equivalence 5900 SUBTYPE OF (document_product_association); 5901WHERE 5902 WR1 : SELF\document_product_association.name = 'equivalence'; 5903 WR2 : NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT' IN TYPEOF(SELF\document_product_association.related_product)) OR ((SELF\document_product_association.relating_document.kind. product_data_type = 'configuration controlled document') AND (SIZEOF( QUERY( prpc <* USEDIN(SELF\document_product_association.related_product,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document' )) = 1)); 5904 WR3 : NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF(SELF.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document version') AND (SIZEOF( QUERY( prpc <* USEDIN(SELF.related_product\product_definition_formation.of_product, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1)); 5905 WR4 : NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(SELF.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document definition') AND (SIZEOF( QUERY( prpc <* USEDIN(SELF\document_product_association.related_product\product_definition.formation.of_product, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document' )) = 1)); 5906END_ENTITY; 5907 5908 5909ENTITY document_reference 5910 ABSTRACT SUPERTYPE; 5911 assigned_document : document; 5912 source : label; 5913DERIVE 5914 role : object_role := get_role(SELF); 5915WHERE 5916 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; 5917END_ENTITY; 5918 5919 5920ENTITY document_relationship; 5921 name : label; 5922 description : OPTIONAL text; 5923 relating_document : document; 5924 related_document : document; 5925END_ENTITY; 5926 5927 5928ENTITY document_representation_type; 5929 name : label; 5930 represented_document : document; 5931END_ENTITY; 5932 5933 5934ENTITY document_type; 5935 product_data_type : label; 5936END_ENTITY; 5937 5938 5939ENTITY document_usage_constraint; 5940 source : document; 5941 subject_element : label; 5942 subject_element_value : text; 5943END_ENTITY; 5944 5945 5946ENTITY document_usage_constraint_assignment 5947 ABSTRACT SUPERTYPE; 5948 assigned_document_usage : document_usage_constraint; 5949 role : document_usage_role; 5950END_ENTITY; 5951 5952 5953ENTITY document_usage_role; 5954 name : label; 5955 description : OPTIONAL text; 5956END_ENTITY; 5957 5958 5959ENTITY documentation_layer_stratum 5960 SUBTYPE OF (stratum); 5961END_ENTITY; 5962 5963 5964ENTITY dose_equivalent_measure_with_unit 5965 SUBTYPE OF (measure_with_unit); 5966WHERE 5967 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DOSE_EQUIVALENT_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 5968END_ENTITY; 5969 5970 5971ENTITY dose_equivalent_unit 5972 SUBTYPE OF (derived_unit); 5973WHERE 5974 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.sievert); 5975END_ENTITY; 5976 5977 5978ENTITY double_offset_shelled_solid 5979 SUBTYPE OF (shelled_solid); 5980 thickness2 : length_measure; 5981WHERE 5982 WR1 : thickness2 <> 0; 5983 WR2 : SELF\shelled_solid.thickness <> thickness2; 5984END_ENTITY; 5985 5986 5987ENTITY draped_defined_transformation 5988 SUBTYPE OF (transformation_with_derived_angle); 5989END_ENTITY; 5990 5991 5992ENTITY draughting_annotation_occurrence 5993 SUBTYPE OF (annotation_occurrence); 5994WHERE 5995 WR1 : (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' 5996 IN TYPEOF (SELF))) OR 5997 (SIZEOF (QUERY (sty <* SELF.styles | 5998 NOT ((SIZEOF (sty.styles) = 1) 5999 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' 6000 IN TYPEOF (sty.styles[1]))) )) = 0); 6001 WR2 : (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' 6002 IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles | 6003 NOT ((SIZEOF (sty.styles) = 1) 6004 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE' 6005 IN TYPEOF (sty.styles[1]))) )) = 0); 6006 WR3 : (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' 6007 IN TYPEOF (SELF))) OR (SIZEOF (QUERY (bound <* 6008 SELF.item\annotation_fill_area.boundaries | 6009 NOT (SIZEOF (QUERY (si <* 6010 USEDIN (bound, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6011 'STYLED_ITEM.ITEM') | 6012 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6013 'ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF (si)))) > 0))) = 0); 6014 WR4 : (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' 6015 IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles | 6016 NOT ((SIZEOF (sty.styles) = 1) AND 6017 (SIZEOF (TYPEOF (sty.styles[1]) * 6018 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMBOL_STYLE', 6019 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NULL_STYLE']) = 1)) )) = 0); 6020 WR5 : (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' 6021 IN TYPEOF (SELF)) AND 6022 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL' 6023 IN TYPEOF(SELF.item)))) OR 6024 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6025 'DRAUGHTING_SYMBOL_REPRESENTATION', 6026 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6027 'DRAUGHTING_SUBFIGURE_REPRESENTATION'] * 6028 TYPEOF (SELF.item\mapped_item.mapping_source. 6029 mapped_representation)) = 1); 6030 WR6 : (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 6031 IN TYPEOF (SELF))) OR 6032 (SIZEOF (QUERY (sty <* SELF.styles | 6033 NOT ((SIZEOF (sty.styles) = 1) 6034 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_STYLE' 6035 IN TYPEOF (sty.styles[1]))) )) = 0); 6036 WR7 : (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 6037 IN TYPEOF (SELF))) OR 6038 (SIZEOF (TYPEOF(SELF.item) * 6039 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT', 6040 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL']) = 1); 6041 WR8 : (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 6042 IN TYPEOF (SELF)) AND 6043 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' 6044 IN TYPEOF (SELF.item)))) OR (SIZEOF (QUERY (tl <* 6045 SELF.item\composite_text.collected_text | 6046 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' 6047 IN TYPEOF (tl)) )) = 0); 6048 WR9 : (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 6049 IN TYPEOF (SELF)) AND 6050 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' 6051 IN TYPEOF (SELF.item)))) OR (SELF.item\text_literal.alignment 6052 IN ['baseline left', 'baseline centre', 'baseline right']); 6053 WR10 : (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 6054 IN TYPEOF (SELF)) AND 6055 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' 6056 IN TYPEOF (SELF.item)))) OR 6057 (SIZEOF (QUERY (tl <* QUERY (text <* SELF. 6058 item\composite_text.collected_text 6059 |('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF(text))) | 6060 NOT (tl\text_literal.alignment IN 6061 ['baseline left', 'baseline centre', 'baseline right']) )) = 0); 6062 WR11 : NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 6063 IN TYPEOF(SELF)) AND 6064 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' 6065 IN TYPEOF (SELF.item))) OR check_text_alignment(SELF.item); 6066 WR12 : NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 6067 IN TYPEOF(SELF)) AND 6068 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' 6069 IN TYPEOF (SELF.item))) OR check_text_font(SELF.item); 6070 WR13 : (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 6071 IN TYPEOF(SELF)) AND 6072 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' 6073 IN TYPEOF (SELF.item)))) OR 6074 (SIZEOF (QUERY (tl <* QUERY (text <* 6075 SELF.item\composite_text.collected_text | 6076 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF (text))) | 6077 NOT (SIZEOF (TYPEOF(tl) * 6078 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6079 'TEXT_LITERAL_WITH_BLANKING_BOX', 6080 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6081 'TEXT_LITERAL_WITH_ASSOCIATED_CURVES']) = 0) )) = 0); 6082 WR14 : (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 6083 IN TYPEOF (SELF)) AND 6084 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL_WITH_ASSOCIATED_CURVES' 6085 IN TYPEOF (SELF.item)))) OR 6086 (SIZEOF (QUERY (crv <* 6087 SELF.item\text_literal_with_associated_curves. 6088 associated_curves | 6089 NOT (SIZEOF (QUERY (si <* USEDIN (crv, 6090 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM.ITEM') | 6091 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' 6092 IN TYPEOF (si)) )) > 0) )) = 0); 6093 WR15 : (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 6094 IN TYPEOF (SELF)) AND 6095 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT_WITH_ASSOCIATED_CURVES' 6096 IN TYPEOF (SELF.item)))) OR 6097 (SIZEOF (QUERY (crv <* 6098 SELF.item\composite_text_with_associated_curves. 6099 associated_curves | 6100 NOT (SIZEOF (QUERY (si <* USEDIN (crv, 6101 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM.ITEM') | 6102 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' 6103 IN TYPEOF (si)) )) > 0) )) = 0); 6104 WR16 : SIZEOF (QUERY (cs <* QUERY (sty <* SELF.styles | 6105 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF (sty.styles[1]))) 6106 | NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' 6107 IN TYPEOF (cs.styles[1]\curve_style.curve_width)) AND 6108 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' 6109 IN TYPEOF (cs.styles[1]\curve_style. 6110 curve_width\measure_with_unit.value_component))))) = 0; 6111 WR17 : SIZEOF (QUERY (fas <* QUERY (sty <* SELF.styles | 6112 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE' 6113 IN TYPEOF (sty.styles[1]))) | 6114 NOT ((SIZEOF (QUERY (fs <* fas.styles[1]\fill_area_style.fill_styles 6115 | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE_TILES' 6116 IN TYPEOF (fs)))) <= 1) 6117 AND (SIZEOF (QUERY (fst <* QUERY (fs <* 6118 fas.styles[1]\fill_area_style.fill_styles | 6119 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE_TILES' 6120 IN TYPEOF (fs))) | 6121 NOT (SIZEOF (fst\fill_area_style_tiles.tiles) = 1) 6122 )) = 0)) 6123 )) = 0; 6124 WR18 : SIZEOF (QUERY (fas <* QUERY (sty <* SELF.styles | 6125 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE' 6126 IN TYPEOF (sty.styles[1]))) | 6127 NOT (SIZEOF (QUERY (fsh <* QUERY (fs <* 6128 fas.styles[1]\fill_area_style.fill_styles | 6129 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE_HATCHING' 6130 IN TYPEOF (fs))) | 6131 NOT (fsh\fill_area_style_hatching.point_of_reference_hatch_line :=: 6132 fsh\fill_area_style_hatching.pattern_start) )) = 0) )) = 0; 6133 WR19 : SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles | 6134 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_STYLE' 6135 IN TYPEOF(sty.styles[1]))) | 6136 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6137 'TEXT_STYLE_WITH_BOX_CHARACTERISTICS' 6138 IN TYPEOF (ts.styles[1])))) = 0; 6139 WR20 : SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles | 6140 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_STYLE_WITH_BOX_CHARACTERISTICS' 6141 IN TYPEOF (sty.styles[1]))) | 6142 NOT (SIZEOF (ts.styles[1]\text_style_with_box_characteristics. 6143 characteristics) = 4) )) = 0; 6144END_ENTITY; 6145 6146 6147ENTITY draughting_callout 6148 SUPERTYPE OF ((ONEOF (datum_feature_callout, datum_target_callout, dimension_curve_directed_callout, draughting_elements, geometrical_tolerance_callout, leader_directed_callout, projection_directed_callout, structured_dimension_callout) ANDOR surface_condition_callout)) 6149 SUBTYPE OF (geometric_representation_item); 6150 contents : SET [1:?] OF draughting_callout_element; 6151WHERE 6152 WR1 : (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | 6153 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN (TYPEOF(l_1)))) = 0) OR 6154 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND 6155 (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | 6156 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(l_1)))) = 0) OR 6157 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND 6158 (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | 6159 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(l_1)))) = 0) OR 6160 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' IN (TYPEOF(SELF))); 6161END_ENTITY; 6162 6163 6164ENTITY draughting_callout_relationship; 6165 name : label; 6166 description : text; 6167 relating_draughting_callout : draughting_callout; 6168 related_draughting_callout : draughting_callout; 6169END_ENTITY; 6170 6171 6172ENTITY draughting_elements 6173 SUBTYPE OF (draughting_callout); 6174WHERE 6175 WR1 : SIZEOF (QUERY (l_c <* QUERY (con <* SELF.contents | 6176 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF(con))) | 6177 NOT (SIZEOF (QUERY (ldc <* USEDIN (l_c, 6178 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_CALLOUT.CONTENTS') | 6179 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' 6180 IN TYPEOF (ldc)))) <= 1)))=0; 6181 WR2 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' 6182 IN TYPEOF(SELF)) OR 6183 (SIZEOF (QUERY (con <* SELF.contents | 6184 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' IN 6185 TYPEOF (con)))) <= 2); 6186 WR3 : SIZEOF (QUERY (rc <* USEDIN (SELF, 6187 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + 6188 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | 6189 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6190 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND 6191 (rc.name = 'primary') )) <= 1; 6192 WR4 : SIZEOF (QUERY (rc <* USEDIN (SELF, 6193 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + 6194 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | 6195 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6196 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND 6197 (rc.name = 'secondary') )) <= 1; 6198 WR5 : SIZEOF (QUERY (sec <* QUERY (rc <* USEDIN (SELF, 6199 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + 6200 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | 6201 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6202 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND 6203 (rc.name = 'secondary') ) | 6204 NOT (SIZEOF (QUERY (prim <* USEDIN (SELF, 6205 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + 6206 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | 6207 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6208 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (prim)) AND 6209 (prim.name = 'primary') )) = 1))) = 0; 6210END_ENTITY; 6211 6212 6213ENTITY draughting_model 6214 SUBTYPE OF (representation); 6215 SELF\representation.items : SET [1:?] OF draughting_model_item_select; 6216UNIQUE 6217 UR1 : SELF\representation.name; 6218WHERE 6219 WR1 : SIZEOF (QUERY (mi <* QUERY (it <* SELF.items | 6220 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it))) | 6221 NOT ( 6222 SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION', 6223 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_MODEL'] * 6224 TYPEOF (mi\mapped_item.mapping_source. 6225 mapped_representation)) = 1 6226 ))) = 0; 6227 WR2 : SIZEOF (QUERY (smi <* QUERY (si <* QUERY (it <* SELF.items | 6228 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF(it))) | 6229 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN 6230 TYPEOF(si\styled_item.item))) | 6231 (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN 6232 TYPEOF(smi\styled_item.item\mapped_item. 6233 mapping_source.mapped_representation)) 6234 AND 6235 (SIZEOF (QUERY (sty <* smi\styled_item.styles | 6236 (NOT (SIZEOF (QUERY (psa <* sty.styles | 6237 (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF(psa))))) = 1 6238 )))) = 1))) 6239 )) = 0; 6240END_ENTITY; 6241 6242 6243ENTITY draughting_model_item_association 6244 SUBTYPE OF (item_identified_representation_usage); 6245 SELF\item_identified_representation_usage.definition : shape_definition; 6246 SELF\item_identified_representation_usage.identified_item : draughting_model_item_association_select; 6247 SELF\item_identified_representation_usage.used_representation : draughting_model; 6248END_ENTITY; 6249 6250 6251ENTITY draughting_pre_defined_colour 6252 SUBTYPE OF (pre_defined_colour); 6253WHERE 6254 WR1 : SELF.name IN 6255 ['red', 6256 'green', 6257 'blue', 6258 'yellow', 6259 'magenta', 6260 'cyan', 6261 'black', 6262 'white']; 6263END_ENTITY; 6264 6265 6266ENTITY draughting_pre_defined_curve_font 6267 SUBTYPE OF (pre_defined_curve_font); 6268WHERE 6269 WR1 : SELF.name IN 6270 ['continuous', 6271 'chain', 6272 'chain double dash', 6273 'dashed', 6274 'dotted']; 6275END_ENTITY; 6276 6277 6278ENTITY draughting_pre_defined_text_font 6279 SUBTYPE OF (pre_defined_text_font); 6280WHERE 6281 WR1 : SELF.name[1:8] = 'ISO 3098'; 6282END_ENTITY; 6283 6284 6285ENTITY draughting_subfigure_representation 6286 SUBTYPE OF (symbol_representation); 6287WHERE 6288 WR1 : SIZEOF (QUERY (item <* SELF\representation.items | 6289 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_OCCURRENCE', 6290 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT', 6291 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT'] 6292 * TYPEOF (item)) = 1))) = 0; 6293 WR2 : SIZEOF (QUERY (item <* SELF\representation.items | 6294 SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_OCCURRENCE', 6295 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT'] * 6296 TYPEOF (item)) = 1)) >= 1; 6297 WR3 : SIZEOF (QUERY (srm <* QUERY (rm <* 6298 USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6299 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') | 6300 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMBOL_REPRESENTATION_MAP' 6301 IN TYPEOF(rm))) | 6302 NOT (SIZEOF (QUERY (a_s <* QUERY (mi <* srm.map_usage | 6303 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi))) 6304 | NOT (SIZEOF (QUERY (aso <* 6305 USEDIN (a_s, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6306 'STYLED_ITEM.ITEM') | 6307 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE' 6308 IN TYPEOF(aso)))) = 0))) = 0))) > 0; 6309 WR4 : NOT (acyclic_mapped_item_usage (SELF)); 6310 WR5 : SIZEOF (SELF.context_of_items.representations_in_context) = 1; 6311END_ENTITY; 6312 6313 6314ENTITY draughting_symbol_representation 6315 SUBTYPE OF (symbol_representation); 6316UNIQUE 6317 UR1 : SELF\representation.name; 6318WHERE 6319 WR1 : SIZEOF (QUERY (item <* SELF\representation.items | 6320 NOT (SIZEOF (TYPEOF (item) * 6321 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE', 6322 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE', 6323 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE', 6324 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE', 6325 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT']) = 1) 6326 )) = 0; 6327 WR2 : SIZEOF (QUERY (item <* SELF\representation.items | 6328 (SIZEOF (TYPEOF (item) * 6329 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE', 6330 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE', 6331 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE', 6332 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE']) = 1) 6333 )) >= 1; 6334 WR3 : SIZEOF (QUERY (item <* SELF\representation.items | 6335 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE' 6336 IN TYPEOF (item))) = 0; 6337 WR4 : SIZEOF (QUERY (srm <* QUERY (rm <* 6338 USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6339 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') | 6340 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMBOL_REPRESENTATION_MAP' 6341 IN TYPEOF(rm))) | 6342 (SIZEOF (QUERY (a_s <* QUERY (mi <* srm.map_usage | 6343 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi))) | 6344 NOT (SIZEOF (QUERY(aso <* 6345 USEDIN(a_s, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 6346 'STYLED_ITEM.ITEM') | 6347 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' 6348 IN TYPEOF(aso)) 6349 )) = 0) )) = 0) )) > 0; 6350 WR5 : NOT (acyclic_mapped_item_usage (SELF)); 6351 WR6 : SIZEOF (SELF.context_of_items.representations_in_context) = 1; 6352END_ENTITY; 6353 6354 6355ENTITY draughting_text_literal_with_delineation 6356 SUBTYPE OF (text_literal_with_delineation); 6357WHERE 6358 WR1 : SELF.delineation IN ['underline', 'overline']; 6359END_ENTITY; 6360 6361 6362ENTITY draughting_title; 6363 items : SET [1:?] OF draughting_titled_item; 6364 language : label; 6365 contents : text; 6366END_ENTITY; 6367 6368 6369ENTITY drawing_definition; 6370 drawing_number : identifier; 6371 drawing_type : OPTIONAL label; 6372END_ENTITY; 6373 6374 6375ENTITY drawing_revision 6376 SUBTYPE OF (presentation_set); 6377 revision_identifier : identifier; 6378 drawing_identifier : drawing_definition; 6379 intended_scale : OPTIONAL text; 6380UNIQUE 6381 UR1 : revision_identifier, drawing_identifier; 6382END_ENTITY; 6383 6384 6385ENTITY drawing_revision_sequence; 6386 predecessor : drawing_revision; 6387 successor : drawing_revision; 6388WHERE 6389 WR1 : predecessor :<>: successor; 6390END_ENTITY; 6391 6392 6393ENTITY drawing_sheet_revision 6394 SUBTYPE OF (presentation_area); 6395 revision_identifier : identifier; 6396WHERE 6397 WR1 : SIZEOF( QUERY(item <* SELF\representation.items | 6398 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN (TYPEOF(item))) 6399 AND 6400 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN 6401 (TYPEOF(item\mapped_item.mapping_source.mapped_representation)))))=0; 6402END_ENTITY; 6403 6404 6405ENTITY drawing_sheet_revision_sequence 6406 SUBTYPE OF (representation_relationship); 6407WHERE 6408 WR1 : SELF\representation_relationship.rep_1 :<>: 6409 SELF\representation_relationship.rep_2; 6410 WR2 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' 6411 IN TYPEOF (SELF\representation_relationship.rep_1); 6412 WR3 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' 6413 IN TYPEOF (SELF\representation_relationship.rep_2); 6414END_ENTITY; 6415 6416 6417ENTITY drawing_sheet_revision_usage 6418 SUBTYPE OF (area_in_set); 6419 sheet_number : identifier; 6420UNIQUE 6421 UR1 : sheet_number, SELF\area_in_set.in_set; 6422WHERE 6423 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN 6424 TYPEOF(SELF\area_in_set.area)) 6425 AND 6426 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_REVISION' 6427 IN TYPEOF (SELF\area_in_set.in_set)); 6428END_ENTITY; 6429 6430 6431ENTITY edge 6432 SUPERTYPE OF (ONEOF (edge_curve, oriented_edge, subedge)) 6433 SUBTYPE OF (topological_representation_item); 6434 edge_start : vertex; 6435 edge_end : vertex; 6436END_ENTITY; 6437 6438 6439ENTITY edge_based_wireframe_model 6440 SUBTYPE OF (geometric_representation_item); 6441 ebwm_boundary : SET [1:?] OF connected_edge_set; 6442END_ENTITY; 6443 6444 6445ENTITY edge_based_wireframe_shape_representation 6446 SUBTYPE OF (shape_representation); 6447WHERE 6448 WR1 : SIZEOF ( 6449QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; 6450 WR2 : SIZEOF ( 6451QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1; 6452 WR3 : SIZEOF ( 6453QUERY ( ebwm <* 6454QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 6455QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( 6456QUERY ( edges <* eb.ces_edges| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (edges)) )) = 0) )) = 0) )) = 0; 6457 WR4 : SIZEOF ( 6458QUERY ( ebwm <* 6459QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 6460QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( 6461QUERY ( pline_edges <* 6462QUERY ( edges <* eb.ces_edges| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (edges\edge_curve.edge_geometry)) )| NOT ( SIZEOF (pline_edges\edge_curve.edge_geometry\polyline.points) > 2) )) = 0) )) = 0) )) = 0; 6463 WR5 : SIZEOF ( 6464QUERY ( ebwm <* 6465QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 6466QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( 6467QUERY ( edges <* eb.ces_edges| NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_start)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_end))) )) = 0) )) = 0) )) = 0; 6468 WR6 : SIZEOF ( 6469QUERY ( ebwm <* 6470QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 6471QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( 6472QUERY ( edges <* eb.ces_edges| NOT valid_wireframe_edge_curve(edges\edge_curve.edge_geometry) )) = 0) )) = 0) )) = 0; 6473 WR7 : SIZEOF ( 6474QUERY ( ebwm <* 6475QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 6476QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( 6477QUERY ( edges <* eb.ces_edges| NOT (valid_wireframe_vertex_point(edges.edge_start\vertex_point.vertex_geometry) AND valid_wireframe_vertex_point(edges.edge_end\vertex_point.vertex_geometry)) )) = 0) )) = 0) )) = 0; 6478 WR8 : SIZEOF ( 6479QUERY ( mi <* 6480QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; 6481 WR9 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; 6482END_ENTITY; 6483 6484 6485ENTITY edge_blended_solid 6486 ABSTRACT SUPERTYPE OF ((track_blended_solid ANDOR ONEOF (solid_with_constant_radius_edge_blend, solid_with_variable_radius_edge_blend, solid_with_chamfered_edges))) 6487 SUBTYPE OF (modified_solid); 6488 blended_edges : LIST [1:?] OF UNIQUE edge_curve; 6489END_ENTITY; 6490 6491 6492ENTITY edge_curve 6493 SUBTYPE OF (edge, geometric_representation_item); 6494 edge_geometry : curve; 6495 same_sense : BOOLEAN; 6496END_ENTITY; 6497 6498 6499ENTITY edge_loop 6500 SUBTYPE OF (loop, path); 6501DERIVE 6502 ne : INTEGER := SIZEOF(SELF\path.edge_list); 6503WHERE 6504 WR1 : (SELF\path.edge_list[1].edge_start) :=: 6505 (SELF\path.edge_list[ne].edge_end); 6506END_ENTITY; 6507 6508 6509ENTITY edge_segment_cross_section 6510 SUBTYPE OF (shape_definition_3d_intersection); 6511END_ENTITY; 6512 6513 6514ENTITY edge_segment_vertex 6515 SUBTYPE OF (datum); 6516END_ENTITY; 6517 6518 6519ENTITY effectivity 6520 SUPERTYPE OF (ONEOF (serial_numbered_effectivity, dated_effectivity, lot_effectivity, time_interval_based_effectivity)); 6521 id : identifier; 6522DERIVE 6523 description : text := get_description_value(SELF); 6524 name : label := get_name_value(SELF); 6525WHERE 6526 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; 6527 WR2 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 6528END_ENTITY; 6529 6530 6531ENTITY effectivity_assignment 6532 ABSTRACT SUPERTYPE; 6533 assigned_effectivity : effectivity; 6534DERIVE 6535 role : object_role := get_role(SELF); 6536WHERE 6537 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; 6538END_ENTITY; 6539 6540 6541ENTITY effectivity_context_assignment 6542 ABSTRACT SUPERTYPE; 6543 assigned_effectivity_assignment : effectivity_assignment; 6544 role : effectivity_context_role; 6545END_ENTITY; 6546 6547 6548ENTITY effectivity_context_role; 6549 name : label; 6550 description : OPTIONAL text; 6551END_ENTITY; 6552 6553 6554ENTITY effectivity_relationship; 6555 name : label; 6556 description : OPTIONAL text; 6557 related_effectivity : effectivity; 6558 relating_effectivity : effectivity; 6559END_ENTITY; 6560 6561 6562ENTITY electric_charge_measure_with_unit 6563 SUBTYPE OF (measure_with_unit); 6564WHERE 6565 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_CHARGE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 6566END_ENTITY; 6567 6568 6569ENTITY electric_charge_unit 6570 SUBTYPE OF (derived_unit); 6571WHERE 6572 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.coulomb); 6573END_ENTITY; 6574 6575 6576ENTITY electric_current_measure_with_unit 6577 SUBTYPE OF (measure_with_unit); 6578WHERE 6579 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_CURRENT_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 6580END_ENTITY; 6581 6582 6583ENTITY electric_current_unit 6584 SUBTYPE OF (named_unit); 6585WHERE 6586 WR1 : (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 1.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); 6587END_ENTITY; 6588 6589 6590ENTITY electric_potential_measure_with_unit 6591 SUBTYPE OF (measure_with_unit); 6592WHERE 6593 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_POTENTIAL_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 6594END_ENTITY; 6595 6596 6597ENTITY electric_potential_unit 6598 SUBTYPE OF (derived_unit); 6599WHERE 6600 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.volt); 6601END_ENTITY; 6602 6603 6604ENTITY electrical_isolation_laminate_component 6605 SUBTYPE OF (material_removal_laminate_component); 6606END_ENTITY; 6607 6608 6609ENTITY electrical_isolation_removal_template 6610 SUBTYPE OF (material_removal_feature_template); 6611END_ENTITY; 6612 6613 6614ENTITY electrical_network 6615 SUBTYPE OF (functional_unit); 6616END_ENTITY; 6617 6618 6619ENTITY electromagnetic_compatibility_requirement_allocation 6620 SUPERTYPE OF (assembly_shield_allocation) 6621 SUBTYPE OF (requirement_assignment); 6622END_ENTITY; 6623 6624 6625ENTITY elementary_brep_shape_representation 6626 SUBTYPE OF (shape_representation); 6627WHERE 6628 WR1 : SIZEOF (QUERY (it <* SELF.items | 6629 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', 6630 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP', 6631 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 6632 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * 6633 TYPEOF(it)) = 1))) = 0; 6634 WR2 : SIZEOF (QUERY (it <* SELF.items | 6635 SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', 6636 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0; 6637 WR3 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | 6638 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | 6639 NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | 6640 NOT (SIZEOF (QUERY(fcs <* csh.cfs_faces | 6641 NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(fcs)))) = 0 6642 ))) = 0 6643 ))) = 0; 6644 WR4 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | 6645 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | 6646 NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | 6647 NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | 6648 NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN 6649 TYPEOF(fcs\face_surface.face_geometry)) 6650 ))) = 0 6651 ))) = 0 6652 ))) = 0; 6653 WR5 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | 6654 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | 6655 NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | 6656 NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | 6657 NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | 6658 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | 6659 NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | 6660 NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN 6661 TYPEOF(oe.edge_element)))) = 0 6662 ))) = 0 6663 ))) = 0 6664 ))) = 0 6665 ))) = 0; 6666 WR6 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | 6667 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | 6668 NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | 6669 NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | 6670 NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | 6671 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | 6672 NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | 6673 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 6674 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 6675 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE'] * 6676 TYPEOF(oe.edge_element\edge_curve.edge_geometry)) = 1 ) 6677 )) = 0 6678 ))) = 0 6679 ))) = 0 6680 ))) = 0 6681 ))) = 0; 6682 WR7 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | 6683 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | 6684 NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | 6685 NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | 6686 NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | 6687 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | 6688 NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | 6689 NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start)) 6690 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN 6691 TYPEOF(oe.edge_end)) 6692 ))) = 0 6693 ))) = 0 6694 ))) = 0 6695 ))) = 0 6696 ))) = 0; 6697 WR8 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | 6698 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | 6699 NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | 6700 NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | 6701 NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | 6702 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | 6703 NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | 6704 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN 6705 TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND 6706 (NOT (SIZEOF (oe\oriented_edge.edge_element\ 6707 edge_curve.edge_geometry\polyline.points) >= 3)) 6708 )) = 0 6709 ))) = 0 6710 ))) = 0 6711 ))) = 0 6712 ))) = 0; 6713 WR9 : SIZEOF (QUERY (msb <* QUERY (it <* items | 6714 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | 6715 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF 6716 (msb\manifold_solid_brep.outer))) 6717 = 0; 6718 WR10 : SIZEOF (QUERY (brv <* QUERY (it <* items | 6719 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF(it)) | 6720 NOT (SIZEOF (QUERY (csh <* brv\brep_with_voids.voids | 6721 csh\oriented_closed_shell.orientation)) = 0))) = 0; 6722 WR11 : SIZEOF (QUERY (mi <* QUERY (it <* items | 6723 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | 6724 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION' IN 6725 TYPEOF(mi\mapped_item.mapping_source. 6726 mapped_representation)))) = 0; 6727 WR12 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | 6728 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | 6729 NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | 6730 NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | 6731 NOT (SIZEOF(QUERY (vlp_fbnds <* QUERY (bnds <* fcs.bounds | 6732 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF(bnds.bound)) | 6733 NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN 6734 TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND 6735 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN 6736 TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop. 6737 loop_vertex\vertex_point.vertex_geometry)) 6738 ))) = 0))) = 0))) = 0))) =0; 6739END_ENTITY; 6740 6741 6742ENTITY elementary_surface 6743 SUPERTYPE OF (ONEOF (plane, cylindrical_surface, conical_surface, spherical_surface, toroidal_surface)) 6744 SUBTYPE OF (surface); 6745 position : axis2_placement_3d; 6746END_ENTITY; 6747 6748 6749ENTITY ellipse 6750 SUBTYPE OF (conic); 6751 semi_axis_1 : positive_length_measure; 6752 semi_axis_2 : positive_length_measure; 6753END_ENTITY; 6754 6755 6756ENTITY elliptic_area 6757 SUBTYPE OF (primitive_2d); 6758 position : axis2_placement_2d; 6759 semi_axis_1 : positive_length_measure; 6760 semi_axis_2 : positive_length_measure; 6761END_ENTITY; 6762 6763 6764ENTITY energy_measure_with_unit 6765 SUBTYPE OF (measure_with_unit); 6766WHERE 6767 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ENERGY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 6768END_ENTITY; 6769 6770 6771ENTITY energy_unit 6772 SUBTYPE OF (derived_unit); 6773WHERE 6774 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.joule); 6775END_ENTITY; 6776 6777 6778ENTITY entity_assertion 6779 SUBTYPE OF (fact_type); 6780END_ENTITY; 6781 6782 6783ENTITY enum_reference_prefix 6784 SUBTYPE OF (descriptive_representation_item); 6785END_ENTITY; 6786 6787 6788ENTITY environment; 6789 syntactic_representation : generic_variable; 6790 semantics : variable_semantics; 6791END_ENTITY; 6792 6793 6794ENTITY equivalent_stackup_model_definition 6795 SUBTYPE OF (product_definition, product_definition_relationship); 6796 SELF\product_definition_relationship.related_product_definition : stratum_stack_model; 6797 SELF\product_definition_relationship.relating_product_definition : stratum_stack_model; 6798DERIVE 6799 equivalent_stackup_model : stratum_stack_model := SELF\product_definition_relationship.related_product_definition; 6800 primary_stackup_model : stratum_stack_model := SELF\product_definition_relationship.relating_product_definition; 6801WHERE 6802 WR1 : primary_stackup_model :<>: equivalent_stackup_model; 6803END_ENTITY; 6804 6805 6806ENTITY equivalent_sub_stack_definition 6807 SUBTYPE OF (product_definition); 6808END_ENTITY; 6809 6810 6811ENTITY evaluated_characteristic 6812 SUBTYPE OF (representation, representation_relationship); 6813UNIQUE 6814 UR1: SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; 6815WHERE 6816 WR1 : SELF\representation_relationship.rep_1 <> 6817 SELF\representation_relationship.rep_2; 6818END_ENTITY; 6819 6820 6821ENTITY evaluated_degenerate_pcurve 6822 SUBTYPE OF (degenerate_pcurve); 6823 equivalent_point : cartesian_point; 6824END_ENTITY; 6825 6826 6827ENTITY evaluation_product_definition 6828 SUBTYPE OF (product_definition); 6829END_ENTITY; 6830 6831 6832ENTITY event_occurrence; 6833 id : identifier; 6834 name : label; 6835 description : OPTIONAL text; 6836END_ENTITY; 6837 6838 6839ENTITY event_occurrence_assignment 6840 ABSTRACT SUPERTYPE; 6841 assigned_event_occurrence : event_occurrence; 6842 role : event_occurrence_role; 6843END_ENTITY; 6844 6845 6846ENTITY event_occurrence_relationship; 6847 name : label; 6848 description : OPTIONAL text; 6849 relating_event : event_occurrence; 6850 related_event : event_occurrence; 6851END_ENTITY; 6852 6853 6854ENTITY event_occurrence_role; 6855 name : label; 6856 description : OPTIONAL text; 6857END_ENTITY; 6858 6859 6860ENTITY exclusive_product_concept_feature_category 6861 SUBTYPE OF (product_concept_feature_category); 6862END_ENTITY; 6863 6864 6865ENTITY executed_action 6866 SUBTYPE OF (action); 6867END_ENTITY; 6868 6869 6870ENTITY expanded_uncertainty 6871 SUBTYPE OF (standard_uncertainty); 6872 coverage_factor : REAL; 6873END_ENTITY; 6874 6875 6876ENTITY explicit_procedural_geometric_representation_item_relationship 6877 SUBTYPE OF (explicit_procedural_representation_item_relationship); 6878 SELF\representation_item_relationship.related_representation_item : geometric_representation_item; 6879 SELF\representation_item_relationship.relating_representation_item : procedural_shape_representation_sequence; 6880WHERE 6881 WR1 : NOT ( 6882 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION_SEQUENCE' 6883 IN TYPEOF( 6884 SELF\representation_item_relationship.related_representation_item)); 6885END_ENTITY; 6886 6887 6888ENTITY explicit_procedural_representation_item_relationship 6889 SUBTYPE OF (representation_item_relationship); 6890 SELF\representation_item_relationship.relating_representation_item : procedural_representation_sequence; 6891WHERE 6892 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCEDURAL_REPRESENTATION_SEQUENCE' 6893 IN TYPEOF( 6894 SELF\representation_item_relationship.related_representation_item)); 6895 WR2 : SIZEOF(QUERY(q <* using_representations( 6896 SELF\representation_item_relationship.related_representation_item) | 6897 item_in_context( 6898 SELF\representation_item_relationship.relating_representation_item, 6899 q.context_of_items))) > 0; 6900END_ENTITY; 6901 6902 6903ENTITY explicit_procedural_representation_relationship 6904 SUBTYPE OF (representation_relationship); 6905 SELF\representation_relationship.rep_1 : procedural_representation; 6906WHERE 6907 WR1 : (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCEDURAL_REPRESENTATION' 6908 IN TYPEOF(SELF\representation_relationship.rep_2))) AND 6909 (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION' 6910 IN TYPEOF(SELF\representation_relationship.rep_2))); 6911 WR2 : SELF\representation_relationship.rep_1.context_of_items :=: 6912 SELF\representation_relationship.rep_2.context_of_items; 6913END_ENTITY; 6914 6915 6916ENTITY explicit_procedural_shape_representation_relationship 6917 SUBTYPE OF (explicit_procedural_representation_relationship); 6918 SELF\representation_relationship.rep_1 : procedural_shape_representation; 6919 SELF\representation_relationship.rep_2 : shape_representation; 6920END_ENTITY; 6921 6922 6923ENTITY expression 6924 ABSTRACT SUPERTYPE OF (ONEOF (numeric_expression, boolean_expression)) 6925 SUBTYPE OF (generic_expression); 6926END_ENTITY; 6927 6928 6929ENTITY expression_conversion_based_unit 6930 SUBTYPE OF (context_dependent_unit, variable_semantics); 6931INVERSE 6932 associated_variable_environment: environment FOR semantics; 6933END_ENTITY; 6934 6935 6936ENTITY extension 6937 SUBTYPE OF (derived_shape_aspect); 6938WHERE 6939 WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; 6940END_ENTITY; 6941 6942 6943ENTITY extent 6944 SUBTYPE OF (characterized_object); 6945END_ENTITY; 6946 6947 6948ENTITY external_class_library 6949 SUBTYPE OF (external_source); 6950END_ENTITY; 6951 6952 6953ENTITY external_identification_assignment 6954 ABSTRACT SUPERTYPE 6955 SUBTYPE OF (identification_assignment); 6956 source : external_source; 6957END_ENTITY; 6958 6959 6960ENTITY external_source; 6961 source_id : source_item; 6962DERIVE 6963 description : text := get_description_value(SELF); 6964WHERE 6965 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 6966END_ENTITY; 6967 6968 6969ENTITY external_source_relationship; 6970 name : label; 6971 description : OPTIONAL text; 6972 relating_source : external_source; 6973 related_source : external_source; 6974END_ENTITY; 6975 6976 6977ENTITY externally_defined_class 6978 SUBTYPE OF (class, externally_defined_item); 6979END_ENTITY; 6980 6981 6982ENTITY externally_defined_colour 6983 SUBTYPE OF (colour_specification, externally_defined_item); 6984END_ENTITY; 6985 6986 6987ENTITY externally_defined_context_dependent_unit 6988 SUBTYPE OF (context_dependent_unit, externally_defined_item); 6989END_ENTITY; 6990 6991 6992ENTITY externally_defined_conversion_based_unit 6993 SUBTYPE OF (conversion_based_unit, externally_defined_item); 6994END_ENTITY; 6995 6996 6997ENTITY externally_defined_currency 6998 SUBTYPE OF (currency, externally_defined_context_dependent_unit); 6999END_ENTITY; 7000 7001 7002ENTITY externally_defined_curve_font 7003 SUBTYPE OF (externally_defined_item); 7004END_ENTITY; 7005 7006 7007ENTITY externally_defined_dimension_definition 7008 SUBTYPE OF (dimensional_size, externally_defined_item); 7009WHERE 7010 WR1 : (SELF\externally_defined_item.item_id = 'external size dimension') AND (SELF\externally_defined_item.source.source_id = 'external size dimension specification'); 7011 WR2 : 1 >= SIZEOF(QUERY ( adr <* USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS')| (adr.assigned_document.description = 'external size dimension specification') )); 7012END_ENTITY; 7013 7014 7015ENTITY externally_defined_general_property 7016 SUBTYPE OF (general_property, externally_defined_item); 7017END_ENTITY; 7018 7019 7020ENTITY externally_defined_hatch_style 7021 SUBTYPE OF (externally_defined_item, geometric_representation_item); 7022END_ENTITY; 7023 7024 7025ENTITY externally_defined_item; 7026 item_id : source_item; 7027 source : external_source; 7028END_ENTITY; 7029 7030 7031ENTITY externally_defined_item_relationship; 7032 name : label; 7033 description : OPTIONAL text; 7034 relating_item : externally_defined_item; 7035 related_item : externally_defined_item; 7036END_ENTITY; 7037 7038 7039ENTITY externally_defined_marker 7040 SUBTYPE OF (externally_defined_symbol, pre_defined_marker); 7041END_ENTITY; 7042 7043 7044ENTITY externally_defined_physical_network_group 7045 SUBTYPE OF (physical_network_group); 7046END_ENTITY; 7047 7048 7049ENTITY externally_defined_physical_network_group_element_relationship 7050 SUBTYPE OF (physical_network_group_element_relationship); 7051END_ENTITY; 7052 7053 7054ENTITY externally_defined_picture_representation_item 7055 SUBTYPE OF (picture_representation_item); 7056INVERSE 7057 source: applied_external_identification_assignment FOR items; 7058WHERE 7059 WR1 : NOT (SELF\representation_item.name IN pre_defined_picture_representation_types); 7060END_ENTITY; 7061 7062 7063ENTITY externally_defined_product_definition 7064 SUPERTYPE OF (library_defined_product_definition) 7065 SUBTYPE OF (product_definition, externally_defined_item); 7066END_ENTITY; 7067 7068 7069ENTITY externally_defined_representation_item 7070 SUBTYPE OF (representation_item, externally_defined_item); 7071END_ENTITY; 7072 7073 7074ENTITY externally_defined_string 7075 SUBTYPE OF (externally_defined_representation_item); 7076END_ENTITY; 7077 7078 7079ENTITY externally_defined_symbol 7080 SUBTYPE OF (externally_defined_item); 7081END_ENTITY; 7082 7083 7084ENTITY externally_defined_terminator_symbol 7085 SUBTYPE OF (externally_defined_symbol); 7086END_ENTITY; 7087 7088 7089ENTITY externally_defined_text_font 7090 SUBTYPE OF (externally_defined_item); 7091END_ENTITY; 7092 7093 7094ENTITY externally_defined_tile 7095 SUBTYPE OF (externally_defined_item); 7096END_ENTITY; 7097 7098 7099ENTITY externally_defined_tile_style 7100 SUBTYPE OF (externally_defined_item, geometric_representation_item); 7101END_ENTITY; 7102 7103 7104ENTITY extruded_area_solid 7105 SUBTYPE OF (swept_area_solid); 7106 extruded_direction : direction; 7107 depth : positive_length_measure; 7108WHERE 7109 WR1 : dot_product( 7110 (SELF\swept_area_solid.swept_area.basis_surface\ 7111 elementary_surface.position.p[3]), extruded_direction) <> 0.0; 7112END_ENTITY; 7113 7114 7115ENTITY extruded_face_solid 7116 SUBTYPE OF (swept_face_solid); 7117 extruded_direction : direction; 7118 depth : positive_length_measure; 7119WHERE 7120 WR1 : dot_product( 7121 (SELF\swept_face_solid.swept_face.face_geometry\ 7122 elementary_surface.position.p[3]), extruded_direction) <> 0.0; 7123END_ENTITY; 7124 7125 7126ENTITY extruded_face_solid_with_draft_angle 7127 SUBTYPE OF (extruded_face_solid_with_trim_conditions); 7128 draft_angle : plane_angle_measure; 7129WHERE 7130 WR1 : draft_angle <> 0; 7131END_ENTITY; 7132 7133 7134ENTITY extruded_face_solid_with_multiple_draft_angles 7135 SUBTYPE OF (extruded_face_solid_with_trim_conditions); 7136 drafted_edges : LIST [2:?] OF SET [1:?] OF edge_curve; 7137 draft_angles : LIST [2:?] OF plane_angle_measure; 7138WHERE 7139 WR1 : SIZEOF(drafted_edges) = SIZEOF(draft_angles); 7140 WR2 : SIZEOF(QUERY(q <* draft_angles | q = 0)) = 0; 7141 WR3 : SIZEOF(QUERY(q <* drafted_edges | (SIZEOF(QUERY(r <* q | NOT 7142 (SELF\swept_face_solid.swept_face IN 7143 using_items(r,[])))) > 0))) = 0; 7144END_ENTITY; 7145 7146 7147ENTITY extruded_face_solid_with_trim_conditions 7148 SUPERTYPE OF (ONEOF (extruded_face_solid_with_draft_angle, extruded_face_solid_with_multiple_draft_angles)) 7149 SUBTYPE OF (extruded_face_solid); 7150 first_trim_condition : trim_condition_select; 7151 second_trim_condition : trim_condition_select; 7152 first_trim_intent : trim_intent; 7153 second_trim_intent : trim_intent; 7154 first_offset : non_negative_length_measure; 7155 second_offset : non_negative_length_measure; 7156WHERE 7157 WR1 : NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' 7158 IN TYPEOF(first_trim_condition)) OR 7159 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' 7160 IN TYPEOF(second_trim_condition))); 7161 WR2 : NOT ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' 7162 IN TYPEOF(first_trim_condition)) AND 7163 ((first_trim_intent = trim_intent.offset) 7164 OR (first_trim_intent = trim_intent.up_to_next))) OR 7165 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' 7166 IN TYPEOF(second_trim_condition)) AND 7167 ((second_trim_intent = trim_intent.offset) 7168 OR (second_trim_intent = trim_intent.up_to_next)))); 7169 WR3 : NOT (((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' 7170 IN TYPEOF(first_trim_condition))) AND 7171 ((first_trim_intent = trim_intent.blind) 7172 OR (first_trim_intent = trim_intent.through_all))) OR 7173 ((NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' 7174 IN TYPEOF(second_trim_condition))) AND 7175 ((second_trim_intent = trim_intent.blind) 7176 OR (second_trim_intent = trim_intent.through_all)))); 7177 WR4 : (((first_trim_intent = trim_intent.offset) 7178 AND (first_offset > 0)) XOR 7179 ((first_trim_intent <> trim_intent.offset) 7180 AND (first_offset = 0))) AND 7181 (((second_trim_intent = trim_intent.offset) 7182 AND (second_offset > 0)) XOR 7183 ((second_trim_intent <> trim_intent.offset) 7184 AND (second_offset = 0))); 7185 WR5 : NOT((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' 7186 IN TYPEOF(first_trim_condition)) AND 7187 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' 7188 IN TYPEOF(second_trim_condition))) AND 7189 (first_trim_condition = second_trim_condition)); 7190END_ENTITY; 7191 7192 7193ENTITY fabrication_joint 7194 SUBTYPE OF (component_feature_joint); 7195WHERE 7196 WR1 : acyclic_shape_aspect_relationship(SELF, 7197 [SELF\shape_aspect_relationship.related_shape_aspect], 7198 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 7199 'FABRICATION_JOINT'); 7200END_ENTITY; 7201 7202 7203ENTITY face 7204 SUPERTYPE OF (ONEOF (face_surface, subface, oriented_face)) 7205 SUBTYPE OF (topological_representation_item); 7206 bounds : SET [1:?] OF face_bound; 7207WHERE 7208 WR1 : NOT (mixed_loop_type_set(list_to_set(list_face_loops(SELF)))); 7209 WR2 : SIZEOF(QUERY(temp <* bounds | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN 7210 TYPEOF(temp))) <= 1; 7211END_ENTITY; 7212 7213 7214ENTITY face_based_surface_model 7215 SUBTYPE OF (geometric_representation_item); 7216 fbsm_faces : SET [1:?] OF connected_face_set; 7217END_ENTITY; 7218 7219 7220ENTITY face_bound 7221 SUBTYPE OF (topological_representation_item); 7222 bound : loop; 7223 orientation : BOOLEAN; 7224END_ENTITY; 7225 7226 7227ENTITY face_outer_bound 7228 SUBTYPE OF (face_bound); 7229END_ENTITY; 7230 7231 7232ENTITY face_surface 7233 SUBTYPE OF (face, geometric_representation_item); 7234 face_geometry : surface; 7235 same_sense : BOOLEAN; 7236WHERE 7237 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_SURFACE' IN TYPEOF(face_geometry)); 7238END_ENTITY; 7239 7240 7241ENTITY faceted_brep 7242 SUBTYPE OF (manifold_solid_brep); 7243END_ENTITY; 7244 7245 7246ENTITY faceted_brep_shape_representation 7247 SUBTYPE OF (shape_representation); 7248WHERE 7249 WR1 : SIZEOF ( 7250QUERY ( it <* items| NOT ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; 7251 WR2 : SIZEOF ( 7252QUERY ( it <* items| ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0; 7253 WR3 : SIZEOF ( 7254QUERY ( fbrep <* 7255QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( 7256QUERY ( csh <* msb_shells(fbrep)| NOT ( SIZEOF ( 7257QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF (fcs)) AND (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF (fcs\face_surface.face_geometry)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (fcs\face_surface.face_geometry\elementary_surface.position.location)))) )) = 0) )) = 0) )) = 0; 7258 WR4 : SIZEOF ( 7259QUERY ( fbrep <* 7260QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( 7261QUERY ( csh <* msb_shells(fbrep)| NOT ( SIZEOF ( 7262QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT ( SIZEOF ( 7263QUERY ( bnds <* fcs.bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF (bnds)) )) = 1) )) = 0) )) = 0) )) = 0; 7264 WR5 : SIZEOF ( 7265QUERY ( msb <* 7266QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0; 7267 WR6 : SIZEOF ( 7268QUERY ( brv <* 7269QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF (it)) )| NOT ( SIZEOF ( 7270QUERY ( csh <* brv\brep_with_voids.voids| csh\oriented_closed_shell.orientation )) = 0) )) = 0; 7271 WR7 : SIZEOF ( 7272QUERY ( mi <* 7273QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; 7274END_ENTITY; 7275 7276 7277ENTITY fact_type 7278 SUBTYPE OF (property_definition); 7279END_ENTITY; 7280 7281 7282ENTITY feature_definition_with_connection_area 7283 SUBTYPE OF (shape_feature_definition); 7284END_ENTITY; 7285 7286 7287ENTITY fiducial 7288 SUBTYPE OF (laminate_component); 7289END_ENTITY; 7290 7291 7292ENTITY fiducial_part_feature 7293 SUBTYPE OF (part_tooling_feature); 7294END_ENTITY; 7295 7296 7297ENTITY fiducial_stratum_feature 7298 SUBTYPE OF (stratum_feature); 7299END_ENTITY; 7300 7301 7302ENTITY fill_area_style 7303 SUBTYPE OF (founded_item); 7304 name : label; 7305 fill_styles : SET [1:?] OF fill_style_select; 7306WHERE 7307 WR1 : SIZEOF(QUERY(fill_style <* SELF.fill_styles | 7308 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 7309 'FILL_AREA_STYLE_COLOUR' IN 7310 TYPEOF(fill_style) 7311 )) <= 1; 7312END_ENTITY; 7313 7314 7315ENTITY fill_area_style_colour; 7316 name : label; 7317 fill_colour : colour; 7318END_ENTITY; 7319 7320 7321ENTITY fill_area_style_hatching 7322 SUBTYPE OF (geometric_representation_item); 7323 hatch_line_appearance : curve_style; 7324 start_of_next_hatch_line : one_direction_repeat_factor; 7325 point_of_reference_hatch_line : cartesian_point; 7326 pattern_start : cartesian_point; 7327 hatch_line_angle : plane_angle_measure; 7328END_ENTITY; 7329 7330 7331ENTITY fill_area_style_tile_coloured_region 7332 SUBTYPE OF (geometric_representation_item); 7333 closed_curve : curve_or_annotation_curve_occurrence; 7334 region_colour : colour; 7335WHERE 7336 WR1 : (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF (closed_curve))) OR 7337 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' IN TYPEOF (closed_curve)) OR 7338 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE' IN TYPEOF (closed_curve)) OR 7339 ( ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (closed_curve)) 7340 AND (closed_curve\b_spline_curve.closed_curve = TRUE) ) OR 7341 ( ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (closed_curve)) 7342 AND (closed_curve\composite_curve.closed_curve = TRUE) ) OR 7343 ( ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (closed_curve)) 7344 AND (closed_curve\polyline.points[LOINDEX(closed_curve\polyline.points)] = 7345 closed_curve\polyline.points[HIINDEX(closed_curve\polyline.points)]) ); 7346END_ENTITY; 7347 7348 7349ENTITY fill_area_style_tile_curve_with_style 7350 SUBTYPE OF (geometric_representation_item); 7351 styled_curve : annotation_curve_occurrence; 7352END_ENTITY; 7353 7354 7355ENTITY fill_area_style_tile_symbol_with_style 7356 SUBTYPE OF (geometric_representation_item); 7357 symbol : annotation_symbol_occurrence; 7358END_ENTITY; 7359 7360 7361ENTITY fill_area_style_tiles 7362 SUBTYPE OF (geometric_representation_item); 7363 tiling_pattern : two_direction_repeat_factor; 7364 tiles : SET [1:?] OF fill_area_style_tile_shape_select; 7365 tiling_scale : positive_ratio_measure; 7366END_ENTITY; 7367 7368 7369ENTITY fill_area_template 7370 SUBTYPE OF (parametric_template); 7371END_ENTITY; 7372 7373 7374ENTITY filled_via 7375 SUBTYPE OF (via); 7376END_ENTITY; 7377 7378 7379ENTITY flat_pattern_ply_representation_relationship 7380 SUBTYPE OF (shape_representation_relationship); 7381WHERE 7382 WR1 : 'AP210_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION' IN 7383 (TYPEOF (SELF\representation_relationship.rep_1) * 7384 TYPEOF (SELF\representation_relationship.rep_2)); 7385 WR2 : SELF\representation_relationship.rep_1. 7386 context_of_items\geometric_representation_context. 7387 coordinate_space_dimension = 3; 7388END_ENTITY; 7389 7390 7391ENTITY flatness_tolerance 7392 SUBTYPE OF (geometric_tolerance); 7393WHERE 7394 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); 7395END_ENTITY; 7396 7397 7398ENTITY footprint_definition 7399 SUBTYPE OF (generic_footprint_definition); 7400END_ENTITY; 7401 7402 7403ENTITY footprint_library_stratum_technology 7404 SUBTYPE OF (stratum_technology); 7405END_ENTITY; 7406 7407 7408ENTITY footprint_occurrence 7409 SUBTYPE OF (structured_layout_component); 7410END_ENTITY; 7411 7412 7413ENTITY footprint_occurrence_product_definition_relationship 7414 SUBTYPE OF (structured_layout_component_sub_assembly_relationship); 7415END_ENTITY; 7416 7417 7418ENTITY force_measure_with_unit 7419 SUBTYPE OF (measure_with_unit); 7420WHERE 7421 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FORCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 7422END_ENTITY; 7423 7424 7425ENTITY force_unit 7426 SUBTYPE OF (derived_unit); 7427WHERE 7428 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.newton); 7429END_ENTITY; 7430 7431 7432ENTITY forward_chaining_rule 7433 SUBTYPE OF (rule_definition); 7434END_ENTITY; 7435 7436 7437ENTITY forward_chaining_rule_premise 7438 SUBTYPE OF (property_definition, property_definition_representation, representation); 7439END_ENTITY; 7440 7441 7442ENTITY founded_item 7443 SUPERTYPE OF (ONEOF (character_glyph_style_outline, character_glyph_style_stroke, curve_style, curve_style_font, curve_style_font_and_scaling, curve_style_font_pattern, fill_area_style, point_style, presentation_style_assignment, surface_side_style, surface_style_boundary, surface_style_control_grid, surface_style_fill_area, surface_style_parameter_line, surface_style_segmentation_curve, surface_style_silhouette, surface_style_usage, symbol_style, text_style)); 7444DERIVE 7445 users : SET [0:?] OF founded_item_select := using_items(SELF,[]); 7446WHERE 7447 WR1 : SIZEOF(users) > 0; 7448 WR2 : NOT(SELF IN users); 7449END_ENTITY; 7450 7451 7452ENTITY frequency_measure_with_unit 7453 SUBTYPE OF (measure_with_unit); 7454WHERE 7455 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FREQUENCY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 7456END_ENTITY; 7457 7458 7459ENTITY frequency_unit 7460 SUBTYPE OF (derived_unit); 7461WHERE 7462 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.hertz); 7463END_ENTITY; 7464 7465 7466ENTITY frozen_assignment 7467 SUBTYPE OF (approval_assignment); 7468 items : SET [1:?] OF managed_design_object; 7469END_ENTITY; 7470 7471 7472ENTITY func 7473 SUBTYPE OF (compound_representation_item); 7474END_ENTITY; 7475 7476 7477ENTITY functional_breakdown_context 7478 SUBTYPE OF (breakdown_context); 7479END_ENTITY; 7480 7481 7482ENTITY functional_element_usage 7483 SUBTYPE OF (breakdown_element_usage); 7484END_ENTITY; 7485 7486 7487ENTITY functional_specification 7488 SUBTYPE OF (representation); 7489END_ENTITY; 7490 7491 7492ENTITY functional_specification_definition 7493 SUBTYPE OF (functional_unit); 7494END_ENTITY; 7495 7496 7497ENTITY functional_terminal_group 7498 SUBTYPE OF (group); 7499UNIQUE 7500 UR1 : SELF\group.name; 7501END_ENTITY; 7502 7503 7504ENTITY functional_unit 7505 SUBTYPE OF (product_definition, product_definition_shape); 7506DERIVE 7507 SELF\property_definition.definition : functional_unit := SELF; 7508WHERE 7509 WR1 : SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'NAME_ATTRIBUTE.NAMED_ITEM')) = 0; 7510 WR2 : NOT EXISTS(SELF\property_definition.description); 7511END_ENTITY; 7512 7513 7514ENTITY functional_unit_terminal_definition 7515 SUBTYPE OF (shape_aspect); 7516 SELF\shape_aspect.of_shape : functional_unit; 7517END_ENTITY; 7518 7519 7520ENTITY functionally_defined_transformation; 7521 name : label; 7522 description : OPTIONAL text; 7523END_ENTITY; 7524 7525 7526ENTITY general_material_property 7527 SUBTYPE OF (general_property); 7528WHERE 7529 WR1 : SIZEOF( QUERY( gpa <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GENERAL_PROPERTY_ASSOCIATION.BASE_DEFINITION') | 7530 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MATERIAL_PROPERTY' IN TYPEOF(gpa.derived_definition)) )) = 0; 7531END_ENTITY; 7532 7533 7534ENTITY general_property; 7535 id : identifier; 7536 name : label; 7537 description : OPTIONAL text; 7538END_ENTITY; 7539 7540 7541ENTITY general_property_association; 7542 name : label; 7543 description : OPTIONAL text; 7544 base_definition : general_property; 7545 derived_definition : derived_property_select; 7546WHERE 7547 WR1 : SIZEOF(USEDIN(derived_definition, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION')) = 1; 7548 WR2 : derived_definition.name = base_definition.name; 7549END_ENTITY; 7550 7551 7552ENTITY general_property_relationship; 7553 name : label; 7554 description : OPTIONAL text; 7555 relating_property : general_property; 7556 related_property : general_property; 7557END_ENTITY; 7558 7559 7560ENTITY generic_character_glyph_symbol 7561 ABSTRACT SUPERTYPE 7562 SUBTYPE OF (symbol_representation); 7563END_ENTITY; 7564 7565 7566ENTITY generic_expression 7567 ABSTRACT SUPERTYPE OF (ONEOF (simple_generic_expression, unary_generic_expression, binary_generic_expression, multiple_arity_generic_expression)); 7568WHERE 7569 WR1 : is_acyclic(SELF); 7570END_ENTITY; 7571 7572 7573ENTITY generic_footprint_definition 7574 ABSTRACT SUPERTYPE OF (ONEOF (footprint_definition, breakout_footprint_definition)) 7575 SUBTYPE OF (multi_stratum_structured_template); 7576END_ENTITY; 7577 7578 7579ENTITY generic_laminate_text_component 7580 ABSTRACT SUPERTYPE OF (ONEOF (additive_laminate_text_component, material_removal_laminate_text_component)) 7581 SUBTYPE OF (laminate_component); 7582END_ENTITY; 7583 7584 7585ENTITY generic_literal 7586 ABSTRACT SUPERTYPE 7587 SUBTYPE OF (simple_generic_expression); 7588END_ENTITY; 7589 7590 7591ENTITY generic_variable 7592 ABSTRACT SUPERTYPE 7593 SUBTYPE OF (simple_generic_expression); 7594INVERSE 7595 interpretation: environment FOR syntactic_representation; 7596END_ENTITY; 7597 7598 7599ENTITY geometric_alignment 7600 SUBTYPE OF (derived_shape_aspect); 7601WHERE 7602 WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)> 1; 7603END_ENTITY; 7604 7605 7606ENTITY geometric_curve_set 7607 SUBTYPE OF (geometric_set); 7608WHERE 7609 WR1 : SIZEOF(QUERY(temp <* SELF\geometric_set.elements | 7610 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF(temp))) = 0; 7611END_ENTITY; 7612 7613 7614ENTITY geometric_intersection 7615 SUBTYPE OF (derived_shape_aspect); 7616WHERE 7617 WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)> 1; 7618END_ENTITY; 7619 7620 7621ENTITY geometric_item_specific_usage 7622 SUBTYPE OF (item_identified_representation_usage); 7623 SELF\item_identified_representation_usage.definition : geometric_item_specific_usage_select; 7624 SELF\item_identified_representation_usage.identified_item : geometric_representation_item; 7625 SELF\item_identified_representation_usage.used_representation : shape_representation; 7626END_ENTITY; 7627 7628 7629ENTITY geometric_model_element_relationship 7630 SUBTYPE OF (geometric_representation_item, representation_item_relationship); 7631 SELF\representation_item_relationship.related_representation_item : geometric_representation_item; 7632 SELF\representation_item_relationship.relating_representation_item : geometric_representation_item; 7633UNIQUE 7634 UR1 : relating_representation_item, related_representation_item; 7635WHERE 7636 WR1 : SELF\representation_item_relationship.relating_representation_item :<>: 7637 SELF\representation_item_relationship.related_representation_item; 7638END_ENTITY; 7639 7640 7641ENTITY geometric_representation_context 7642 SUBTYPE OF (representation_context); 7643 coordinate_space_dimension : dimension_count; 7644END_ENTITY; 7645 7646 7647ENTITY geometric_representation_item 7648 SUPERTYPE OF (ONEOF (point, direction, vector, placement, cartesian_transformation_operator, curve, surface, edge_curve, face_surface, poly_loop, vertex_point, solid_model, boolean_result, sphere, right_circular_cone, right_circular_cylinder, torus, block, primitive_2d, right_angular_wedge, half_space_solid, half_space_2d, shell_based_surface_model, face_based_surface_model, shell_based_wireframe_model, edge_based_wireframe_model, geometric_set, camera_model, camera_model_d3_multi_clipping_intersection, camera_model_d3_multi_clipping_union, light_source)) 7649 SUBTYPE OF (representation_item); 7650DERIVE 7651 dim : dimension_count := dimension_of(SELF); 7652WHERE 7653 WR1 : SIZEOF (QUERY (using_rep <* using_representations (SELF) | 7654 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN 7655 TYPEOF (using_rep.context_of_items)))) = 0; 7656END_ENTITY; 7657 7658 7659ENTITY geometric_set 7660 SUBTYPE OF (geometric_representation_item); 7661 elements : SET [1:?] OF geometric_set_select; 7662END_ENTITY; 7663 7664 7665ENTITY geometric_template 7666 ABSTRACT SUPERTYPE 7667 SUBTYPE OF (part_template_definition); 7668END_ENTITY; 7669 7670 7671ENTITY geometric_tolerance; 7672 name : label; 7673 description : text; 7674 magnitude : measure_with_unit; 7675 toleranced_shape_aspect : shape_aspect; 7676WHERE 7677 WR1 : ('NUMBER' IN TYPEOF 7678 (magnitude\measure_with_unit.value_component)) AND 7679 (magnitude\measure_with_unit.value_component >= 0.0); 7680END_ENTITY; 7681 7682 7683ENTITY geometric_tolerance_group 7684 SUBTYPE OF (property_definition); 7685END_ENTITY; 7686 7687 7688ENTITY geometric_tolerance_relationship; 7689 name : label; 7690 description : text; 7691 relating_geometric_tolerance : geometric_tolerance; 7692 related_geometric_tolerance : geometric_tolerance; 7693END_ENTITY; 7694 7695 7696ENTITY geometric_tolerance_with_datum_reference 7697 SUBTYPE OF (geometric_tolerance); 7698 datum_system : SET [1:?] OF datum_reference; 7699END_ENTITY; 7700 7701 7702ENTITY geometric_tolerance_with_defined_unit 7703 SUBTYPE OF (geometric_tolerance); 7704 unit_size : measure_with_unit; 7705WHERE 7706 WR1 : ('NUMBER' IN TYPEOF 7707 (unit_size\measure_with_unit.value_component)) AND 7708 (unit_size\measure_with_unit.value_component > 0.0); 7709END_ENTITY; 7710 7711 7712ENTITY geometrical_tolerance_callout 7713 SUBTYPE OF (draughting_callout); 7714END_ENTITY; 7715 7716 7717ENTITY geometrically_bounded_2d_wireframe_representation 7718 SUBTYPE OF (shape_representation); 7719WHERE 7720 WR1 : SELF.context_of_items\geometric_representation_context. 7721 coordinate_space_dimension = 2; 7722 WR2 : SIZEOF (QUERY (item <* SELF.items | 7723 NOT (SIZEOF (TYPEOF (item) * 7724['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET', 7725'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D', 7726 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM']) = 1) 7727 )) = 0; 7728 WR3 : SIZEOF (QUERY (item <* SELF.items | 7729 SIZEOF (TYPEOF (item) * 7730['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET', 7731 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM']) = 1 7732 )) >= 1; 7733 WR4 : SIZEOF (QUERY (mi <* QUERY (item <* SELF.items | 7734 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 7735 IN TYPEOF (item))) | 7736 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 7737 'GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION' 7738 IN TYPEOF 7739 (mi\mapped_item.mapping_source.mapped_representation)) 7740 )) = 0; 7741 WR5 : SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items | 7742 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' 7743 IN TYPEOF (item))) | 7744 NOT (SIZEOF (QUERY (elem <* gcs\geometric_set.elements | 7745 NOT (SIZEOF (TYPEOF (elem) * 7746 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', 7747 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE', 7748 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE', 7749 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE', 7750 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_2D', 7751 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT', 7752 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', 7753 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE']) = 7754 1) 7755 )) = 0) 7756 )) = 0; 7757 WR6 : SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items | 7758 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' 7759 IN TYPEOF (item))) | 7760 NOT (SIZEOF (QUERY (crv <* 7761 QUERY (elem <* gcs\geometric_set.elements | 7762 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' 7763 IN TYPEOF (elem))) | 7764 NOT (valid_basis_curve_in_2d_wireframe 7765 (crv)) 7766 )) = 0) 7767 )) = 0; 7768 WR7 : SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items | 7769 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' 7770 IN TYPEOF (item))) | 7771 NOT (SIZEOF (QUERY (pnt <* 7772 QUERY (elem <* gcs\geometric_set.elements | 7773 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' 7774 IN TYPEOF(elem))) | 7775 NOT (SIZEOF (TYPEOF (pnt) * 7776 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', 7777 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE']) 7778 = 1) 7779 )) = 0) 7780 )) = 0; 7781END_ENTITY; 7782 7783 7784ENTITY geometrically_bounded_surface_shape_representation 7785 SUBTYPE OF (shape_representation); 7786WHERE 7787 WR1 : SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0; 7788 WR2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0; 7789 WR3 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' IN TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) AND (SIZEOF(QUERY(mr_it <* mi\mapped_item.mapping_source.mapped_representation.items | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(mr_it)))) > 0)))) = 0; 7790 WR4 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(pnt <* QUERY(gsel <* gs\geometric_set.elements | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' IN TYPEOF(gsel)) | NOT (gbsf_check_point(pnt)))) = 0))) = 0; 7791 WR5 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(cv <* QUERY(gsel <* gs\geometric_set.elements | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF(gsel)) | NOT (gbsf_check_curve(cv)))) = 0))) = 0; 7792 WR6 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(sf <* QUERY(gsel <* gs\geometric_set.elements | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF(gsel)) | NOT (gbsf_check_surface(sf)))) = 0))) = 0; 7793 WR7 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | SIZEOF(QUERY(gsel <* gs\geometric_set.elements | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF(gsel))) > 0)) > 0; 7794END_ENTITY; 7795 7796 7797ENTITY geometrically_bounded_wireframe_shape_representation 7798 SUBTYPE OF (shape_representation); 7799WHERE 7800 WR1 : SIZEOF ( 7801QUERY ( it <* SELF.items| NOT ( SIZEOF ( TYPEOF (it) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ]) = 1) )) = 0; 7802 WR2 : SIZEOF ( 7803QUERY ( it <* SELF.items| ( SIZEOF ( TYPEOF (it) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ]) = 1) )) >= 1; 7804 WR3 : SIZEOF ( 7805QUERY ( gcs <* 7806QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( 7807QUERY ( crv <* 7808QUERY ( elem <* gcs\geometric_set.elements| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_curve(crv) )) = 0) )) = 0; 7809 WR4 : SIZEOF ( 7810QUERY ( gcs <* 7811QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( 7812QUERY ( pnts <* 7813QUERY ( elem <* gcs\geometric_set.elements| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_point(pnts) )) = 0) )) = 0; 7814 WR5 : SIZEOF ( 7815QUERY ( gcs <* 7816QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( 7817QUERY ( cnc <* 7818QUERY ( elem <* gcs\geometric_set.elements| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' IN TYPEOF (elem)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (cnc\conic.position)) )) = 0) )) = 0; 7819 WR6 : SIZEOF ( 7820QUERY ( gcs <* 7821QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( 7822QUERY ( pline <* 7823QUERY ( elem <* gcs\geometric_set.elements| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (elem)) )| NOT ( SIZEOF (pline\polyline.points) > 2) )) = 0) )) = 0; 7824 WR7 : SIZEOF ( 7825QUERY ( mi <* 7826QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; 7827END_ENTITY; 7828 7829 7830ENTITY global_assignment 7831 SUBTYPE OF (representation_item_relationship); 7832END_ENTITY; 7833 7834 7835ENTITY global_uncertainty_assigned_context 7836 SUBTYPE OF (representation_context); 7837 uncertainty : SET [1:?] OF uncertainty_measure_with_unit; 7838END_ENTITY; 7839 7840 7841ENTITY global_unit_assigned_context 7842 SUBTYPE OF (representation_context); 7843 units : SET [1:?] OF unit; 7844END_ENTITY; 7845 7846 7847ENTITY ground_fact 7848 SUBTYPE OF (atomic_formula); 7849END_ENTITY; 7850 7851 7852ENTITY group; 7853 name : label; 7854 description : OPTIONAL text; 7855DERIVE 7856 id : identifier := get_id_value(SELF); 7857WHERE 7858 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; 7859END_ENTITY; 7860 7861 7862ENTITY group_assignment 7863 ABSTRACT SUPERTYPE; 7864 assigned_group : group; 7865DERIVE 7866 role : object_role := get_role(SELF); 7867WHERE 7868 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; 7869END_ENTITY; 7870 7871 7872ENTITY group_product_definition 7873 SUBTYPE OF (component_definition); 7874END_ENTITY; 7875 7876 7877ENTITY group_relationship; 7878 name : label; 7879 description : OPTIONAL text; 7880 relating_group : group; 7881 related_group : group; 7882END_ENTITY; 7883 7884 7885ENTITY group_shape_aspect 7886 SUBTYPE OF (shape_aspect); 7887END_ENTITY; 7888 7889 7890ENTITY guided_wave_terminal 7891 SUBTYPE OF (package_terminal); 7892END_ENTITY; 7893 7894 7895ENTITY half_space_2d 7896 SUBTYPE OF (geometric_representation_item); 7897 base_curve : curve; 7898 agreement_flag : BOOLEAN; 7899END_ENTITY; 7900 7901 7902ENTITY half_space_solid 7903 SUBTYPE OF (geometric_representation_item); 7904 base_surface : surface; 7905 agreement_flag : BOOLEAN; 7906END_ENTITY; 7907 7908 7909ENTITY hardness_representation 7910 SUBTYPE OF (representation); 7911WHERE 7912 WR1 : ( {2<= SIZEOF ( SELF.items ) <=4} ) AND ( SIZEOF ( QUERY ( 7913 i <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 7914 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND ( 7915 i.name IN [ 'measuring method' , 'measuring position' ] ) ) 7916 ) + SIZEOF ( QUERY ( i <* items | ( SIZEOF ( 7917 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , 7918 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) 7919 AND ( i.name IN ['depth' , 'hardness'] ) ) ) = SIZEOF ( 7920 SELF.items ) ); 7921 WR2 : SIZEOF ( QUERY ( i <* SELF.items | i.name = 7922 'measuring method' ) ) =1; 7923 WR3 : SIZEOF ( QUERY ( i <* SELF.items | i.name ='hardness' ) ) 7924 =1; 7925 WR4 : SIZEOF ( QUERY ( i <* SELF.items | i.name = 7926 'measuring position' ) ) <=1; 7927 WR5 : SIZEOF ( QUERY ( i <* SELF.items | i.name ='depth' ) ) 7928 <=1; 7929 WR6 : ( SIZEOF ( USEDIN ( SELF , 7930 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 7931 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr 7932 <* USEDIN ( SELF , 7933 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 7934 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( 7935 pdr. definition , 7936 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ 7937 'DERIVED_DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 7938 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND 7939 ( gpa. base_definition.name ='surface_condition' ) ) ) =1 ) 7940 ) =1 ); 7941END_ENTITY; 7942 7943 7944ENTITY hatch_area_template 7945 SUBTYPE OF (fill_area_template); 7946END_ENTITY; 7947 7948 7949ENTITY hatch_line_element 7950 SUBTYPE OF (geometric_representation_item, representation_item_relationship); 7951 SELF\representation_item_relationship.related_representation_item : measure_representation_item; 7952 SELF\representation_item_relationship.relating_representation_item : line; 7953END_ENTITY; 7954 7955 7956ENTITY hidden_element_over_riding_styled_item 7957 SUBTYPE OF (context_dependent_over_riding_styled_item); 7958 SELF\styled_item.item : camera_image; 7959 SELF\context_dependent_over_riding_styled_item.style_context : LIST [1:1] OF presentation_view; 7960INVERSE 7961 container: SET [1:?] OF presentation_view FOR items; 7962WHERE 7963 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAMERA_MODEL_D3_WITH_HLHSR' IN TYPEOF 7964 (SELF.item\mapped_item.mapping_source.mapping_origin); 7965END_ENTITY; 7966 7967 7968ENTITY hyperbola 7969 SUBTYPE OF (conic); 7970 semi_axis : positive_length_measure; 7971 semi_imag_axis : positive_length_measure; 7972END_ENTITY; 7973 7974 7975ENTITY id_attribute; 7976 attribute_value : identifier; 7977 identified_item : id_attribute_select; 7978END_ENTITY; 7979 7980 7981ENTITY identification_assignment 7982 ABSTRACT SUPERTYPE; 7983 assigned_id : identifier; 7984 role : identification_role; 7985END_ENTITY; 7986 7987 7988ENTITY identification_role; 7989 name : label; 7990 description : OPTIONAL text; 7991END_ENTITY; 7992 7993 7994ENTITY illuminance_measure_with_unit 7995 SUBTYPE OF (measure_with_unit); 7996WHERE 7997 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ILLUMINANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 7998END_ENTITY; 7999 8000 8001ENTITY illuminance_unit 8002 SUBTYPE OF (derived_unit); 8003WHERE 8004 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.lux); 8005END_ENTITY; 8006 8007 8008ENTITY impedance_measurement_setup_requirement 8009 SUBTYPE OF (predefined_requirement_view_definition); 8010END_ENTITY; 8011 8012 8013ENTITY impedance_requirement 8014 SUBTYPE OF (predefined_requirement_view_definition); 8015END_ENTITY; 8016 8017 8018ENTITY included_text_block 8019 SUBTYPE OF (mapped_item); 8020WHERE 8021 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRUCTURED_TEXT_REPRESENTATION' IN TYPEOF(SELF\mapped_item.mapping_source.mapped_representation); 8022END_ENTITY; 8023 8024 8025ENTITY inclusion_product_concept_feature 8026 SUBTYPE OF (conditional_concept_feature); 8027WHERE 8028 WR1 : NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PACKAGE_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( SELF ) ); 8029 WR2 : SIZEOF (QUERY 8030 ( cfr <* USEDIN 8031 ( SELF ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATING_PRODUCT_CONCEPT_FEATURE' ) 8032 | 8033 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF( cfr ) 8034 ) 8035 ) + 8036 SIZEOF(QUERY 8037 ( cfr <* USEDIN 8038 (SELF , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATED_PRODUCT_CONCEPT_FEATURE' ) 8039 | 8040 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF(cfr) 8041 ) 8042 )= 0; 8043 WR3 : SELF.condition.conditional_operator.name = 'implication'; 8044END_ENTITY; 8045 8046 8047ENTITY indirect_stratum_component_join_implementation 8048 SUBTYPE OF (plated_inter_stratum_feature); 8049END_ENTITY; 8050 8051 8052ENTITY indirectly_selected_elements 8053 SUBTYPE OF (user_selected_elements); 8054 indirectly_picked_items : SET [1:?] OF representation_item; 8055END_ENTITY; 8056 8057 8058ENTITY indirectly_selected_shape_elements 8059 SUBTYPE OF (indirectly_selected_elements, user_selected_shape_elements); 8060WHERE 8061 WR1 : SIZEOF(QUERY(q <* 8062 SELF\indirectly_selected_elements.indirectly_picked_items 8063 | NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_ITEM' 8064 IN TYPEOF(q)))) = 0; 8065END_ENTITY; 8066 8067 8068ENTITY inductance_measure_with_unit 8069 SUBTYPE OF (measure_with_unit); 8070WHERE 8071 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INDUCTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 8072END_ENTITY; 8073 8074 8075ENTITY inductance_unit 8076 SUBTYPE OF (derived_unit); 8077WHERE 8078 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.henry); 8079END_ENTITY; 8080 8081 8082ENTITY information_right 8083 SUBTYPE OF (action_method); 8084END_ENTITY; 8085 8086 8087ENTITY information_usage_right 8088 SUBTYPE OF (action_method); 8089END_ENTITY; 8090 8091 8092ENTITY instance_usage_context_assignment 8093 SUBTYPE OF (product_definition_context); 8094 items : SET [1:?] OF instance_usage_context_select; 8095END_ENTITY; 8096 8097 8098ENTITY instanced_feature 8099 SUBTYPE OF (shape_aspect, shape_feature_definition); 8100WHERE 8101 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN 8102 TYPEOF(SELF\shape_aspect.of_shape.definition); 8103 WR2 : SELF\shape_aspect.product_definitional; 8104END_ENTITY; 8105 8106 8107ENTITY int_literal 8108 SUBTYPE OF (literal_number); 8109 SELF\literal_number.the_value : INTEGER; 8110END_ENTITY; 8111 8112 8113ENTITY integer_representation_item 8114 SUBTYPE OF (representation_item, int_literal); 8115END_ENTITY; 8116 8117 8118ENTITY integral_shield 8119 SUBTYPE OF (laminate_component); 8120END_ENTITY; 8121 8122 8123ENTITY inter_stratum_feature 8124 SUPERTYPE OF (ONEOF (cutout, interconnect_module_edge)) 8125 SUBTYPE OF (laminate_component); 8126END_ENTITY; 8127 8128 8129ENTITY inter_stratum_feature_dependent_land 8130 ABSTRACT SUPERTYPE OF (ONEOF (plated_passage_dependent_land, unsupported_passage_dependent_land)) 8131 SUBTYPE OF (land); 8132END_ENTITY; 8133 8134 8135ENTITY inter_stratum_feature_edge_segment_template 8136 SUBTYPE OF (part_template_definition, shape_aspect_relationship); 8137 SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; 8138 SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; 8139WHERE 8140 WR1 : SELF\shape_aspect_relationship.relating_shape_aspect :<>: 8141 SELF\shape_aspect_relationship.related_shape_aspect; 8142END_ENTITY; 8143 8144 8145ENTITY inter_stratum_feature_edge_segment_template_with_cross_section 8146 SUBTYPE OF (inter_stratum_feature_edge_segment_template); 8147END_ENTITY; 8148 8149 8150ENTITY inter_stratum_feature_edge_template 8151 SUBTYPE OF (part_template_definition); 8152END_ENTITY; 8153 8154 8155ENTITY inter_stratum_feature_template 8156 SUPERTYPE OF (ONEOF (component_termination_passage_template, unsupported_passage_template, via_template)) 8157 SUBTYPE OF (geometric_template); 8158END_ENTITY; 8159 8160 8161ENTITY interconnect_module_component 8162 SUBTYPE OF (physical_component); 8163END_ENTITY; 8164 8165 8166ENTITY interconnect_module_component_surface_feature 8167 SUBTYPE OF (physical_component_feature); 8168END_ENTITY; 8169 8170 8171ENTITY interconnect_module_cutout_segment_surface 8172 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 8173 SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; 8174 SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; 8175WHERE 8176 WR1 : SELF\shape_aspect_relationship.relating_shape_aspect :<>: 8177 SELF\shape_aspect_relationship.related_shape_aspect; 8178END_ENTITY; 8179 8180 8181ENTITY interconnect_module_design_object_category 8182 SUBTYPE OF (characterized_object); 8183END_ENTITY; 8184 8185 8186ENTITY interconnect_module_design_view 8187 SUPERTYPE OF (layered_interconnect_module_design_view) 8188 SUBTYPE OF (physical_unit); 8189END_ENTITY; 8190 8191 8192ENTITY interconnect_module_edge 8193 SUPERTYPE OF (ONEOF (partially_plated_interconnect_module_edge, plated_interconnect_module_edge)) 8194 SUBTYPE OF (inter_stratum_feature); 8195END_ENTITY; 8196 8197 8198ENTITY interconnect_module_edge_segment 8199 SUPERTYPE OF (ONEOF (plated_interconnect_module_edge_segment, unplated_interconnect_module_edge_segment)) 8200 SUBTYPE OF (inter_stratum_feature, shape_aspect_relationship); 8201 SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; 8202 SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; 8203WHERE 8204 WR1 : SELF\shape_aspect_relationship.relating_shape_aspect :<>: 8205 SELF\shape_aspect_relationship.related_shape_aspect; 8206END_ENTITY; 8207 8208 8209ENTITY interconnect_module_edge_segment_surface 8210 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 8211 SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; 8212 SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; 8213WHERE 8214 WR1 : SELF\shape_aspect_relationship.relating_shape_aspect :<>: 8215 SELF\shape_aspect_relationship.related_shape_aspect; 8216END_ENTITY; 8217 8218 8219ENTITY interconnect_module_interface_terminal 8220 SUBTYPE OF (interconnect_module_terminal); 8221END_ENTITY; 8222 8223 8224ENTITY interconnect_module_macro_component 8225 SUBTYPE OF (physical_component); 8226END_ENTITY; 8227 8228 8229ENTITY interconnect_module_macro_component_join_terminal 8230 SUBTYPE OF (physical_component_terminal); 8231END_ENTITY; 8232 8233 8234ENTITY interconnect_module_macro_terminal 8235 SUBTYPE OF (interconnect_module_terminal); 8236END_ENTITY; 8237 8238 8239ENTITY interconnect_module_stratum_based_terminal 8240 SUBTYPE OF (interconnect_module_terminal); 8241END_ENTITY; 8242 8243 8244ENTITY interconnect_module_terminal 8245 SUPERTYPE OF (ONEOF (interconnect_module_interface_terminal, interconnect_module_macro_terminal)) 8246 SUBTYPE OF (shape_aspect); 8247END_ENTITY; 8248 8249 8250ENTITY interconnect_module_usage_view 8251 SUPERTYPE OF (layered_interconnect_module_usage_view) 8252 SUBTYPE OF (physical_unit); 8253END_ENTITY; 8254 8255 8256ENTITY interconnect_shield_allocation 8257 SUBTYPE OF (requirement_assignment); 8258END_ENTITY; 8259 8260 8261ENTITY interface_access_component_definition 8262 SUBTYPE OF (laminate_component); 8263END_ENTITY; 8264 8265 8266ENTITY interface_access_material_removal_laminate_component 8267 SUBTYPE OF (material_removal_laminate_component); 8268END_ENTITY; 8269 8270 8271ENTITY interface_access_stratum_feature_template_component 8272 SUBTYPE OF (stratum_feature_template_component); 8273END_ENTITY; 8274 8275 8276ENTITY interface_component 8277 SUBTYPE OF (physical_component); 8278END_ENTITY; 8279 8280 8281ENTITY interface_mounted_join 8282 SUBTYPE OF (shape_aspect_relationship, shape_aspect); 8283END_ENTITY; 8284 8285 8286ENTITY interface_plane 8287 SUBTYPE OF (shape_aspect); 8288END_ENTITY; 8289 8290 8291ENTITY interfaced_group_component 8292 SUBTYPE OF (assembly_group_component); 8293END_ENTITY; 8294 8295 8296ENTITY interfacial_connection 8297 SUBTYPE OF (via); 8298END_ENTITY; 8299 8300 8301ENTITY internal_probe_access_area 8302 SUBTYPE OF (probe_access_area); 8303END_ENTITY; 8304 8305 8306ENTITY intersection_curve 8307 SUBTYPE OF (surface_curve); 8308WHERE 8309 WR1 : SIZEOF(SELF\surface_curve.associated_geometry) = 2; 8310 WR2 : associated_surface(SELF\surface_curve.associated_geometry[1]) <> 8311 associated_surface(SELF\surface_curve.associated_geometry[2]); 8312END_ENTITY; 8313 8314 8315ENTITY interval_expression 8316 SUBTYPE OF (boolean_expression, multiple_arity_generic_expression); 8317DERIVE 8318 interval_high : generic_expression := SELF\multiple_arity_generic_expression.operands[3]; 8319 interval_item : generic_expression := SELF\multiple_arity_generic_expression.operands[2]; 8320 interval_low : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; 8321WHERE 8322 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPRESSION' 8323 IN TYPEOF(interval_low)) 8324 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPRESSION' 8325 IN TYPEOF(interval_item) ) 8326 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPRESSION' 8327 IN TYPEOF(interval_high)); 8328 WR2 : (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' 8329 IN TYPEOF (SELF.interval_low)) 8330 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' 8331 IN TYPEOF (SELF.interval_high)) 8332 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' 8333 IN TYPEOF (SELF.interval_item))) 8334 OR 8335 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' 8336 IN TYPEOF(SELF.interval_low)) 8337 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' 8338 IN TYPEOF(SELF.interval_item)) 8339 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' 8340 IN TYPEOF(SELF.interval_high))); 8341END_ENTITY; 8342 8343 8344ENTITY inverse_copy_stratum_technology_occurrence_relationship 8345 SUBTYPE OF (derived_stratum_technology_occurrence_relationship); 8346END_ENTITY; 8347 8348 8349ENTITY invisibility; 8350 invisible_items : SET [1:?] OF invisible_item; 8351END_ENTITY; 8352 8353 8354ENTITY iso4217_currency 8355 SUBTYPE OF (currency); 8356END_ENTITY; 8357 8358 8359ENTITY item_defined_transformation; 8360 name : label; 8361 description : OPTIONAL text; 8362 transform_item_1 : representation_item; 8363 transform_item_2 : representation_item; 8364END_ENTITY; 8365 8366 8367ENTITY item_identified_representation_usage; 8368 name : label; 8369 description : OPTIONAL text; 8370 definition : represented_definition; 8371 used_representation : representation; 8372 identified_item : representation_item; 8373WHERE 8374 WR1 : SELF.used_representation IN using_representations(SELF.identified_item); 8375END_ENTITY; 8376 8377 8378ENTITY item_restricted_requirement 8379 SUBTYPE OF (group, predefined_requirement_view_definition); 8380END_ENTITY; 8381 8382 8383ENTITY join_shape_aspect 8384 SUBTYPE OF (shape_aspect); 8385END_ENTITY; 8386 8387 8388ENTITY keepout_design_object_category 8389 SUBTYPE OF (characterized_object); 8390END_ENTITY; 8391 8392 8393ENTITY known_source 8394 SUBTYPE OF (external_source, pre_defined_item); 8395END_ENTITY; 8396 8397 8398ENTITY laid_defined_transformation 8399 SUBTYPE OF (transformation_with_derived_angle); 8400END_ENTITY; 8401 8402 8403ENTITY laminate_component 8404 SUPERTYPE OF ((ONEOF (material_removal_laminate_component, (stratum_feature_template_component ANDOR probe_access_area), inter_stratum_feature, generic_laminate_text_component, laminate_text_string_component) ANDOR fiducial)) 8405 SUBTYPE OF (assembly_component); 8406END_ENTITY; 8407 8408 8409ENTITY laminate_component_feature 8410 SUPERTYPE OF (ONEOF (laminate_component_interface_terminal, laminate_component_join_terminal)) 8411 SUBTYPE OF (component_feature); 8412END_ENTITY; 8413 8414 8415ENTITY laminate_component_interface_terminal 8416 SUBTYPE OF (laminate_component_feature); 8417END_ENTITY; 8418 8419 8420ENTITY laminate_component_join_terminal 8421 SUBTYPE OF (laminate_component_feature, component_terminal); 8422END_ENTITY; 8423 8424 8425ENTITY laminate_group_component_make_from_relationship 8426 SUBTYPE OF (make_from_usage_option); 8427 SELF\product_definition_relationship.related_product_definition : assembly_group_component; 8428 SELF\product_definition_relationship.relating_product_definition : assembly_group_component; 8429END_ENTITY; 8430 8431 8432ENTITY laminate_table 8433 SUPERTYPE OF (ONEOF (part_laminate_table, zone_structural_makeup)) 8434 SUBTYPE OF (product_definition); 8435END_ENTITY; 8436 8437 8438ENTITY laminate_text_string_component 8439 SUBTYPE OF (array_placement_group, laminate_component); 8440END_ENTITY; 8441 8442 8443ENTITY land 8444 SUPERTYPE OF (ONEOF (contact_size_dependent_land, inter_stratum_feature_dependent_land)) 8445 SUBTYPE OF (stratum_feature_template_component); 8446END_ENTITY; 8447 8448 8449ENTITY land_physical_template 8450 SUPERTYPE OF (ONEOF (default_passage_based_land_physical_template, default_attachment_size_based_land_physical_template)) 8451 SUBTYPE OF (stratum_feature_template); 8452END_ENTITY; 8453 8454 8455ENTITY land_template_terminal 8456 SUBTYPE OF (shape_aspect); 8457END_ENTITY; 8458 8459 8460ENTITY land_with_join_terminal 8461 SUBTYPE OF (land, laminate_component_join_terminal); 8462DERIVE 8463 SELF\shape_aspect.of_shape : land_with_join_terminal := SELF; 8464END_ENTITY; 8465 8466 8467ENTITY language 8468 SUBTYPE OF (group); 8469WHERE 8470 WR1 : SELF\group.name <> ''; 8471END_ENTITY; 8472 8473 8474ENTITY layer_connection_point 8475 SUBTYPE OF (shape_aspect); 8476UNIQUE 8477 UR1 : SELF\shape_aspect.name, SELF\shape_aspect.of_shape; 8478END_ENTITY; 8479 8480 8481ENTITY layer_qualified_layout_spacing_requirement 8482 SUBTYPE OF (layout_spacing_requirement); 8483END_ENTITY; 8484 8485 8486ENTITY layer_stack_region 8487 SUBTYPE OF (instanced_feature); 8488END_ENTITY; 8489 8490 8491ENTITY layered_assembly_module_design_view 8492 SUBTYPE OF (assembly_module_design_view); 8493END_ENTITY; 8494 8495 8496ENTITY layered_assembly_module_usage_view 8497 SUBTYPE OF (assembly_module_usage_view); 8498END_ENTITY; 8499 8500 8501ENTITY layered_assembly_panel_design_view 8502 SUBTYPE OF (assembly_module_design_view); 8503END_ENTITY; 8504 8505 8506ENTITY layered_interconnect_module_design_view 8507 SUPERTYPE OF (layered_interconnect_panel_design_view) 8508 SUBTYPE OF (interconnect_module_design_view); 8509END_ENTITY; 8510 8511 8512ENTITY layered_interconnect_module_usage_view 8513 SUBTYPE OF (interconnect_module_usage_view); 8514END_ENTITY; 8515 8516 8517ENTITY layered_interconnect_panel_design_view 8518 SUBTYPE OF (layered_interconnect_module_design_view); 8519END_ENTITY; 8520 8521 8522ENTITY layout_junction 8523 SUBTYPE OF (shape_aspect); 8524END_ENTITY; 8525 8526 8527ENTITY layout_macro_component 8528 SUBTYPE OF (printed_component); 8529END_ENTITY; 8530 8531 8532ENTITY layout_macro_definition 8533 SUBTYPE OF (layered_interconnect_module_design_view); 8534END_ENTITY; 8535 8536 8537ENTITY layout_macro_definition_terminal_to_usage_terminal_assignment 8538 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 8539 SELF\shape_aspect_relationship.related_shape_aspect : printed_part_template_terminal; 8540UNIQUE 8541 UR1: SELF\shape_aspect_relationship.name; 8542END_ENTITY; 8543 8544 8545ENTITY layout_macro_floor_plan_template 8546 SUBTYPE OF (printed_part_template); 8547END_ENTITY; 8548 8549 8550ENTITY layout_spacing_contextual_area 8551 SUBTYPE OF (shape_aspect); 8552END_ENTITY; 8553 8554 8555ENTITY layout_spacing_requirement 8556 SUBTYPE OF (predefined_requirement_view_definition); 8557END_ENTITY; 8558 8559 8560ENTITY leader_curve 8561 SUBTYPE OF (annotation_curve_occurrence); 8562WHERE 8563 WR1 : SIZEOF( 8564 QUERY(ldc <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 8565 'DRAUGHTING_CALLOUT.CONTENTS') 8566 | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 8567 'LEADER_DIRECTED_CALLOUT' IN TYPEOF(ldc))) >= 1; 8568END_ENTITY; 8569 8570 8571ENTITY leader_directed_callout 8572 SUBTYPE OF (draughting_callout); 8573WHERE 8574 WR1 : SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | 8575 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN (TYPEOF(l_1)))) >= 1; 8576 WR2 : SIZEOF(SELF\draughting_callout.contents) >=2; 8577END_ENTITY; 8578 8579 8580ENTITY leader_directed_dimension 8581 SUBTYPE OF (leader_directed_callout); 8582WHERE 8583 WR1 : SIZEOF (QUERY (con <* SELF.contents | 8584 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF (con)))=1; 8585END_ENTITY; 8586 8587 8588ENTITY leader_terminator 8589 SUBTYPE OF (terminator_symbol); 8590WHERE 8591 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF 8592 (SELF\terminator_symbol.annotated_curve); 8593END_ENTITY; 8594 8595 8596ENTITY length_measure_with_unit 8597 SUBTYPE OF (measure_with_unit); 8598WHERE 8599 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 8600END_ENTITY; 8601 8602 8603ENTITY length_trimmed_terminal 8604 SUBTYPE OF (altered_package_terminal); 8605END_ENTITY; 8606 8607 8608ENTITY length_unit 8609 SUBTYPE OF (named_unit); 8610WHERE 8611 WR1 : (SELF\named_unit.dimensions.length_exponent = 1.0) AND 8612 (SELF\named_unit.dimensions.mass_exponent = 0.0) AND 8613 (SELF\named_unit.dimensions.time_exponent = 0.0) AND 8614 (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND 8615 (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND 8616 (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND 8617 (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); 8618END_ENTITY; 8619 8620 8621ENTITY library_defined_product_definition 8622 SUBTYPE OF (externally_defined_product_definition); 8623DERIVE 8624 library : external_source := SELF\externally_defined_item.source; 8625END_ENTITY; 8626 8627 8628ENTITY library_stack_model 8629 SUBTYPE OF (stratum_stack_model); 8630END_ENTITY; 8631 8632 8633ENTITY library_to_design_stack_model_mapping 8634 SUBTYPE OF (product_definition_relationship); 8635END_ENTITY; 8636 8637 8638ENTITY light_source 8639 SUPERTYPE OF (ONEOF (light_source_ambient, light_source_directional, light_source_positional, light_source_spot)) 8640 SUBTYPE OF (geometric_representation_item); 8641 light_colour : colour; 8642WHERE 8643 WR1 : SIZEOF(USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 8644 'STYLED_ITEM.ITEM')) = 0; 8645END_ENTITY; 8646 8647 8648ENTITY light_source_ambient 8649 SUBTYPE OF (light_source); 8650END_ENTITY; 8651 8652 8653ENTITY light_source_directional 8654 SUBTYPE OF (light_source); 8655 orientation : direction; 8656END_ENTITY; 8657 8658 8659ENTITY light_source_positional 8660 SUBTYPE OF (light_source); 8661 position : cartesian_point; 8662 constant_attenuation : REAL; 8663 distance_attenuation : REAL; 8664END_ENTITY; 8665 8666 8667ENTITY light_source_spot 8668 SUBTYPE OF (light_source); 8669 position : cartesian_point; 8670 orientation : direction; 8671 concentration_exponent : REAL; 8672 constant_attenuation : REAL; 8673 distance_attenuation : REAL; 8674 spread_angle : positive_plane_angle_measure; 8675END_ENTITY; 8676 8677 8678ENTITY limits_and_fits; 8679 form_variance : label; 8680 zone_variance : label; 8681 grade : label; 8682 source : text; 8683END_ENTITY; 8684 8685 8686ENTITY line 8687 SUBTYPE OF (curve); 8688 pnt : cartesian_point; 8689 dir : vector; 8690WHERE 8691 WR1 : dir.dim = pnt.dim; 8692END_ENTITY; 8693 8694 8695ENTITY line_profile_tolerance 8696 SUBTYPE OF (geometric_tolerance); 8697WHERE 8698 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)) OR ( SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3); 8699 WR2 : SIZEOF ( 8700QUERY ( sar <* USEDIN (SELF\geometric_tolerance.toleranced_shape_aspect, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT')| (sar.name IN [ 'affected plane association', 'resulting intersection curve association' ]) )) = 1; 8701END_ENTITY; 8702 8703 8704ENTITY linear_array_component_definition_link 8705 SUBTYPE OF (product_definition, product_definition_relationship); 8706 SELF\product_definition_relationship.related_product_definition : linear_array_placement_group_component; 8707 SELF\product_definition_relationship.relating_product_definition : linear_array_placement_group_component; 8708WHERE 8709 WR1 : SELF\product_definition_relationship.related_product_definition :<>: 8710 SELF\product_definition_relationship.relating_product_definition; 8711 WR2 : acyclic_product_definition_relationship (SELF, 8712 [SELF\product_definition_relationship.related_product_definition], 8713 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_ARRAY_COMPONENT_DEFINITION_LINK'); 8714END_ENTITY; 8715 8716 8717ENTITY linear_array_placement_group_component 8718 SUBTYPE OF (array_placement_group); 8719END_ENTITY; 8720 8721 8722ENTITY linear_composite_array_shape_aspect 8723 SUBTYPE OF (composite_array_shape_aspect); 8724END_ENTITY; 8725 8726 8727ENTITY linear_composite_array_shape_aspect_link 8728 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 8729 SELF\shape_aspect_relationship.related_shape_aspect : linear_composite_array_shape_aspect; 8730 SELF\shape_aspect_relationship.relating_shape_aspect : linear_composite_array_shape_aspect; 8731WHERE 8732 WR1 : SELF\shape_aspect_relationship.related_shape_aspect :<>: 8733 SELF\shape_aspect_relationship.relating_shape_aspect; 8734END_ENTITY; 8735 8736 8737ENTITY linear_dimension 8738 SUBTYPE OF (dimension_curve_directed_callout); 8739END_ENTITY; 8740 8741 8742ENTITY linear_profile_tolerance 8743 SUBTYPE OF (physical_unit_geometric_tolerance); 8744END_ENTITY; 8745 8746 8747ENTITY literal_conjunction 8748 SUBTYPE OF (simple_clause); 8749END_ENTITY; 8750 8751 8752ENTITY literal_disjunction 8753 SUBTYPE OF (simple_clause); 8754END_ENTITY; 8755 8756 8757ENTITY literal_number 8758 ABSTRACT SUPERTYPE OF (ONEOF (int_literal, real_literal)) 8759 SUBTYPE OF (simple_numeric_expression, generic_literal); 8760 the_value : NUMBER; 8761END_ENTITY; 8762 8763 8764ENTITY local_linear_stack 8765 SUBTYPE OF (stratum_sub_stack); 8766END_ENTITY; 8767 8768 8769ENTITY local_time; 8770 hour_component : hour_in_day; 8771 minute_component : OPTIONAL minute_in_hour; 8772 second_component : OPTIONAL second_in_minute; 8773 zone : coordinated_universal_time_offset; 8774WHERE 8775 WR1 : valid_time (SELF); 8776END_ENTITY; 8777 8778 8779ENTITY location_shape_representation 8780 SUBTYPE OF (shape_representation); 8781WHERE 8782 WR1 : SIZEOF(SELF.items)= 1; 8783 WR2 : SIZEOF(QUERY(i <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POINT' IN TYPEOF(i)))= 1; 8784END_ENTITY; 8785 8786 8787ENTITY logical_literal 8788 SUBTYPE OF (generic_literal); 8789 lit_value : LOGICAL; 8790END_ENTITY; 8791 8792 8793ENTITY logical_representation_item 8794 SUBTYPE OF (representation_item, logical_literal); 8795END_ENTITY; 8796 8797 8798ENTITY loop 8799 SUPERTYPE OF (ONEOF (vertex_loop, edge_loop, poly_loop)) 8800 SUBTYPE OF (topological_representation_item); 8801END_ENTITY; 8802 8803 8804ENTITY loss_tangent_measure_with_unit 8805 SUBTYPE OF (ratio_measure_with_unit); 8806END_ENTITY; 8807 8808 8809ENTITY lot_effectivity 8810 SUBTYPE OF (effectivity); 8811 effectivity_lot_id : identifier; 8812 effectivity_lot_size : measure_with_unit; 8813END_ENTITY; 8814 8815 8816ENTITY luminous_flux_measure_with_unit 8817 SUBTYPE OF (measure_with_unit); 8818WHERE 8819 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LUMINOUS_FLUX_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 8820END_ENTITY; 8821 8822 8823ENTITY luminous_flux_unit 8824 SUBTYPE OF (named_unit); 8825WHERE 8826 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.lumen); 8827END_ENTITY; 8828 8829 8830ENTITY luminous_intensity_measure_with_unit 8831 SUBTYPE OF (measure_with_unit); 8832WHERE 8833 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LUMINOUS_INTENSITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 8834END_ENTITY; 8835 8836 8837ENTITY luminous_intensity_unit 8838 SUBTYPE OF (named_unit); 8839WHERE 8840 WR1 : (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 1.0); 8841END_ENTITY; 8842 8843 8844ENTITY magnetic_flux_density_measure_with_unit 8845 SUBTYPE OF (measure_with_unit); 8846WHERE 8847 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAGNETIC_FLUX_DENSITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 8848END_ENTITY; 8849 8850 8851ENTITY magnetic_flux_density_unit 8852 SUBTYPE OF (derived_unit); 8853WHERE 8854 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.tesla); 8855END_ENTITY; 8856 8857 8858ENTITY magnetic_flux_measure_with_unit 8859 SUBTYPE OF (measure_with_unit); 8860WHERE 8861 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAGNETIC_FLUX_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 8862END_ENTITY; 8863 8864 8865ENTITY magnetic_flux_unit 8866 SUBTYPE OF (derived_unit); 8867WHERE 8868 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.weber); 8869END_ENTITY; 8870 8871 8872ENTITY make_from_connectivity_relationship 8873 SUBTYPE OF (shape_aspect_relationship); 8874 SELF\shape_aspect_relationship.related_shape_aspect : physical_connectivity_definition; 8875 SELF\shape_aspect_relationship.relating_shape_aspect : physical_connectivity_definition; 8876END_ENTITY; 8877 8878 8879ENTITY make_from_feature_relationship 8880 SUBTYPE OF (component_feature_relationship); 8881END_ENTITY; 8882 8883 8884ENTITY make_from_functional_unit_terminal_definition_relationship 8885 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 8886UNIQUE 8887 UR1 : SELF\shape_aspect_relationship.relating_shape_aspect, SELF\shape_aspect_relationship.related_shape_aspect; 8888WHERE 8889 WR1 : relating_shape_aspect.of_shape :<>: 8890 related_shape_aspect.of_shape; 8891 WR2 : SELF\shape_aspect.product_definitional = FALSE; 8892END_ENTITY; 8893 8894 8895ENTITY make_from_model_port_relationship 8896 SUBTYPE OF (representation, representation_relationship); 8897 SELF\representation_relationship.rep_1 : analytical_model_port; 8898 SELF\representation_relationship.rep_2 : analytical_model_port; 8899UNIQUE 8900 UR1 : rep_1, rep_2; 8901WHERE 8902 WR1 : rep_1 :<>: rep_2; 8903END_ENTITY; 8904 8905 8906ENTITY make_from_part_feature_relationship 8907 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 8908UNIQUE 8909 UR1 : SELF\shape_aspect_relationship.relating_shape_aspect, SELF\shape_aspect_relationship.related_shape_aspect; 8910WHERE 8911 WR1 : SELF\shape_aspect.product_definitional = FALSE; 8912END_ENTITY; 8913 8914 8915ENTITY make_from_usage_option 8916 SUBTYPE OF (product_definition_usage); 8917 ranking : INTEGER; 8918 ranking_rationale : text; 8919 quantity : measure_with_unit; 8920WHERE 8921 WR1 : (NOT ('NUMBER' IN TYPEOF(quantity.value_component))) 8922 OR (quantity.value_component > 0); 8923END_ENTITY; 8924 8925 8926ENTITY manifold_constraining_context_dependent_shape_representation 8927 SUBTYPE OF (context_dependent_shape_representation, representation_relationship); 8928END_ENTITY; 8929 8930 8931ENTITY manifold_solid_brep 8932 SUBTYPE OF (solid_model); 8933 outer : closed_shell; 8934END_ENTITY; 8935 8936 8937ENTITY manifold_subsurface_shape_representation 8938 SUBTYPE OF (shape_representation); 8939WHERE 8940 WR1 : SIZEOF (QUERY (it <* SELF.items | 8941 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET', 8942 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 8943 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * 8944 TYPEOF(it)) = 1))) = 0; 8945 WR2 : SIZEOF (QUERY (it <* SELF.items | 8946 SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET', 8947 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0; 8948 WR3 : SIZEOF (QUERY (mi <* QUERY (it <* items | 8949 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | 8950 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' IN 8951 TYPEOF(mi\mapped_item.mapping_source. 8952 mapped_representation)))) = 0; 8953 WR4 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | 8954 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | 8955 NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_SHELL' IN TYPEOF(cfss)))) = 0; 8956 WR5 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | 8957 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | 8958 NOT( (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN 8959 TYPEOF(cfss\connected_face_sub_set.parent_face_set))AND 8960 (SIZEOF(QUERY(fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | NOT 8961 advanced_face_properties(fac))) = 0)) OR 8962 (SIZEOF(QUERY(fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | NOT 8963 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF(fac)))) = 0) 8964 ))) = 0; 8965 WR6 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | 8966 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | 8967 ( SIZEOF (QUERY (fac <* cfss\connected_face_set.cfs_faces | NOT 8968 advanced_face_properties(fac))) = 0))) = 0; 8969 WR7 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | 8970 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | 8971 NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | 8972 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND 8973 NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | 8974 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | 8975 NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | 8976 NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN 8977 TYPEOF(oe.edge_element)) OR 8978 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBEDGE' IN 8979 TYPEOF(oe.edge_element)) ))) = 0 8980 ))) = 0 8981 ))) = 0 8982 ))) = 0; 8983 WR8 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | 8984 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | 8985 NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | 8986 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND 8987 NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | 8988 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | 8989 NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | 8990 NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start)) 8991 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN 8992 TYPEOF(oe.edge_end)) 8993 ))) = 0 8994 ))) = 0 8995 ))) = 0 8996 ))) = 0; 8997 WR9 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | 8998 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | 8999 NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | 9000 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND 9001 ( NOT (SIZEOF(QUERY (bnds <* fcs.bounds | 9002 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP', 9003 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP'] * 9004 TYPEOF(bnds.bound)) = 1 ) 9005 )) = 0) 9006 ))) = 0 9007 ))) = 0; 9008 WR10 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | 9009 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | 9010 NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | 9011 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND 9012 ( NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | 9013 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | 9014 NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | 9015 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 9016 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 9017 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', 9018 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE', 9019 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * 9020 TYPEOF(oe.edge_element\edge_curve.edge_geometry)) = 1 ) 9021 )) = 0 9022 ))) = 0 9023 )))) = 0 9024 ))) = 0; 9025 WR11 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | 9026 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | 9027 NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | 9028 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND 9029 (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | 9030 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | 9031 NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | 9032 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN 9033 TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND 9034 (NOT ((SIZEOF (QUERY (sc_ag <* 9035 oe.edge_element\edge_curve.edge_geometry\ 9036 surface_curve.associated_geometry | 9037 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN 9038 TYPEOF(sc_ag)))) = 0))) 9039 )) = 0 9040 ))) = 0 9041 )))) = 0 9042 ))) = 0; 9043 WR12 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | 9044 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | 9045 NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | 9046 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND 9047 (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | 9048 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | 9049 NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | 9050 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN 9051 TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND 9052 (NOT (SIZEOF (oe\oriented_edge.edge_element\ 9053 edge_curve.edge_geometry\polyline.points) >= 3)) 9054 )) = 0 9055 ))) = 0 9056 )))) = 0 9057 ))) = 0; 9058END_ENTITY; 9059 9060 9061ENTITY manifold_surface_shape_representation 9062 SUBTYPE OF (shape_representation); 9063WHERE 9064 WR1 : SIZEOF (QUERY (it <* SELF.items | 9065 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL', 9066 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 9067 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1))) = 0; 9068 WR2 : SIZEOF (QUERY (it <* SELF.items | 9069 SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL', 9070 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0; 9071 WR3 : SIZEOF (QUERY (mi <* QUERY (it <* SELF.items | 9072 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) | 9073 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SURFACE_SHAPE_REPRESENTATION' 9074 IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) 9075 AND 9076 (SIZEOF(QUERY (mr_it <* 9077 mi\mapped_item.mapping_source.mapped_representation.items | 9078 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' 9079 IN TYPEOF (mr_it)))) > 0 )))) = 0; 9080 WR4 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | 9081 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 9082 NOT (SIZEOF (QUERY (sh <* 9083 sbsm\shell_based_surface_model.sbsm_boundary | 9084 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_SHELL', 9085 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL', 9086 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_SHELL'] 9087 * TYPEOF (sh)) = 1))) = 0))) = 0; 9088 WR5 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | 9089 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 9090 NOT (SIZEOF (QUERY (cfs <* 9091 sbsm\shell_based_surface_model.sbsm_boundary | 9092 NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | 9093 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF (fa)) )) = 0))) 9094 = 0))) = 0; 9095 WR6 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | 9096 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 9097 NOT (SIZEOF (QUERY (cfs <* 9098 sbsm\shell_based_surface_model.sbsm_boundary | 9099 NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | 9100 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 9101 OR 9102 (msf_surface_check(fa\face_surface.face_geometry))))) = 0))) 9103 = 0))) = 0; 9104 WR7 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | 9105 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 9106 NOT (SIZEOF (QUERY (cfs <* 9107 sbsm\shell_based_surface_model.sbsm_boundary | 9108 NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | 9109 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 9110 OR 9111 (SIZEOF (QUERY (bnds <* fa.bounds | 9112 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP', 9113 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP'] 9114 * TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0; 9115 WR8 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items| 9116 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 9117 NOT (SIZEOF (QUERY (cfs <* 9118 sbsm\shell_based_surface_model.sbsm_boundary | 9119 NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | 9120 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 9121 OR 9122 (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | 9123 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | 9124 NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | 9125 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF 9126 (oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0; 9127 WR9 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | 9128 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 9129 NOT (SIZEOF (QUERY (cfs <* 9130 sbsm\shell_based_surface_model.sbsm_boundary | 9131 NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | 9132 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 9133 OR 9134 (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | 9135 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | 9136 NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <* 9137 elp_fbnds\path.edge_list | 9138 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) | 9139 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', 9140 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 9141 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA', 9142 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 9143 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D', 9144 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE', 9145 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', 9146 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE'] * 9147 TYPEOF (oe_cv.edge_element\edge_curve.edge_geometry)) 9148 = 1))) = 0))) = 0)))) = 0))) = 0))) = 0; 9149 WR10 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | 9150 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 9151 NOT (SIZEOF (QUERY (cfs <* 9152 sbsm\shell_based_surface_model.sbsm_boundary | 9153 NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | 9154 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 9155 OR 9156 (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | 9157 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | 9158 NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | 9159 NOT (msf_curve_check (oe.edge_element\edge_curve.edge_geometry)))) 9160 = 0))) = 0)))) = 0))) = 0))) = 0; 9161 WR11 : SIZEOF (QUERY(sbsm <* QUERY (it <* SELF.items | 9162 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 9163 NOT (SIZEOF (QUERY (cfs <* 9164 sbsm\shell_based_surface_model.sbsm_boundary | 9165 NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | 9166 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 9167 OR 9168 (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | 9169 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | 9170 NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list| 9171 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF 9172 (oe.edge_element.edge_start)) 9173 AND 9174 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN 9175 TYPEOF (oe.edge_element.edge_end))))) 9176 = 0))) = 0)))) = 0))) = 0))) = 0; 9177 WR12 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | 9178 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 9179 NOT (SIZEOF (QUERY (cfs <* 9180 sbsm\shell_based_surface_model.sbsm_boundary | 9181 NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | 9182 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 9183 OR 9184 (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | 9185 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | 9186 NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | 9187 NOT ((SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', 9188 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE', 9189 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE', 9190 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF 9191 (oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1) 9192 AND 9193 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', 9194 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE', 9195 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE', 9196 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF 9197 (oe.edge_element.edge_end\vertex_point.vertex_geometry)) = 1 9198 )))) = 0))) = 0)))) = 0))) = 0))) = 0; 9199 WR13 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | 9200 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 9201 NOT (SIZEOF (QUERY (cfs <* 9202 sbsm\shell_based_surface_model.sbsm_boundary | 9203 NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | 9204 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 9205 OR 9206 (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | 9207 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | 9208 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF 9209 (vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0))) 9210 = 0))) = 0; 9211 WR14 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | 9212 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 9213 NOT (SIZEOF (QUERY (cfs <* 9214 sbsm\shell_based_surface_model.sbsm_boundary | 9215 NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | 9216 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 9217 OR 9218 (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | 9219 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | 9220 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', 9221 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE', 9222 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE', 9223 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF 9224 (vlp_fbnds\vertex_loop.loop_vertex\vertex_point.vertex_geometry)) 9225 = 1))) = 0)))) = 0))) = 0))) = 0; 9226END_ENTITY; 9227 9228 9229ENTITY mapped_item 9230 SUBTYPE OF (representation_item); 9231 mapping_source : representation_map; 9232 mapping_target : representation_item; 9233WHERE 9234 WR1 : acyclic_mapped_representation(SELF); 9235END_ENTITY; 9236 9237 9238ENTITY mass_measure_with_unit 9239 SUBTYPE OF (measure_with_unit); 9240WHERE 9241 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MASS_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 9242END_ENTITY; 9243 9244 9245ENTITY mass_unit 9246 SUBTYPE OF (named_unit); 9247WHERE 9248 WR1 : (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 1.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); 9249END_ENTITY; 9250 9251 9252ENTITY material_designation; 9253 name : label; 9254 definitions : SET [1:?] OF characterized_definition; 9255END_ENTITY; 9256 9257 9258ENTITY material_designation_characterization; 9259 name : label; 9260 description : text; 9261 designation : material_designation; 9262 property : characterized_material_property; 9263END_ENTITY; 9264 9265 9266ENTITY material_designation_with_conductivity_classification 9267 SUBTYPE OF (material_designation); 9268END_ENTITY; 9269 9270 9271ENTITY material_electrical_conductivity_category 9272 SUBTYPE OF (group); 9273END_ENTITY; 9274 9275 9276ENTITY material_property 9277 SUBTYPE OF (property_definition); 9278UNIQUE 9279 UR1: SELF\property_definition.name, SELF\property_definition.definition; 9280WHERE 9281 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_OBJECT' IN 9282 TYPEOF(SELF\property_definition.definition)) OR 9283 (SIZEOF(bag_to_set(USEDIN(SELF , 9284 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9285 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) - 9286 QUERY(temp <* bag_to_set(USEDIN(SELF , 9287 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9288 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) | 9289 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9290 'MATERIAL_PROPERTY_REPRESENTATION' IN 9291 TYPEOF(temp)))) = 0); 9292END_ENTITY; 9293 9294 9295ENTITY material_property_representation 9296 SUBTYPE OF (property_definition_representation); 9297 dependent_environment : data_environment; 9298END_ENTITY; 9299 9300 9301ENTITY material_removal_feature_template 9302 SUBTYPE OF (single_stratum_continuous_template); 9303END_ENTITY; 9304 9305 9306ENTITY material_removal_laminate_component 9307 SUBTYPE OF (laminate_component); 9308END_ENTITY; 9309 9310 9311ENTITY material_removal_laminate_text_component 9312 SUBTYPE OF (generic_laminate_text_component); 9313END_ENTITY; 9314 9315 9316ENTITY material_removal_structured_component 9317 SUBTYPE OF (structured_layout_component); 9318END_ENTITY; 9319 9320 9321ENTITY material_removal_structured_template 9322 SUBTYPE OF (single_stratum_structured_template); 9323END_ENTITY; 9324 9325 9326ENTITY measure_qualification; 9327 name : label; 9328 description : text; 9329 qualified_measure : measure_with_unit; 9330 qualifiers : SET [1:?] OF value_qualifier; 9331WHERE 9332 WR1 : SIZEOF(QUERY(temp <* qualifiers | 9333 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRECISION_QUALIFIER' 9334 IN TYPEOF(temp))) < 2; 9335 WR2 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM' 9336 IN TYPEOF(SELF\measure_qualification.qualified_measure)); 9337END_ENTITY; 9338 9339 9340ENTITY measure_representation_item 9341 SUBTYPE OF (representation_item, measure_with_unit); 9342END_ENTITY; 9343 9344 9345ENTITY measure_with_unit 9346 SUPERTYPE OF (ONEOF (length_measure_with_unit, mass_measure_with_unit, time_measure_with_unit, electric_current_measure_with_unit, thermodynamic_temperature_measure_with_unit, celsius_temperature_measure_with_unit, amount_of_substance_measure_with_unit, luminous_intensity_measure_with_unit, plane_angle_measure_with_unit, solid_angle_measure_with_unit, area_measure_with_unit, volume_measure_with_unit, ratio_measure_with_unit, acceleration_measure_with_unit, capacitance_measure_with_unit, electric_charge_measure_with_unit, conductance_measure_with_unit, electric_potential_measure_with_unit, energy_measure_with_unit, magnetic_flux_density_measure_with_unit, force_measure_with_unit, frequency_measure_with_unit, illuminance_measure_with_unit, inductance_measure_with_unit, luminous_flux_measure_with_unit, magnetic_flux_measure_with_unit, power_measure_with_unit, pressure_measure_with_unit, resistance_measure_with_unit, velocity_measure_with_unit, absorbed_dose_measure_with_unit, radioactivity_measure_with_unit, dose_equivalent_measure_with_unit)); 9347 value_component : measure_value; 9348 unit_component : unit; 9349WHERE 9350 WR1 : valid_units(SELF); 9351END_ENTITY; 9352 9353 9354ENTITY mechanical_context 9355 SUBTYPE OF (product_context); 9356WHERE 9357 WR1 : SELF.discipline_type = 'mechanical'; 9358END_ENTITY; 9359 9360 9361ENTITY mechanical_design_and_draughting_relationship 9362 SUBTYPE OF (definitional_representation_relationship_with_same_context); 9363 SELF\representation_relationship.rep_1 : mechanical_design_and_draughting_relationship_select; 9364 SELF\representation_relationship.rep_2 : mechanical_design_and_draughting_relationship_select; 9365WHERE 9366 WR1 : NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_2)) OR 9367 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_1)) OR 9368 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1))); 9369 WR2 : NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR 9370 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR 9371 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1))); 9372 WR3 : NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR 9373 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR 9374 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1))); 9375END_ENTITY; 9376 9377 9378ENTITY mechanical_design_geometric_presentation_area 9379 SUBTYPE OF (presentation_area); 9380 SELF\representation.items : SET [1:?] OF mechanical_design_geometric_presentation_area_items; 9381WHERE 9382 WR1 : SIZEOF(QUERY(it1 <* SELF.items | 9383 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 9384 IN TYPEOF(it1)) 9385 OR 9386 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' 9387 IN TYPEOF 9388 (it1\mapped_item.mapping_source.mapped_representation)))) = 0; 9389 WR2 : SIZEOF(QUERY(pv <* QUERY(mi1 <* QUERY(it1 <* SELF.items | 9390 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 9391 IN TYPEOF(it1)) | 9392 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' 9393 IN TYPEOF 9394 (mi1\mapped_item.mapping_source.mapped_representation)) | 9395 -- search in all presentation_views for axis2_placements and 9396 -- mapped_items and for the subtype of mapped_item 9397 -- camera_image_3d_with_scale; the latter shall reference 9398 -- a mechanical_design_geometric_presentation_representation; 9399 -- the supertype mapped_item shall reference presentation_view. 9400 NOT (SIZEOF(QUERY(it2 <* pv\mapped_item.mapping_source. 9401 mapped_representation\representation.items | 9402 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT' 9403 IN TYPEOF(it2)) 9404 OR 9405 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 9406 IN TYPEOF(it2)) AND NOT 9407 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9408 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT ( 9409 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' 9410 IN TYPEOF 9411 (it2\mapped_item.mapping_source.mapped_representation))) 9412 OR 9413 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9414 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2)) 9415 AND NOT ( 9416 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9417 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' 9418 IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) )) 9419 ))) = 0))) = 0; 9420 WR3 : (SIZEOF(QUERY(ps <* USEDIN (SELF, 9421 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9422 'PRESENTATION_SIZE.UNIT') | ((ps.size\planar_extent.size_in_x <= 0) 9423 OR 9424 (ps.size\planar_extent.size_in_y <= 0)))) = 0) 9425 AND 9426 (SIZEOF(QUERY(ais <* USEDIN (SELF, 9427 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9428 'AREA_IN_SET.AREA') | 9429 (SIZEOF(QUERY(ps <* USEDIN (ais, 9430 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9431 'PRESENTATION_SIZE.UNIT') | 9432 ((ps.size\planar_extent.size_in_x <= 0) 9433 OR 9434 (ps.size\planar_extent.size_in_y <= 0)))) > 0))) = 0); 9435 WR4 : (SIZEOF(QUERY(ps <* USEDIN (SELF, 9436 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9437 'PRESENTATION_SIZE.UNIT') | 9438 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9439 'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1) 9440 AND 9441 (SIZEOF(QUERY(ps <* USEDIN (SELF, 9442 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9443 'PRESENTATION_SIZE.UNIT') | 9444 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9445 'AXIS2_PLACEMENT_3D' IN TYPEOF (ps.size.placement)))) = 0) 9446 OR 9447 ((SIZEOF(QUERY(ais <* USEDIN (SELF, 9448 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9449 'AREA_IN_SET.AREA') | 9450 (SIZEOF(QUERY(ps <* USEDIN (ais, 9451 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9452 'PRESENTATION_SIZE.UNIT') | 9453 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9454 'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1))) = 1) 9455 AND 9456 (SIZEOF(QUERY(ais <* USEDIN (SELF, 9457 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9458 'AREA_IN_SET.AREA') | 9459 (SIZEOF(QUERY(ps <* USEDIN (ais, 9460 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9461 'PRESENTATION_SIZE.UNIT') | 9462 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9463 'AXIS2_PLACEMENT_3D' IN TYPEOF (ps.size.placement)))) = 0))) = 1)); 9464END_ENTITY; 9465 9466 9467ENTITY mechanical_design_geometric_presentation_representation 9468 SUBTYPE OF (representation); 9469 SELF\representation.items : SET [1:?] OF mechanical_design_geometric_presentation_representation_items; 9470WHERE 9471 WR1 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 9472 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 9473 IN TYPEOF(it))) | NOT (SIZEOF( 9474 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9475 'SHAPE_REPRESENTATION', 9476 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9477 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION'] 9478 * TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) 9479 = 1))) = 0; 9480 WR2 : SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items | 9481 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9482 IN TYPEOF(it))) | 9483 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 9484 IN TYPEOF(si\styled_item.item))) | NOT ( 9485 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9486 'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item. 9487 item\mapped_item.mapping_source.mapped_representation))) )) = 0; 9488 WR3 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 9489 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9490 IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | 9491 NOT (SIZEOF(QUERY(pss <* psa.styles | NOT (SIZEOF( 9492 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_STYLE', 9493 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE', 9494 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE'] 9495 * TYPEOF(pss)) = 1))) = 0))) = 0))) = 0; 9496 WR4 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 9497 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9498 IN TYPEOF(it)) | 9499 NOT (SIZEOF(QUERY(psbc <* QUERY(psa <* si\styled_item.styles | 9500 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9501 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF(psa)) | NOT (SIZEOF( 9502 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9503 'REPRESENTATION_ITEM', 9504 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION'] 9505 * TYPEOF(psbc\presentation_style_by_context.style_context)) 9506 = 1))) = 0))) = 0; 9507 WR5 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 9508 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9509 IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | 9510 NOT (SIZEOF(QUERY(ps <* QUERY(pss <* psa.styles | 9511 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_STYLE' 9512 IN TYPEOF(pss)) | NOT 9513 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9514 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ps\point_style.marker_size)) 9515 AND (SIZEOF( 9516 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 9517 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9518 'DRAUGHTING_PRE_DEFINED_COLOUR'] 9519 * TYPEOF(ps\point_style.marker_colour)) 9520 = 1)))) = 0))) = 0))) = 0; 9521 WR6 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 9522 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9523 IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | 9524 NOT (SIZEOF(QUERY(cs <* QUERY(pss <* psa.styles | 9525 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' 9526 IN TYPEOF(pss)) | NOT((SIZEOF( 9527 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 9528 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9529 'DRAUGHTING_PRE_DEFINED_COLOUR'] 9530 * TYPEOF(cs\curve_style.curve_colour)) = 1) 9531 AND 9532 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9533 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (cs\curve_style.curve_width)) 9534 AND (SIZEOF( 9535 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', 9536 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9537 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] 9538 * TYPEOF(cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0; 9539 WR7 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 9540 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9541 IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | 9542 NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | 9543 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 9544 IN TYPEOF(pss)) | 9545 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9546 'SURFACE_SIDE_STYLE' IN TYPEOF 9547 (ssu\surface_style_usage.style)))) = 0))) = 0))) = 0; 9548 WR8 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 9549 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9550 IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | 9551 NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | 9552 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 9553 IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sses <* 9554 ssu\surface_style_usage.style\surface_side_style.styles | 9555 NOT (SIZEOF( 9556 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9557 'SURFACE_STYLE_PARAMETER_LINE', 9558 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9559 'SURFACE_STYLE_CONTROL_GRID', 9560 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9561 'SURFACE_STYLE_SILHOUETTE', 9562 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9563 'SURFACE_STYLE_SEGMENTATION_CURVE', 9564 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9565 'SURFACE_STYLE_FILL_AREA', 9566 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9567 'SURFACE_STYLE_BOUNDARY'] 9568 * TYPEOF(sses)) = 1))) = 0))) = 0))) = 0))) = 0; 9569 WR9 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 9570 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9571 IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | 9572 NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | 9573 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 9574 IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sspl <* QUERY(sses <* 9575 ssu\surface_style_usage.style\surface_side_style.styles | 9576 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9577 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF(sses)) | 9578 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' 9579 IN TYPEOF 9580 (sspl\surface_style_parameter_line.style_of_parameter_lines)) 9581 AND (SIZEOF( 9582 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 9583 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9584 'DRAUGHTING_PRE_DEFINED_COLOUR'] 9585 * TYPEOF(sspl\surface_style_parameter_line. 9586 style_of_parameter_lines\curve_style.curve_colour)) = 1) 9587 AND ( 9588 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9589 'POSITIVE_LENGTH_MEASURE' IN TYPEOF 9590 (sspl\surface_style_parameter_line. 9591 style_of_parameter_lines\curve_style.curve_width)) 9592 AND (SIZEOF( 9593 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', 9594 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9595 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] 9596 * TYPEOF(sspl\surface_style_parameter_line. 9597 style_of_parameter_lines\curve_style.curve_font)) = 1)))) 9598 = 0))) = 0))) = 0))) = 0; 9599 WR10 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 9600 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9601 IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | 9602 NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | 9603 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 9604 IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sscg <* QUERY(sses <* 9605 ssu\surface_style_usage.style\surface_side_style.styles | 9606 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9607 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF(sses)) | 9608 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' 9609 IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid)) 9610 AND (SIZEOF( 9611 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 9612 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9613 'DRAUGHTING_PRE_DEFINED_COLOUR'] 9614 * TYPEOF(sscg\surface_style_control_grid. 9615 style_of_control_grid\curve_style.curve_colour)) = 1) 9616 AND 9617 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9618 'POSITIVE_LENGTH_MEASURE' IN TYPEOF 9619 (sscg\surface_style_control_grid. 9620 style_of_control_grid\curve_style.curve_width)) 9621 AND (SIZEOF( 9622 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', 9623 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9624 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] 9625 * TYPEOF(sscg\surface_style_control_grid. 9626 style_of_control_grid\curve_style.curve_font)) = 1)))) 9627 = 0))) = 0))) = 0))) = 0; 9628 WR11 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 9629 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9630 IN TYPEOF(it)) | 9631 NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | 9632 NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | 9633 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 9634 IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssh <* QUERY(sses <* 9635 ssu\surface_style_usage.style\surface_side_style.styles | 9636 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9637 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF(sses)) | 9638 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' 9639 IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette)) 9640 AND (SIZEOF( 9641 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 9642 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9643 'DRAUGHTING_PRE_DEFINED_COLOUR'] 9644 * TYPEOF(sssh\surface_style_silhouette. 9645 style_of_silhouette\curve_style.curve_colour)) = 1) 9646 AND 9647 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9648 'POSITIVE_LENGTH_MEASURE' IN TYPEOF 9649 (sssh\surface_style_silhouette.style_of_silhouette\curve_style. 9650 curve_width)) 9651 AND (SIZEOF( 9652 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', 9653 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9654 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] 9655 * TYPEOF(sssh\surface_style_silhouette. 9656 style_of_silhouette\curve_style.curve_font)) = 1)))) 9657 = 0))) = 0))) = 0))) = 0; 9658 WR12 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 9659 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9660 IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | 9661 NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | 9662 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 9663 IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssc <* QUERY(sses <* 9664 ssu\surface_style_usage.style\surface_side_style.styles | 9665 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9666 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF(sses)) | 9667 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' 9668 IN TYPEOF 9669 (sssc\surface_style_segmentation_curve.style_of_segmentation_curve)) 9670 AND (SIZEOF( 9671 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 9672 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9673 'DRAUGHTING_PRE_DEFINED_COLOUR'] 9674 * TYPEOF(sssc\surface_style_segmentation_curve. 9675 style_of_segmentation_curve\curve_style.curve_colour)) = 1) 9676 AND 9677 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9678 'POSITIVE_LENGTH_MEASURE' IN TYPEOF 9679 (sssc\surface_style_segmentation_curve. 9680 style_of_segmentation_curve\curve_style.curve_width)) 9681 AND (SIZEOF( 9682 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', 9683 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9684 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] 9685 * TYPEOF(sssc\surface_style_segmentation_curve. 9686 style_of_segmentation_curve\curve_style.curve_font)) = 1)))) 9687 = 0))) = 0))) = 0))) = 0; 9688 WR13 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 9689 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9690 IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | 9691 NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | 9692 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 9693 IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(ssbd <* QUERY(sses <* 9694 ssu\surface_style_usage.style\surface_side_style.styles | 9695 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9696 'SURFACE_STYLE_BOUNDARY' IN TYPEOF(sses)) | 9697 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' 9698 IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary)) 9699 AND (SIZEOF( 9700 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 9701 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9702 'DRAUGHTING_PRE_DEFINED_COLOUR'] 9703 * TYPEOF(ssbd\surface_style_boundary. 9704 style_of_boundary\curve_style.curve_colour)) = 1) 9705 AND 9706 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9707 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ssbd\surface_style_boundary. 9708 style_of_boundary\curve_style.curve_width)) 9709 AND (SIZEOF( 9710 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', 9711 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9712 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] 9713 * TYPEOF(ssbd\surface_style_boundary. 9714 style_of_boundary\curve_style.curve_font)) = 1)))) = 0))) 9715 = 0))) = 0))) = 0; 9716END_ENTITY; 9717 9718 9719ENTITY mechanical_design_presentation_representation_with_draughting 9720 SUBTYPE OF (representation); 9721 SELF\representation.items : SET [1:?] OF camera_model_d3; 9722END_ENTITY; 9723 9724 9725ENTITY mechanical_design_shaded_presentation_area 9726 SUBTYPE OF (presentation_area); 9727WHERE 9728 WR1 : SIZEOF (QUERY (it1 <* SELF.items | 9729 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT' 9730 IN TYPEOF (it1)) 9731 OR 9732 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 9733 IN TYPEOF (it1)) AND 9734 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' 9735 IN TYPEOF 9736 (it1\mapped_item.mapping_source.mapped_representation)))))) = 0; 9737 WR2 : SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items | 9738 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 9739 IN TYPEOF (it1)) | 9740 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' 9741 IN TYPEOF 9742 (mi1\mapped_item.mapping_source.mapped_representation)) | 9743 (* search in all presentation_views for axis2_placements and 9744 mapped_items and for the subtype of mapped_item, 9745 camera_image_3d_with_scale; the latter shall reference 9746 a mechanical_design_geometric_presentation_representation; 9747 the supertype mapped_item shall reference presentation_view. *) 9748 NOT (SIZEOF(QUERY(it2 <* pv\mapped_item.mapping_source. 9749 mapped_representation\representation.items | 9750 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT' 9751 IN TYPEOF(it2)) 9752 OR 9753 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 9754 IN TYPEOF(it2)) AND NOT 9755 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9756 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT ( 9757 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' 9758 IN TYPEOF 9759 (it2\mapped_item.mapping_source.mapped_representation))) 9760 OR 9761 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9762 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2)) 9763 AND NOT ( 9764 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9765 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' 9766 IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) )) 9767 ))) = 0))) = 0; 9768 WR3 : (SIZEOF (QUERY(ps <* USEDIN (SELF, 9769 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9770 'PRESENTATION_SIZE.UNIT') | 9771 NOT ((ps.size\planar_extent.size_in_x > 0) 9772 AND (ps.size\planar_extent.size_in_y > 0)) )) = 0) 9773 AND 9774 (* check secondly for presentation_set, via area_in_set *) 9775 (SIZEOF (QUERY(pset <* QUERY(ais <* 9776 USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9777 'AREA_IN_SET.AREA') 9778 | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9779 'PRESENTATION_SET' IN TYPEOF (ais.in_set)) | 9780 (* after having collected all presentation_set, check their sizes *) 9781 SIZEOF (QUERY(psize <* USEDIN(pset, 9782 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9783 'PRESENTATION_SIZE.UNIT') 9784 | NOT ((psize.size\planar_extent.size_in_x > 0) 9785 AND (psize.size\planar_extent.size_in_y > 0)) )) = 0)) = 0); 9786 WR4 : (SIZEOF(QUERY( psize <* USEDIN (SELF, 9787 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9788 'PRESENTATION_SIZE.UNIT') 9789 | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9790 'AXIS2_PLACEMENT_2D' 9791 IN TYPEOF (psize.size.placement))) = 1) 9792 AND 9793 (* check secondly for presentation_set, via area_in_set *) 9794 (SIZEOF (QUERY(pset <* QUERY(ais <* 9795 USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9796 'AREA_IN_SET.AREA') 9797 | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9798 'PRESENTATION_SET' IN TYPEOF (ais.in_set)) | 9799 (* after having collected all presentation_set, check their 9800 dimension *) 9801 SIZEOF (QUERY(psize <* USEDIN(pset, 9802 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9803 'PRESENTATION_SIZE.UNIT') 9804 | NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9805 'AXIS2_PLACEMENT_2D' 9806 IN TYPEOF (psize.size.placement)) )) = 0)) = 0); 9807 WR5 : SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items | 9808 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 9809 IN TYPEOF (it1)) | 9810 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' 9811 IN TYPEOF 9812 (mi1\mapped_item.mapping_source.mapped_representation)) | 9813 (* search in all presentation_views for 9814 mapped_items and for the subtype of mapped_item, 9815 camera_image_3d_with_scale; the latter shall reference 9816 a camera_usage that shall have as its mapping_origin either 9817 camera_model_d3, camera_model_d3_with_hlhsr, or 9818 camera_model_with_light_sources. *) 9819 NOT (SIZEOF(QUERY(ci <* pv\mapped_item.mapping_source. 9820 mapped_representation\representation.items | 9821 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9822 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(ci)) 9823 AND 9824 (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9825 'CAMERA_MODEL_D3', 9826 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9827 'CAMERA_MODEL_D3_WITH_HLHSR', 9828 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9829 'CAMERA_MODEL_WITH_LIGHT_SOURCES'] * TYPEOF 9830 (ci\mapped_item.mapping_source.mapping_origin)) 9831 = 1))) = 0))) = 0; 9832END_ENTITY; 9833 9834 9835ENTITY mechanical_design_shaded_presentation_representation 9836 SUBTYPE OF (representation); 9837WHERE 9838 WR1 : SIZEOF(QUERY(it <* SELF.items | 9839 NOT (SIZEOF( 9840 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 9841 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM', 9842 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT', 9843 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAMERA_MODEL_D3'] 9844 * TYPEOF(it)) = 1))) = 0; 9845 WR2 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 9846 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 9847 IN TYPEOF(it))) | NOT (SIZEOF( 9848 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9849 'SHAPE_REPRESENTATION', 9850 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9851 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION'] 9852 * TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) 9853 = 1))) = 0; 9854 WR3 : SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items | 9855 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9856 IN TYPEOF(it))) | 9857 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 9858 IN TYPEOF(si\styled_item.item))) | NOT ( 9859 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 9860 'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item. 9861 item\mapped_item.mapping_source.mapped_representation))) )) = 0; 9862 WR4 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 9863 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9864 IN TYPEOF (it)) | 9865 NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | 9866 NOT (SIZEOF (QUERY (pss <* psa.styles | 9867 NOT (SIZEOF ( 9868 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_STYLE', 9869 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE', 9870 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE'] 9871 * TYPEOF (pss)) = 1))) = 0))) = 0))) = 0; 9872 WR5 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 9873 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9874 IN TYPEOF (it)) | 9875 NOT (SIZEOF (QUERY (psbc <* QUERY (psa <* si\styled_item.styles | 9876 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9877 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF (psa)) | 9878 NOT (SIZEOF ( 9879 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM', 9880 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION'] 9881 * TYPEOF (psbc\presentation_style_by_context.style_context)) = 1))) 9882 = 0))) = 0; 9883 WR6 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 9884 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9885 IN TYPEOF (it)) | 9886 NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | 9887 NOT (SIZEOF (QUERY (ps <* QUERY (pss <* psa.styles | 9888 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_STYLE' 9889 IN TYPEOF (pss)) | 9890 NOT ( 9891 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MARKER_TYPE' 9892 IN TYPEOF (ps\point_style.marker)) 9893 AND 9894 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF 9895 (ps\point_style.marker_size)) 9896 AND 9897 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 9898 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9899 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 9900 (ps\point_style.marker_colour)) = 1)))) = 0))) = 0))) = 0; 9901 WR7 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 9902 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9903 IN TYPEOF (it)) | 9904 NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | 9905 NOT (SIZEOF (QUERY (cs <* QUERY (pss <* psa.styles | 9906 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' 9907 IN TYPEOF (pss)) | 9908 NOT ( 9909 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 9910 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9911 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 9912 (cs\curve_style.curve_colour)) = 1) 9913 AND 9914 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF 9915 (cs\curve_style.curve_width)) 9916 AND 9917 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9918 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9919 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF 9920 (cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0; 9921 WR8 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 9922 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9923 IN TYPEOF (it)) | 9924 NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | 9925 NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | 9926 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 9927 IN TYPEOF (pss)) | 9928 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_SIDE_STYLE' 9929 IN TYPEOF (ssu\surface_style_usage.style)) )) = 0))) = 0 ))) = 0; 9930 WR9 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 9931 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9932 IN TYPEOF (it)) | 9933 NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | 9934 NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | 9935 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 9936 IN TYPEOF (pss)) | 9937 NOT (SIZEOF (QUERY (sses <* 9938 ssu\surface_style_usage.style\surface_side_style.styles | 9939 NOT (SIZEOF ( 9940 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9941 'SURFACE_STYLE_PARAMETER_LINE', 9942 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9943 'SURFACE_STYLE_CONTROL_GRID', 9944 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9945 'SURFACE_STYLE_SILHOUETTE', 9946 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9947 'SURFACE_STYLE_SEGMENTATION_CURVE', 9948 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9949 'SURFACE_STYLE_BOUNDARY', 9950 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9951 'SURFACE_STYLE_FILL_AREA', 9952 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9953 'SURFACE_STYLE_RENDERING'] * TYPEOF (sses)) = 1))) = 0))) = 0))) 9954 = 0))) = 0; 9955 WR10 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 9956 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9957 IN TYPEOF (it)) | 9958 NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | 9959 NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | 9960 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 9961 IN TYPEOF (pss)) | 9962 NOT (SIZEOF (QUERY (ssfa <* QUERY (sses <* 9963 ssu\surface_style_usage.style\surface_side_style.styles | 9964 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_FILL_AREA' 9965 IN TYPEOF (sses)) | 9966 NOT (SIZEOF (QUERY (fss <* 9967 ssfa\surface_style_fill_area.fill_area.fill_styles | 9968 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9969 'FILL_AREA_STYLE_COLOUR' IN TYPEOF (fss)) 9970 AND 9971 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 9972 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9973 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 9974 (fss\fill_area_style_colour.fill_colour)) = 1)))) = 0))) = 0))) 9975 = 0))) = 0))) = 0; 9976 WR11 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 9977 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 9978 IN TYPEOF (it)) | 9979 NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | 9980 NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | 9981 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 9982 IN TYPEOF (pss)) | 9983 NOT (SIZEOF (QUERY (sspl <* QUERY (sses <* 9984 ssu\surface_style_usage.style\surface_side_style.styles | 9985 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9986 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF (sses)) | 9987 NOT (( 9988 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF 9989 (sspl\surface_style_parameter_line.style_of_parameter_lines)) 9990 AND 9991 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 9992 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 9993 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 9994 (sspl\surface_style_parameter_line. 9995 style_of_parameter_lines\curve_style.curve_colour)) = 1) 9996 AND 9997 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF 9998 (sspl\surface_style_parameter_line. 9999 style_of_parameter_lines\curve_style.curve_width)) 10000 AND 10001 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10002 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10003 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF 10004 (sspl\surface_style_parameter_line. 10005 style_of_parameter_lines\curve_style.curve_font)) = 1)) 10006 OR 10007 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' 10008 IN TYPEOF 10009 (sspl\surface_style_parameter_line.style_of_parameter_lines)) 10010 AND 10011 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 10012 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10013 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 10014 (sspl\surface_style_parameter_line.style_of_parameter_lines\ 10015 curve_style_rendering.rendering_properties.rendered_colour)) 10016 = 1))) )) = 0))) = 0))) = 0))) = 0; 10017 WR12 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 10018 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 10019 IN TYPEOF (it)) | 10020 NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | 10021 NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | 10022 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 10023 IN TYPEOF (pss)) | 10024 NOT (SIZEOF (QUERY (sscg <* QUERY (sses <* 10025 ssu\surface_style_usage.style\surface_side_style.styles | 10026 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10027 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF (sses)) | 10028 NOT (( 10029 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' 10030 IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid)) 10031 AND 10032 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 10033 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10034 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 10035 (sscg\surface_style_control_grid. 10036 style_of_control_grid\curve_style.curve_colour)) = 1) 10037 AND 10038 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF 10039 (sscg\surface_style_control_grid. 10040 style_of_control_grid\curve_style.curve_width)) 10041 AND 10042 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10043 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10044 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF 10045 (sscg\surface_style_control_grid. 10046 style_of_control_grid\curve_style.curve_font)) = 1)) 10047 OR 10048 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' 10049 IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid)) 10050 AND 10051 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 10052 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10053 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 10054 (sscg\surface_style_control_grid.style_of_control_grid\ 10055 curve_style_rendering.rendering_properties.rendered_colour)) 10056 = 1))) )) = 0))) = 0))) = 0))) = 0; 10057 WR13 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 10058 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 10059 IN TYPEOF (it)) | 10060 NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | 10061 NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | 10062 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 10063 IN TYPEOF (pss)) | 10064 NOT (SIZEOF (QUERY (sssh <* QUERY (sses <* 10065 ssu\surface_style_usage.style\surface_side_style.styles | 10066 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10067 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF (sses)) | 10068 NOT (( 10069 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' 10070 IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette)) 10071 AND 10072 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 10073 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10074 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 10075 (sssh\surface_style_silhouette. 10076 style_of_silhouette\curve_style.curve_colour)) = 1) 10077 AND 10078 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF 10079 (sssh\surface_style_silhouette. 10080 style_of_silhouette\curve_style.curve_width)) 10081 AND 10082 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10083 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10084 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF 10085 (sssh\surface_style_silhouette. 10086 style_of_silhouette\curve_style.curve_font)) = 1)) 10087 OR 10088 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' 10089 IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette)) 10090 AND 10091 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 10092 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10093 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 10094 (sssh\surface_style_silhouette.style_of_silhouette\ 10095 curve_style_rendering.rendering_properties.rendered_colour)) 10096 = 1))) )) = 0))) = 0))) = 0))) = 0; 10097 WR14 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 10098 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 10099 IN TYPEOF (it)) | 10100 NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | 10101 NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | 10102 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 10103 IN TYPEOF (pss)) | 10104 NOT (SIZEOF (QUERY (sssc <* QUERY (sses <* 10105 ssu\surface_style_usage.style\surface_side_style.styles | 10106 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10107 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF (sses)) | 10108 NOT (( 10109 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' 10110 IN TYPEOF 10111 (sssc\surface_style_segmentation_curve.style_of_segmentation_curve)) 10112 AND 10113 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 10114 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10115 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 10116 (sssc\surface_style_segmentation_curve. 10117 style_of_segmentation_curve\curve_style.curve_colour)) = 1) 10118 AND 10119 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF 10120 (sssc\surface_style_segmentation_curve. 10121 style_of_segmentation_curve\curve_style.curve_width)) 10122 AND 10123 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10124 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10125 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF 10126 (sssc\surface_style_segmentation_curve. 10127 style_of_segmentation_curve\curve_style.curve_font)) = 1)) 10128 OR 10129 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' 10130 IN TYPEOF (sssc\surface_style_segmentation_curve. 10131 style_of_segmentation_curve)) 10132 AND 10133 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 10134 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10135 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 10136 (sssc\surface_style_segmentation_curve.style_of_segmentation_curve\ 10137 curve_style_rendering.rendering_properties.rendered_colour)) 10138 = 1))) )) = 0))) = 0))) = 0))) = 0; 10139 WR15 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 10140 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 10141 IN TYPEOF (it)) | 10142 NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | 10143 NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | 10144 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 10145 IN TYPEOF (pss)) | 10146 NOT (SIZEOF (QUERY (ssbd <* QUERY (sses <* 10147 ssu\surface_style_usage.style\surface_side_style.styles | 10148 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10149 'SURFACE_STYLE_BOUNDARY' IN TYPEOF (sses)) | 10150 NOT (( 10151 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' 10152 IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary)) 10153 AND 10154 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 10155 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10156 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 10157 (ssbd\surface_style_boundary. 10158 style_of_boundary\curve_style.curve_colour)) = 1) 10159 AND 10160 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF 10161 (ssbd\surface_style_boundary. 10162 style_of_boundary\curve_style.curve_width)) 10163 AND 10164 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10165 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10166 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF 10167 (ssbd\surface_style_boundary. 10168 style_of_boundary\curve_style.curve_font)) = 1)) 10169 OR 10170 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' 10171 IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary)) 10172 AND 10173 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 10174 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10175 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 10176 (ssbd\surface_style_boundary.style_of_boundary\ 10177 curve_style_rendering.rendering_properties.rendered_colour)) 10178 = 1))) )) = 0))) = 0))) = 0))) = 0; 10179 WR16 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items | 10180 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' 10181 IN TYPEOF (it)) | 10182 NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | 10183 NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | 10184 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' 10185 IN TYPEOF (pss)) | 10186 NOT (SIZEOF (QUERY (ssre <* QUERY (sses <* 10187 ssu\surface_style_usage.style\surface_side_style.styles | 10188 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10189 'SURFACE_STYLE_RENDERING' IN TYPEOF (sses)) | 10190 NOT 10191 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', 10192 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10193 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF 10194 (ssre\surface_style_rendering.surface_colour)) = 1))) 10195 = 0))) = 0))) = 0))) = 0; 10196END_ENTITY; 10197 10198 10199ENTITY min_and_major_ply_orientation_basis 10200 SUBTYPE OF (representation_item_relationship, geometric_representation_item); 10201 SELF\representation_item_relationship.related_representation_item : axis2_placement_3d; 10202 SELF\representation_item_relationship.relating_representation_item : axis2_placement_3d; 10203DERIVE 10204 major_orientation_basis : axis2_placement_3d := SELF\representation_item_relationship.related_representation_item; 10205 minor_orientation_basis : axis2_placement_3d := SELF\representation_item_relationship.relating_representation_item; 10206END_ENTITY; 10207 10208 10209ENTITY minimally_defined_bare_die_terminal 10210 SUPERTYPE OF (bare_die_terminal) 10211 SUBTYPE OF (shape_aspect); 10212 SELF\shape_aspect.of_shape : bare_die; 10213END_ENTITY; 10214 10215 10216ENTITY minimally_defined_connector 10217 SUBTYPE OF (packaged_part); 10218END_ENTITY; 10219 10220 10221ENTITY model_parameter 10222 SUPERTYPE OF (ONEOF (datum_difference_based_model_parameter, schema_based_model_parameter)) 10223 SUBTYPE OF (general_property); 10224END_ENTITY; 10225 10226 10227ENTITY model_parameter_with_unit 10228 SUBTYPE OF (model_parameter); 10229WHERE 10230 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SCHEMA_BASED_MODEL_PARAMETER' IN TYPEOF(SELF)); 10231END_ENTITY; 10232 10233 10234ENTITY modified_geometric_tolerance 10235 SUBTYPE OF (geometric_tolerance); 10236 modifier : limit_condition; 10237END_ENTITY; 10238 10239 10240ENTITY modified_solid 10241 ABSTRACT SUPERTYPE OF (ONEOF (edge_blended_solid, sculptured_solid, shelled_solid, modified_solid_with_placed_configuration)) 10242 SUBTYPE OF (solid_model); 10243 rationale : text; 10244 base_solid : base_solid_select; 10245END_ENTITY; 10246 10247 10248ENTITY modified_solid_with_placed_configuration 10249 ABSTRACT SUPERTYPE OF (ONEOF (solid_with_depression, solid_with_protrusion, solid_with_shape_element_pattern)) 10250 SUBTYPE OF (modified_solid); 10251 placing : axis2_placement_3d; 10252END_ENTITY; 10253 10254 10255ENTITY moments_of_inertia_representation 10256 SUBTYPE OF (representation); 10257WHERE 10258 WR1 : (SIZEOF(SELF.items) = 1) AND 10259 (SIZEOF( QUERY( i <* SELF.items | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND 10260 (i.name = 'moments of inertia matrix') )) = 1); 10261 WR2 : SIZEOF( QUERY( i <* SELF.items | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND 10262 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'LIST_REPRESENTATION_ITEM' IN TYPEOF(i\compound_representation_item.item_element)) AND 10263 value_range_aggregate_rep_item (i\compound_representation_item.item_element) )) = 1; 10264END_ENTITY; 10265 10266 10267ENTITY mounting_restriction_area 10268 SUBTYPE OF (shape_aspect); 10269END_ENTITY; 10270 10271 10272ENTITY mounting_restriction_volume 10273 SUBTYPE OF (shape_aspect); 10274END_ENTITY; 10275 10276 10277ENTITY multi_language_attribute_assignment 10278 SUBTYPE OF (attribute_value_assignment); 10279 items : SET [1:?] OF multi_language_attribute_item; 10280DERIVE 10281 translation_language : language := language_indication[1]\attribute_classification_assignment.assigned_class; 10282INVERSE 10283 language_indication: SET [1:1] OF attribute_language_assignment FOR items; 10284WHERE 10285 WR1 : (SELF\attribute_value_assignment.role.name = 'alternate language'); 10286 WR2 : SIZEOF( QUERY( ala <* language_indication | 10287 (ala\attribute_classification_assignment.attribute_name = 'attribute_value') AND 10288 (ala\attribute_classification_assignment.role.name='translated') )) = 1; 10289 WR3 : SELF\attribute_value_assignment.attribute_name <> ''; 10290 WR4 : SIZEOF(QUERY(ci <* items | 10291SIZEOF(QUERY(ata <* USEDIN(ci, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | 10292(ata\attribute_value_assignment.attribute_name = SELF\attribute_value_assignment.attribute_name) AND 10293(ata.translation_language :=: translation_language) ))>1 )) =0; 10294 WR5 : SIZEOF(QUERY(ci <* items | 10295SIZEOF(QUERY(ata <* USEDIN(ci, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | 10296 (ata\attribute_classification_assignment.role.name='primary') AND 10297 (ata\attribute_classification_assignment.attribute_name= SELF\attribute_value_assignment.attribute_name) AND 10298 (ata\attribute_classification_assignment.assigned_class :=: translation_language) ))>0 )) =0; 10299END_ENTITY; 10300 10301 10302ENTITY multi_layer_component_definition 10303 SUBTYPE OF (laminate_component); 10304END_ENTITY; 10305 10306 10307ENTITY multi_layer_material_removal_laminate_component 10308 SUBTYPE OF (material_removal_laminate_component); 10309END_ENTITY; 10310 10311 10312ENTITY multi_layer_stratum_feature_template_component 10313 SUBTYPE OF (stratum_feature_template_component); 10314END_ENTITY; 10315 10316 10317ENTITY multi_stratum_printed_component 10318 SUBTYPE OF (printed_component, structured_layout_component); 10319END_ENTITY; 10320 10321 10322ENTITY multi_stratum_printed_part_template 10323 SUBTYPE OF (structured_printed_part_template, multi_stratum_structured_template); 10324END_ENTITY; 10325 10326 10327ENTITY multi_stratum_special_symbol_component 10328 SUBTYPE OF (structured_layout_component); 10329END_ENTITY; 10330 10331 10332ENTITY multi_stratum_special_symbol_template 10333 SUBTYPE OF (multi_stratum_structured_template, special_symbol_template); 10334END_ENTITY; 10335 10336 10337ENTITY multi_stratum_structured_template 10338 ABSTRACT SUPERTYPE OF ((ONEOF (generic_footprint_definition, padstack_definition, multi_stratum_special_symbol_template) ANDOR stratum_stack_dependent_template)) 10339 SUBTYPE OF (structured_template); 10340END_ENTITY; 10341 10342 10343ENTITY multiple_arity_boolean_expression 10344 ABSTRACT SUPERTYPE 10345 SUBTYPE OF (boolean_expression, multiple_arity_generic_expression); 10346 SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF boolean_expression; 10347END_ENTITY; 10348 10349 10350ENTITY multiple_arity_generic_expression 10351 ABSTRACT SUPERTYPE 10352 SUBTYPE OF (generic_expression); 10353 operands : LIST [2:?] OF generic_expression; 10354END_ENTITY; 10355 10356 10357ENTITY multiple_arity_numeric_expression 10358 ABSTRACT SUPERTYPE 10359 SUBTYPE OF (numeric_expression, multiple_arity_generic_expression); 10360 SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF numeric_expression; 10361END_ENTITY; 10362 10363 10364ENTITY name_assignment 10365 ABSTRACT SUPERTYPE; 10366 assigned_name : label; 10367DERIVE 10368 role : object_role := get_role(SELF); 10369WHERE 10370 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; 10371END_ENTITY; 10372 10373 10374ENTITY name_attribute; 10375 attribute_value : label; 10376 named_item : name_attribute_select; 10377END_ENTITY; 10378 10379 10380ENTITY named_unit 10381 SUPERTYPE OF ((ONEOF (si_unit, conversion_based_unit, context_dependent_unit) ANDOR ONEOF (length_unit, mass_unit, time_unit, electric_current_unit, thermodynamic_temperature_unit, amount_of_substance_unit, luminous_flux_unit, luminous_intensity_unit, plane_angle_unit, solid_angle_unit, ratio_unit))); 10382 dimensions : dimensional_exponents; 10383END_ENTITY; 10384 10385 10386ENTITY network_node_definition 10387 SUBTYPE OF (product_definition); 10388END_ENTITY; 10389 10390 10391ENTITY next_assembly_usage_occurrence 10392 SUBTYPE OF (assembly_component_usage); 10393END_ENTITY; 10394 10395 10396ENTITY next_assembly_usage_occurrence_relationship 10397 SUBTYPE OF (next_assembly_usage_occurrence, product_definition_occurrence_relationship); 10398DERIVE 10399 SELF\product_definition_occurrence_relationship.occurrence_usage : next_assembly_usage_occurrence_relationship := SELF; 10400END_ENTITY; 10401 10402 10403ENTITY non_conductive_base_blind_via 10404 SUBTYPE OF (blind_via); 10405END_ENTITY; 10406 10407 10408ENTITY non_conductive_cross_section_template 10409 SUBTYPE OF (part_template_definition); 10410END_ENTITY; 10411 10412 10413ENTITY non_manifold_surface_shape_representation 10414 SUBTYPE OF (shape_representation); 10415WHERE 10416 WR1 : SIZEOF (QUERY (it <* SELF.items | 10417 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL', 10418 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 10419 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1))) 10420 = 0; 10421 WR2 : SIZEOF (QUERY (it <* SELF.items | 10422 SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL', 10423 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0; 10424 WR3 : SIZEOF (QUERY (mi <* QUERY (it <* SELF.items | 10425 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) | 10426 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 10427 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' 10428 IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) 10429 AND 10430 (SIZEOF(QUERY (mr_it <* 10431 mi\mapped_item.mapping_source.mapped_representation.items | 10432 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' 10433 IN TYPEOF (mr_it)))) > 0 )))) = 0; 10434 WR4 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | 10435 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 10436 NOT (SIZEOF (QUERY (cfs <* 10437 fbsm\face_based_surface_model.fbsm_faces | 10438 NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | 10439 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE', 10440 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE'] * TYPEOF (fa)) = 1))) 10441 = 0))) = 0))) = 0; 10442 WR5 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | 10443 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 10444 NOT (SIZEOF (QUERY (cfs <* 10445 fbsm\face_based_surface_model.fbsm_faces | 10446 NOT (SIZEOF (QUERY (f_sf <* QUERY (fa <* cfs.cfs_faces | 10447 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF (fa))) | 10448 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (f_sf)) 10449 OR 10450 (nmsf_surface_check(f_sf\face_surface.face_geometry))))) = 0))) 10451 = 0))) = 0; 10452 WR6 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | 10453 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 10454 NOT (SIZEOF (QUERY (cfs <* 10455 fbsm\face_based_surface_model.fbsm_faces | 10456 NOT (SIZEOF (QUERY (o_fa <* QUERY (fa <* cfs.cfs_faces | 10457 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF (fa))) | 10458 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF 10459 (o_fa\oriented_face.face_element)) 10460 OR 10461 (nmsf_surface_check 10462 (o_fa\oriented_face.face_element\face_surface.face_geometry))))) 10463 = 0))) = 0))) = 0; 10464 WR7 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | 10465 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 10466 NOT (SIZEOF (QUERY (cfs <* 10467 fbsm\face_based_surface_model.fbsm_faces | 10468 NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | 10469 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 10470 OR 10471 (SIZEOF (QUERY (bnds <* fa.bounds | 10472 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP', 10473 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP'] 10474 * TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0; 10475 WR8 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items| 10476 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 10477 NOT (SIZEOF (QUERY (cfs <* 10478 fbsm\face_based_surface_model.fbsm_faces | 10479 NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | 10480 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 10481 OR 10482 (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | 10483 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | 10484 NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | 10485 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF 10486 (oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0; 10487 WR9 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | 10488 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 10489 NOT (SIZEOF (QUERY (cfs <* 10490 fbsm\face_based_surface_model.fbsm_faces | 10491 NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | 10492 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 10493 OR 10494 (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | 10495 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | 10496 NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <* 10497 elp_fbnds\path.edge_list | 10498 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) | 10499 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', 10500 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 10501 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA', 10502 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 10503 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D', 10504 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE', 10505 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', 10506 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE'] * 10507 TYPEOF (oe_cv.edge_element\edge_curve.edge_geometry)) 10508 = 1))) = 0))) = 0)))) = 0))) = 0))) = 0; 10509 WR10 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | 10510 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 10511 NOT (SIZEOF (QUERY (cfs <* 10512 fbsm\face_based_surface_model.fbsm_faces | 10513 NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | 10514 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 10515 OR 10516 (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | 10517 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | 10518 NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | 10519 NOT (nmsf_curve_check (oe.edge_element\edge_curve.edge_geometry)))) 10520 = 0))) = 0)))) = 0))) = 0))) = 0; 10521 WR11 : SIZEOF (QUERY(fbsm <* QUERY (it <* SELF.items | 10522 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 10523 NOT (SIZEOF (QUERY (cfs <* 10524 fbsm\face_based_surface_model.fbsm_faces | 10525 NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | 10526 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 10527 OR 10528 (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | 10529 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | 10530 NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list| 10531 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF 10532 (oe.edge_element.edge_start)) 10533 AND 10534 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN 10535 TYPEOF (oe.edge_element.edge_end))))) 10536 = 0))) = 0)))) = 0))) = 0))) = 0; 10537 WR12 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | 10538 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 10539 NOT (SIZEOF (QUERY (cfs <* 10540 fbsm\face_based_surface_model.fbsm_faces | 10541 NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | 10542 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 10543 OR 10544 (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | 10545 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | 10546 NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | 10547 NOT ((SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', 10548 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE', 10549 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE', 10550 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF 10551 (oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1) 10552 AND 10553 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', 10554 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE', 10555 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE', 10556 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF 10557 (oe.edge_element.edge_end\vertex_point.vertex_geometry)) = 1 10558 )))) = 0))) = 0)))) = 0))) = 0))) = 0; 10559 WR13 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | 10560 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 10561 NOT (SIZEOF (QUERY (cfs <* 10562 fbsm\face_based_surface_model.fbsm_faces | 10563 NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | 10564 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 10565 OR 10566 (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | 10567 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | 10568 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF 10569 (vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0))) 10570 = 0))) = 0; 10571 WR14 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | 10572 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | 10573 NOT (SIZEOF (QUERY (cfs <* 10574 fbsm\face_based_surface_model.fbsm_faces | 10575 NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | 10576 NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) 10577 OR 10578 (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | 10579 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | 10580 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', 10581 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE', 10582 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE', 10583 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF 10584 (vlp_fbnds\vertex_loop.loop_vertex\vertex_point.vertex_geometry)) 10585 = 1))) = 0)))) = 0))) = 0))) = 0; 10586END_ENTITY; 10587 10588 10589ENTITY null_representation_item 10590 SUBTYPE OF (representation_item); 10591END_ENTITY; 10592 10593 10594ENTITY numeric_expression 10595 ABSTRACT SUPERTYPE OF (ONEOF (simple_numeric_expression, unary_numeric_expression, binary_numeric_expression, multiple_arity_numeric_expression)) 10596 SUBTYPE OF (expression); 10597DERIVE 10598 is_int : LOGICAL := is_int_expr (SELF); 10599 sql_mappable : LOGICAL := is_SQL_mappable (SELF); 10600END_ENTITY; 10601 10602 10603ENTITY object_role; 10604 name : label; 10605 description : OPTIONAL text; 10606END_ENTITY; 10607 10608 10609ENTITY offset_curve_2d 10610 SUBTYPE OF (curve); 10611 basis_curve : curve; 10612 distance : length_measure; 10613 self_intersect : LOGICAL; 10614WHERE 10615 WR1 : basis_curve.dim = 2; 10616END_ENTITY; 10617 10618 10619ENTITY offset_curve_3d 10620 SUBTYPE OF (curve); 10621 basis_curve : curve; 10622 distance : length_measure; 10623 self_intersect : LOGICAL; 10624 ref_direction : direction; 10625WHERE 10626 WR1 : (basis_curve.dim = 3) AND (ref_direction.dim = 3); 10627END_ENTITY; 10628 10629 10630ENTITY offset_surface 10631 SUBTYPE OF (surface); 10632 basis_surface : surface; 10633 distance : length_measure; 10634 self_intersect : LOGICAL; 10635END_ENTITY; 10636 10637 10638ENTITY one_direction_repeat_factor 10639 SUBTYPE OF (geometric_representation_item); 10640 repeat_factor : vector; 10641END_ENTITY; 10642 10643 10644ENTITY open_shell 10645 SUBTYPE OF (connected_face_set); 10646END_ENTITY; 10647 10648 10649ENTITY operational_requirement_relationship 10650 SUBTYPE OF (property_definition, product_definition_relationship); 10651END_ENTITY; 10652 10653 10654ENTITY opposing_boundary_dimensional_size 10655 SUBTYPE OF (dimensional_size); 10656END_ENTITY; 10657 10658 10659ENTITY ordinal_date 10660 SUBTYPE OF (date); 10661 day_component : day_in_year_number; 10662WHERE 10663 WR1 : (NOT leap_year(SELF.year_component) AND { 1 <= day_component <= 365 }) OR (leap_year(SELF.year_component) AND { 1 <= day_component <= 366 }); 10664END_ENTITY; 10665 10666 10667ENTITY ordinate_dimension 10668 SUBTYPE OF (projection_directed_callout); 10669END_ENTITY; 10670 10671 10672ENTITY organization; 10673 id : OPTIONAL identifier; 10674 name : label; 10675 description : OPTIONAL text; 10676END_ENTITY; 10677 10678 10679ENTITY organization_assignment 10680 ABSTRACT SUPERTYPE; 10681 assigned_organization : organization; 10682 role : organization_role; 10683END_ENTITY; 10684 10685 10686ENTITY organization_relationship; 10687 name : label; 10688 description : OPTIONAL text; 10689 relating_organization : organization; 10690 related_organization : organization; 10691END_ENTITY; 10692 10693 10694ENTITY organization_role; 10695 name : label; 10696DERIVE 10697 description : text := get_description_value(SELF); 10698WHERE 10699 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 10700END_ENTITY; 10701 10702 10703ENTITY organizational_address 10704 SUBTYPE OF (address); 10705 organizations : SET [1:?] OF organization; 10706 description : OPTIONAL text; 10707END_ENTITY; 10708 10709 10710ENTITY organizational_project; 10711 name : label; 10712 description : OPTIONAL text; 10713 responsible_organizations : SET [1:?] OF organization; 10714DERIVE 10715 id : identifier := get_id_value(SELF); 10716WHERE 10717 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; 10718END_ENTITY; 10719 10720 10721ENTITY organizational_project_assignment 10722 ABSTRACT SUPERTYPE; 10723 assigned_organizational_project : organizational_project; 10724 role : organizational_project_role; 10725END_ENTITY; 10726 10727 10728ENTITY organizational_project_relationship; 10729 name : label; 10730 description : OPTIONAL text; 10731 relating_organizational_project : organizational_project; 10732 related_organizational_project : organizational_project; 10733END_ENTITY; 10734 10735 10736ENTITY organizational_project_role; 10737 name : label; 10738 description : OPTIONAL text; 10739END_ENTITY; 10740 10741 10742ENTITY oriented_closed_shell 10743 SUBTYPE OF (closed_shell); 10744 closed_shell_element : closed_shell; 10745 orientation : BOOLEAN; 10746DERIVE 10747 SELF\connected_face_set.cfs_faces : SET [1:?] OF face := conditional_reverse(SELF.orientation, 10748 SELF.closed_shell_element.cfs_faces); 10749WHERE 10750 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' 10751 IN TYPEOF (SELF.closed_shell_element)); 10752END_ENTITY; 10753 10754 10755ENTITY oriented_edge 10756 SUBTYPE OF (edge); 10757 edge_element : edge; 10758 orientation : BOOLEAN; 10759DERIVE 10760 SELF\edge.edge_end : vertex := boolean_choose (SELF.orientation, 10761 SELF.edge_element.edge_end, 10762 SELF.edge_element.edge_start); 10763 SELF\edge.edge_start : vertex := boolean_choose (SELF.orientation, 10764 SELF.edge_element.edge_start, 10765 SELF.edge_element.edge_end); 10766WHERE 10767 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_EDGE' IN TYPEOF (SELF.edge_element)); 10768END_ENTITY; 10769 10770 10771ENTITY oriented_face 10772 SUBTYPE OF (face); 10773 face_element : face; 10774 orientation : BOOLEAN; 10775DERIVE 10776 SELF\face.bounds : SET [1:?] OF face_bound := conditional_reverse(SELF.orientation,SELF.face_element.bounds); 10777WHERE 10778 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF (SELF.face_element)); 10779END_ENTITY; 10780 10781 10782ENTITY oriented_open_shell 10783 SUBTYPE OF (open_shell); 10784 open_shell_element : open_shell; 10785 orientation : BOOLEAN; 10786DERIVE 10787 SELF\connected_face_set.cfs_faces : SET [1:?] OF face := conditional_reverse(SELF.orientation, 10788 SELF.open_shell_element.cfs_faces); 10789WHERE 10790 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_OPEN_SHELL' 10791 IN TYPEOF (SELF.open_shell_element)); 10792END_ENTITY; 10793 10794 10795ENTITY oriented_path 10796 SUBTYPE OF (path); 10797 path_element : path; 10798 orientation : BOOLEAN; 10799DERIVE 10800 SELF\path.edge_list : LIST [1:?] OF UNIQUE oriented_edge := conditional_reverse(SELF.orientation, 10801 SELF.path_element.edge_list); 10802WHERE 10803 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF (SELF.path_element)); 10804END_ENTITY; 10805 10806 10807ENTITY oriented_surface 10808 SUBTYPE OF (surface); 10809 orientation : BOOLEAN; 10810END_ENTITY; 10811 10812 10813ENTITY outer_boundary_curve 10814 SUBTYPE OF (boundary_curve); 10815END_ENTITY; 10816 10817 10818ENTITY over_riding_styled_item 10819 SUBTYPE OF (styled_item); 10820 over_ridden_style : styled_item; 10821END_ENTITY; 10822 10823 10824ENTITY package 10825 SUBTYPE OF (physical_unit); 10826END_ENTITY; 10827 10828 10829ENTITY package_body 10830 SUBTYPE OF (shape_aspect); 10831END_ENTITY; 10832 10833 10834ENTITY package_body_bottom_surface 10835 SUBTYPE OF (package_body_surface); 10836END_ENTITY; 10837 10838 10839ENTITY package_body_edge_segment_surface 10840 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 10841 SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; 10842 SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; 10843WHERE 10844 WR1 : SELF\shape_aspect_relationship.relating_shape_aspect :<>: 10845 SELF\shape_aspect_relationship.related_shape_aspect; 10846END_ENTITY; 10847 10848 10849ENTITY package_body_edge_surface 10850 SUBTYPE OF (package_body_surface); 10851END_ENTITY; 10852 10853 10854ENTITY package_body_surface 10855 ABSTRACT SUPERTYPE OF (ONEOF (package_body_top_surface, package_body_edge_surface, package_body_bottom_surface)) 10856 SUBTYPE OF (shape_aspect); 10857END_ENTITY; 10858 10859 10860ENTITY package_body_top_surface 10861 SUBTYPE OF (package_body_surface); 10862END_ENTITY; 10863 10864 10865ENTITY package_footprint_relationship_definition 10866 SUBTYPE OF (part_template_definition); 10867END_ENTITY; 10868 10869 10870ENTITY package_product_concept_feature 10871 SUBTYPE OF (product_concept_feature); 10872WHERE 10873 WR1 : NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF ( SELF ) ); 10874 WR2 : SIZEOF ( QUERY 10875 ( 10876 cfr <* USEDIN ( SELF , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.' +'RELATING_PRODUCT_CONCEPT_FEATURE' ) 10877 | 10878 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF (cfr ) ) 10879 AND 10880 ( SIZEOF ( QUERY 10881 ( 10882 ipcf <* USEDIN ( cfr , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.' + 'CONDITION' ) 10883 | 10884 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( ipcf ) 10885 ) 10886 )= 1 10887 ) 10888 ) 10889 )>0; 10890END_ENTITY; 10891 10892 10893ENTITY package_terminal 10894 SUPERTYPE OF ((guided_wave_terminal ANDOR primary_reference_terminal)) 10895 SUBTYPE OF (placed_feature); 10896END_ENTITY; 10897 10898 10899ENTITY package_terminal_template_definition 10900 SUBTYPE OF (part_feature_template_definition); 10901END_ENTITY; 10902 10903 10904ENTITY packaged_component 10905 SUBTYPE OF (physical_component); 10906END_ENTITY; 10907 10908 10909ENTITY packaged_connector 10910 SUBTYPE OF (packaged_part); 10911END_ENTITY; 10912 10913 10914ENTITY packaged_connector_component 10915 SUBTYPE OF (interface_component, packaged_component); 10916END_ENTITY; 10917 10918 10919ENTITY packaged_connector_terminal_relationship 10920 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 10921END_ENTITY; 10922 10923 10924ENTITY packaged_part 10925 SUPERTYPE OF (ONEOF (minimally_defined_connector, packaged_connector)) 10926 SUBTYPE OF (physical_unit); 10927END_ENTITY; 10928 10929 10930ENTITY packaged_part_terminal 10931 SUBTYPE OF (shape_aspect); 10932END_ENTITY; 10933 10934 10935ENTITY padstack_definition 10936 SUPERTYPE OF (passage_padstack_definition) 10937 SUBTYPE OF (multi_stratum_structured_template); 10938END_ENTITY; 10939 10940 10941ENTITY padstack_occurrence 10942 SUBTYPE OF (structured_layout_component); 10943END_ENTITY; 10944 10945 10946ENTITY padstack_occurrence_product_definition_relationship 10947 SUBTYPE OF (property_definition, next_assembly_usage_occurrence_relationship); 10948WHERE 10949 WR1 : SELF\product_definition_relationship.related_product_definition :<>: 10950 SELF\product_definition_relationship.relating_product_definition; 10951END_ENTITY; 10952 10953 10954ENTITY parabola 10955 SUBTYPE OF (conic); 10956 focal_dist : length_measure; 10957WHERE 10958 WR1 : focal_dist <> 0.0; 10959END_ENTITY; 10960 10961 10962ENTITY parallel_offset 10963 SUBTYPE OF (derived_shape_aspect); 10964 offset : measure_with_unit; 10965WHERE 10966 WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; 10967END_ENTITY; 10968 10969 10970ENTITY parallelism_tolerance 10971 SUBTYPE OF (geometric_tolerance_with_datum_reference); 10972WHERE 10973 WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) < 3; 10974END_ENTITY; 10975 10976 10977ENTITY parameter_assignment 10978 SUBTYPE OF (property_definition_representation, representation); 10979END_ENTITY; 10980 10981 10982ENTITY parameter_assignment_override 10983 SUBTYPE OF (representation, representation_relationship); 10984 SELF\representation_relationship.rep_1 : parameter_assignment; 10985 SELF\representation_relationship.rep_2 : parameter_assignment; 10986UNIQUE 10987 UR1 : rep_1, rep_2; 10988WHERE 10989 WR1 : SELF\representation_relationship.rep_1 <> SELF\representation_relationship.rep_2; 10990END_ENTITY; 10991 10992 10993ENTITY parametric_representation_context 10994 SUBTYPE OF (representation_context); 10995END_ENTITY; 10996 10997 10998ENTITY parametric_template 10999 ABSTRACT SUPERTYPE OF (ONEOF (fill_area_template, teardrop_template, trace_template)) 11000 SUBTYPE OF (part_template_definition); 11001END_ENTITY; 11002 11003 11004ENTITY part_connected_terminals_definition 11005 SUBTYPE OF (shape_aspect); 11006UNIQUE 11007 UR1 : SELF\shape_aspect.name; 11008END_ENTITY; 11009 11010 11011ENTITY part_connected_terminals_definition_domain 11012 SUBTYPE OF (shape_aspect); 11013END_ENTITY; 11014 11015 11016ENTITY part_connected_terminals_element 11017 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 11018END_ENTITY; 11019 11020 11021ENTITY part_connected_terminals_layout_topology_requirement_assignment 11022 SUBTYPE OF (requirement_assignment); 11023END_ENTITY; 11024 11025 11026ENTITY part_connected_terminals_structure_definition 11027 SUBTYPE OF (part_connected_terminals_definition); 11028END_ENTITY; 11029 11030 11031ENTITY part_feature_template_definition 11032 SUBTYPE OF (shape_feature_definition, group); 11033WHERE 11034 WR1 : SELF\group.name = SELF\characterized_object.name; 11035 WR2 : SELF\group.description = SELF\characterized_object.description; 11036END_ENTITY; 11037 11038 11039ENTITY part_interface_access_feature 11040 SUBTYPE OF (shape_aspect); 11041END_ENTITY; 11042 11043 11044ENTITY part_laminate_table 11045 SUPERTYPE OF (ONEOF (composite_assembly_table, ply_laminate_table)) 11046 SUBTYPE OF (laminate_table); 11047END_ENTITY; 11048 11049 11050ENTITY part_mating_feature 11051 SUBTYPE OF (shape_aspect); 11052END_ENTITY; 11053 11054 11055ENTITY part_mounting_feature 11056 SUBTYPE OF (shape_aspect); 11057END_ENTITY; 11058 11059 11060ENTITY part_string_template 11061 SUBTYPE OF (part_template_definition); 11062END_ENTITY; 11063 11064 11065ENTITY part_template_definition 11066 SUPERTYPE OF (((ONEOF (geometric_template, parametric_template) ANDOR ONEOF (part_string_template, part_text_template, single_stratum_template, stratum_stack_model)) ANDOR ONEOF (printed_part_template, special_symbol_template, non_conductive_cross_section_template))) 11067 SUBTYPE OF (product_definition, product_definition_shape); 11068DERIVE 11069 SELF\property_definition.definition : part_template_definition := SELF; 11070WHERE 11071 WR1 : SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'NAME_ATTRIBUTE.NAMED_ITEM')) = 0; 11072 WR2 : NOT EXISTS(SELF\property_definition.description); 11073END_ENTITY; 11074 11075 11076ENTITY part_template_keepout_shape_allocation_to_stratum_stack 11077 SUBTYPE OF (characterized_object, property_definition); 11078DERIVE 11079 SELF\property_definition.definition : part_template_keepout_shape_allocation_to_stratum_stack := SELF; 11080END_ENTITY; 11081 11082 11083ENTITY part_terminal_external_reference 11084 SUBTYPE OF (shape_aspect); 11085END_ENTITY; 11086 11087 11088ENTITY part_text_template 11089 SUBTYPE OF (part_template_definition); 11090END_ENTITY; 11091 11092 11093ENTITY part_tooling_feature 11094 SUPERTYPE OF ((ONEOF (fiducial_part_feature, tool_registration_mark) ANDOR test_point_part_feature)) 11095 SUBTYPE OF (shape_aspect); 11096WHERE 11097 WR1 : SELF\shape_aspect.product_definitional = true; 11098END_ENTITY; 11099 11100 11101ENTITY partial_document_with_structured_text_representation_assignment 11102 SUBTYPE OF (applied_document_usage_constraint_assignment, characterized_object); 11103END_ENTITY; 11104 11105 11106ENTITY partially_plated_cutout 11107 SUBTYPE OF (cutout); 11108END_ENTITY; 11109 11110 11111ENTITY partially_plated_interconnect_module_edge 11112 SUBTYPE OF (interconnect_module_edge); 11113END_ENTITY; 11114 11115 11116ENTITY passage_deposition_material_identification 11117 SUBTYPE OF (material_designation); 11118 SELF\material_designation.definitions : SET [1:?] OF passage_technology; 11119END_ENTITY; 11120 11121 11122ENTITY passage_filling_material_identification 11123 SUBTYPE OF (material_designation); 11124 SELF\material_designation.definitions : SET [1:?] OF passage_technology; 11125END_ENTITY; 11126 11127 11128ENTITY passage_padstack_definition 11129 SUBTYPE OF (padstack_definition); 11130END_ENTITY; 11131 11132 11133ENTITY passage_technology 11134 SUBTYPE OF (characterized_object, product_definition_shape); 11135DERIVE 11136 SELF\property_definition.definition : characterized_definition := SELF; 11137UNIQUE 11138 UR1: SELF\characterized_object.name; 11139END_ENTITY; 11140 11141 11142ENTITY passage_technology_allocation_to_stack_model 11143 SUBTYPE OF (stratum_sub_stack); 11144END_ENTITY; 11145 11146 11147ENTITY passage_terminal_based_fabrication_joint_link 11148 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 11149END_ENTITY; 11150 11151 11152ENTITY path 11153 SUPERTYPE OF (ONEOF (edge_loop, oriented_path)) 11154 SUBTYPE OF (topological_representation_item); 11155 edge_list : LIST [1:?] OF UNIQUE oriented_edge; 11156WHERE 11157 WR1 : path_head_to_tail(SELF); 11158END_ENTITY; 11159 11160 11161ENTITY path_area_with_parameters 11162 SUBTYPE OF (complex_area, mapped_item); 11163WHERE 11164 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF(SELF\mapped_item.mapping_target); 11165 WR2 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_PARAMETERS_REPRESENTATION' IN TYPEOF(SELF\mapped_item.mapping_source\representation_map.mapped_representation); 11166 WR3 : SELF\mapped_item.mapping_source\representation_map.mapping_origin\representation_item.name = 'curve width'; 11167END_ENTITY; 11168 11169 11170ENTITY pcurve 11171 SUBTYPE OF (curve); 11172 basis_surface : surface; 11173 reference_to_curve : definitional_representation; 11174WHERE 11175 WR1 : SIZEOF(reference_to_curve\representation.items) = 1; 11176 WR2 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF 11177 (reference_to_curve\representation.items[1]); 11178 WR3 : reference_to_curve\representation.items[1]\ 11179 geometric_representation_item.dim =2; 11180END_ENTITY; 11181 11182 11183ENTITY percentage_laminate_definition 11184 SUBTYPE OF (product_definition); 11185WHERE 11186 WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF, 11187 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 11188 'PRODUCT_DEFINITION_RELATIONSHIP.' + 11189 'RELATING_PRODUCT_DEFINITION') | 11190 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 11191 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN 11192 TYPEOF (pdr))) > 0; 11193END_ENTITY; 11194 11195 11196ENTITY percentage_laminate_table 11197 SUBTYPE OF (zone_structural_makeup); 11198END_ENTITY; 11199 11200 11201ENTITY percentage_ply_definition 11202 SUBTYPE OF (product_definition); 11203WHERE 11204 WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 11205 'PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION') | 11206 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PERCENTAGE_LAMINATE_DEFINITION' 11207 IN TYPEOF (pdr.related_product_definition)) AND 11208 (pdr.name = 'makeup and properties'))) = 0; 11209END_ENTITY; 11210 11211 11212ENTITY perpendicular_to 11213 SUBTYPE OF (derived_shape_aspect); 11214WHERE 11215 WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; 11216END_ENTITY; 11217 11218 11219ENTITY perpendicularity_tolerance 11220 SUBTYPE OF (geometric_tolerance_with_datum_reference); 11221WHERE 11222 WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3; 11223END_ENTITY; 11224 11225 11226ENTITY person; 11227 id : identifier; 11228 last_name : OPTIONAL label; 11229 first_name : OPTIONAL label; 11230 middle_names : OPTIONAL LIST [1:?] OF label; 11231 prefix_titles : OPTIONAL LIST [1:?] OF label; 11232 suffix_titles : OPTIONAL LIST [1:?] OF label; 11233WHERE 11234 WR1 : EXISTS(last_name) OR EXISTS(first_name); 11235END_ENTITY; 11236 11237 11238ENTITY person_and_organization; 11239 the_person : person; 11240 the_organization : organization; 11241DERIVE 11242 description : text := get_description_value(SELF); 11243 name : label := get_name_value(SELF); 11244WHERE 11245 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; 11246 WR2 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 11247END_ENTITY; 11248 11249 11250ENTITY person_and_organization_address 11251 SUBTYPE OF (organizational_address, personal_address); 11252 SELF\organizational_address.organizations : SET [1:1] OF organization; 11253 SELF\personal_address.people : SET [1:1] OF person; 11254WHERE 11255 WR1 : SIZEOF(QUERY(pao <* USEDIN (SELF\personal_address.people[1], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PERSON_AND_ORGANIZATION.THE_PERSON') | pao.the_organization :=: SELF\organizational_address.organizations[1])) = 1; 11256END_ENTITY; 11257 11258 11259ENTITY person_and_organization_assignment 11260 ABSTRACT SUPERTYPE; 11261 assigned_person_and_organization : person_and_organization; 11262 role : person_and_organization_role; 11263END_ENTITY; 11264 11265 11266ENTITY person_and_organization_role; 11267 name : label; 11268DERIVE 11269 description : text := get_description_value(SELF); 11270WHERE 11271 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 11272END_ENTITY; 11273 11274 11275ENTITY personal_address 11276 SUBTYPE OF (address); 11277 people : SET [1:?] OF person; 11278 description : OPTIONAL text; 11279END_ENTITY; 11280 11281 11282ENTITY physical_breakdown_context 11283 SUBTYPE OF (breakdown_context); 11284END_ENTITY; 11285 11286 11287ENTITY physical_component 11288 SUPERTYPE OF (ONEOF (assembly_module_component, assembly_module_macro_component, bare_die_component, cable_component, interconnect_module_component, interconnect_module_macro_component, packaged_component, routed_interconnect_component, routed_physical_component, sequential_laminate_stackup_component)) 11289 SUBTYPE OF (assembly_component); 11290END_ENTITY; 11291 11292 11293ENTITY physical_component_feature 11294 SUPERTYPE OF (ONEOF (physical_component_terminal, physical_component_interface_terminal)) 11295 SUBTYPE OF (component_feature); 11296END_ENTITY; 11297 11298 11299ENTITY physical_component_interface_terminal 11300 SUBTYPE OF (physical_component_feature); 11301END_ENTITY; 11302 11303 11304ENTITY physical_component_terminal 11305 SUPERTYPE OF (ONEOF (assembly_module_macro_component_join_terminal, interconnect_module_macro_component_join_terminal)) 11306 SUBTYPE OF (component_terminal, physical_component_feature); 11307END_ENTITY; 11308 11309 11310ENTITY physical_connectivity_definition 11311 SUBTYPE OF (shape_aspect); 11312UNIQUE 11313 UR1 : SELF\shape_aspect.name, SELF\shape_aspect.of_shape; 11314END_ENTITY; 11315 11316 11317ENTITY physical_connectivity_definition_domain 11318 SUBTYPE OF (property_definition); 11319END_ENTITY; 11320 11321 11322ENTITY physical_connectivity_element 11323 SUBTYPE OF (shape_aspect_relationship, shape_aspect); 11324END_ENTITY; 11325 11326 11327ENTITY physical_connectivity_interrupting_cutout 11328 SUBTYPE OF (cutout); 11329END_ENTITY; 11330 11331 11332ENTITY physical_connectivity_layout_topology_link 11333 SUBTYPE OF (group_relationship); 11334END_ENTITY; 11335 11336 11337ENTITY physical_connectivity_layout_topology_node 11338 SUBTYPE OF (group); 11339END_ENTITY; 11340 11341 11342ENTITY physical_connectivity_layout_topology_requirement 11343 SUBTYPE OF (predefined_requirement_view_definition, group); 11344END_ENTITY; 11345 11346 11347ENTITY physical_connectivity_layout_topology_requirement_assignment 11348 SUBTYPE OF (requirement_assignment); 11349END_ENTITY; 11350 11351 11352ENTITY physical_element_usage 11353 SUBTYPE OF (breakdown_element_usage); 11354END_ENTITY; 11355 11356 11357ENTITY physical_network 11358 SUBTYPE OF (shape_aspect); 11359END_ENTITY; 11360 11361 11362ENTITY physical_network_group 11363 ABSTRACT SUPERTYPE OF (ONEOF (pre_defined_physical_network_group, externally_defined_physical_network_group)) 11364 SUBTYPE OF (group); 11365END_ENTITY; 11366 11367 11368ENTITY physical_network_group_element_relationship 11369 ABSTRACT SUPERTYPE OF (ONEOF (pre_defined_physical_network_group_element_relationship, externally_defined_physical_network_group_element_relationship)) 11370 SUBTYPE OF (group_relationship); 11371END_ENTITY; 11372 11373 11374ENTITY physical_network_supporting_inter_stratum_feature 11375 SUBTYPE OF (plated_inter_stratum_feature); 11376END_ENTITY; 11377 11378 11379ENTITY physical_node_branch_requirement_to_implementing_component_allocation 11380 SUBTYPE OF (shape_aspect_relationship, shape_aspect); 11381 SELF\shape_aspect.of_shape : assembly_component; 11382 SELF\shape_aspect_relationship.related_shape_aspect : physical_connectivity_element; 11383 SELF\shape_aspect_relationship.relating_shape_aspect : part_connected_terminals_element; 11384DERIVE 11385 implementation_component : assembly_component := SELF\shape_aspect.of_shape; 11386 part_element : part_connected_terminals_element := SELF\shape_aspect_relationship.relating_shape_aspect; 11387 physical_node_branch_requirement : physical_connectivity_element := SELF\shape_aspect_relationship.related_shape_aspect; 11388END_ENTITY; 11389 11390 11391ENTITY physical_node_requirement_to_implementing_component_allocation 11392 SUBTYPE OF (shape_aspect_relationship, shape_aspect); 11393 SELF\shape_aspect_relationship.relating_shape_aspect : physical_connectivity_definition; 11394WHERE 11395 WR1 : acyclic_shape_aspect_relationship(SELF, 11396 [SELF\shape_aspect_relationship.related_shape_aspect], 11397 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 11398 'PHYSICAL_NODE_REQUIREMENT_TO_IMPLEMENTING_COMPONENT_ALLOCATION'); 11399END_ENTITY; 11400 11401 11402ENTITY physical_shield 11403 SUBTYPE OF (physical_component); 11404END_ENTITY; 11405 11406 11407ENTITY physical_unit 11408 SUPERTYPE OF (ONEOF (bare_die, cable_usage_view, package, packaged_part, assembly_module_design_view, interconnect_module_design_view)) 11409 SUBTYPE OF (product_definition, product_definition_shape); 11410DERIVE 11411 SELF\property_definition.definition : physical_unit := SELF; 11412WHERE 11413 WR1 : SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'NAME_ATTRIBUTE.NAMED_ITEM')) = 0; 11414 WR2 : NOT EXISTS(SELF\property_definition.description); 11415END_ENTITY; 11416 11417 11418ENTITY physical_unit_datum_feature 11419 SUBTYPE OF (shape_aspect); 11420END_ENTITY; 11421 11422 11423ENTITY physical_unit_geometric_tolerance 11424 SUBTYPE OF (geometric_tolerance, property_definition); 11425END_ENTITY; 11426 11427 11428ENTITY physical_unit_interconnect_definition 11429 SUBTYPE OF (product_definition); 11430END_ENTITY; 11431 11432 11433ENTITY physical_unit_keepout_shape_allocation_to_stratum_stack 11434 SUBTYPE OF (representation, representation_relationship); 11435END_ENTITY; 11436 11437 11438ENTITY physical_unit_keepout_shape_allocation_to_stratum_technology 11439 SUBTYPE OF (representation); 11440END_ENTITY; 11441 11442 11443ENTITY physical_unit_network_definition 11444 SUBTYPE OF (physical_unit); 11445END_ENTITY; 11446 11447 11448ENTITY picture_representation 11449 SUBTYPE OF (presentation_view); 11450 SELF\representation.items : SET [2:?] OF picture_representation_item_select; 11451INVERSE 11452 size: presentation_size FOR unit; 11453WHERE 11454 WR1: SIZEOF(QUERY(item <* items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF(item))) = 1; 11455 WR2: SIZEOF (QUERY (se <* QUERY (item <* SELF.items | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF (item))) 11456 | NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PICTURE_REPRESENTATION_ITEM' 11457 IN TYPEOF (se\styled_item.item)) )) = 0; 11458END_ENTITY; 11459 11460 11461ENTITY picture_representation_item 11462 ABSTRACT SUPERTYPE OF (ONEOF (externally_defined_picture_representation_item, predefined_picture_representation_item)) 11463 SUBTYPE OF (bytes_representation_item); 11464END_ENTITY; 11465 11466 11467ENTITY placed_datum_target_feature 11468 SUBTYPE OF (datum_target); 11469DERIVE 11470 representation_associations : SET [0:?] OF property_definition_representation := get_shape_aspect_property_definition_representations(SELF); 11471WHERE 11472 WR1 : SELF.description IN ['point','line','rectangle','circle', 'circular line']; 11473 WR2 : SIZEOF (QUERY (pdr <* representation_associations | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF (pdr.used_representation) )) = 1; 11474 WR3 : valid_datum_target_parameters(SELF); 11475END_ENTITY; 11476 11477 11478ENTITY placed_feature 11479 SUBTYPE OF (shape_aspect); 11480END_ENTITY; 11481 11482 11483ENTITY placement 11484 SUPERTYPE OF (ONEOF (axis1_placement, axis2_placement_2d, axis2_placement_3d)) 11485 SUBTYPE OF (geometric_representation_item); 11486 location : cartesian_point; 11487END_ENTITY; 11488 11489 11490ENTITY planar_box 11491 SUBTYPE OF (planar_extent); 11492 placement : axis2_placement; 11493END_ENTITY; 11494 11495 11496ENTITY planar_closed_path_shape_representation_with_parameters 11497 SUBTYPE OF (planar_path_shape_representation_with_parameters); 11498END_ENTITY; 11499 11500 11501ENTITY planar_extent 11502 SUBTYPE OF (geometric_representation_item); 11503 size_in_x : length_measure; 11504 size_in_y : length_measure; 11505END_ENTITY; 11506 11507 11508ENTITY planar_path_shape_representation_with_parameters 11509 SUBTYPE OF (single_area_csg_2d_shape_representation); 11510END_ENTITY; 11511 11512 11513ENTITY plane 11514 SUBTYPE OF (elementary_surface); 11515END_ENTITY; 11516 11517 11518ENTITY plane_angle_measure_with_unit 11519 SUBTYPE OF (measure_with_unit); 11520WHERE 11521 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 11522END_ENTITY; 11523 11524 11525ENTITY plane_angle_unit 11526 SUBTYPE OF (named_unit); 11527WHERE 11528 WR1 : (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); 11529END_ENTITY; 11530 11531 11532ENTITY plated_conductive_base_blind_via 11533 SUBTYPE OF (blind_via); 11534END_ENTITY; 11535 11536 11537ENTITY plated_cutout 11538 SUBTYPE OF (cutout, plated_inter_stratum_feature); 11539END_ENTITY; 11540 11541 11542ENTITY plated_cutout_edge_segment 11543 SUBTYPE OF (cutout_edge_segment, plated_inter_stratum_feature); 11544END_ENTITY; 11545 11546 11547ENTITY plated_inter_stratum_feature 11548 SUPERTYPE OF (ONEOF (plated_cutout_edge_segment, plated_interconnect_module_edge_segment, plated_passage)) 11549 SUBTYPE OF (inter_stratum_feature); 11550END_ENTITY; 11551 11552 11553ENTITY plated_interconnect_module_edge 11554 SUBTYPE OF (interconnect_module_edge, plated_inter_stratum_feature); 11555END_ENTITY; 11556 11557 11558ENTITY plated_interconnect_module_edge_segment 11559 SUBTYPE OF (interconnect_module_edge_segment, plated_inter_stratum_feature); 11560END_ENTITY; 11561 11562 11563ENTITY plated_passage 11564 SUPERTYPE OF (ONEOF (component_termination_passage, via)) 11565 SUBTYPE OF (plated_inter_stratum_feature); 11566END_ENTITY; 11567 11568 11569ENTITY plated_passage_dependent_land 11570 SUBTYPE OF (inter_stratum_feature_dependent_land); 11571END_ENTITY; 11572 11573 11574ENTITY plus_minus_tolerance; 11575 range : tolerance_method_definition; 11576 toleranced_dimension : dimensional_characteristic; 11577UNIQUE 11578 UR1 : toleranced_dimension; 11579END_ENTITY; 11580 11581 11582ENTITY ply_laminate_definition 11583 SUBTYPE OF (product_definition); 11584WHERE 11585 WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF, 11586 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 11587 'PRODUCT_DEFINITION_RELATIONSHIP.' + 11588 'RELATING_PRODUCT_DEFINITION') | 11589 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 11590 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN 11591 TYPEOF (pdr))) = 1; 11592END_ENTITY; 11593 11594 11595ENTITY ply_laminate_sequence_definition 11596 SUBTYPE OF (product_definition); 11597WHERE 11598 WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF, 11599 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 11600 'PRODUCT_DEFINITION_RELATIONSHIP.' + 11601 'RELATING_PRODUCT_DEFINITION') | 11602 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 11603 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN 11604 TYPEOF (pdr))) > 0; 11605END_ENTITY; 11606 11607 11608ENTITY ply_laminate_table 11609 SUBTYPE OF (part_laminate_table); 11610END_ENTITY; 11611 11612 11613ENTITY point 11614 SUPERTYPE OF (ONEOF (cartesian_point, point_on_curve, point_on_surface, point_replica, degenerate_pcurve)) 11615 SUBTYPE OF (geometric_representation_item); 11616END_ENTITY; 11617 11618 11619ENTITY point_and_vector 11620 SUBTYPE OF (compound_representation_item, geometric_representation_item); 11621 SELF\compound_representation_item.item_element : point_and_vector_members; 11622END_ENTITY; 11623 11624 11625ENTITY point_on_curve 11626 SUBTYPE OF (point); 11627 basis_curve : curve; 11628 point_parameter : parameter_value; 11629END_ENTITY; 11630 11631 11632ENTITY point_on_surface 11633 SUBTYPE OF (point); 11634 basis_surface : surface; 11635 point_parameter_u : parameter_value; 11636 point_parameter_v : parameter_value; 11637END_ENTITY; 11638 11639 11640ENTITY point_path 11641 SUBTYPE OF (compound_representation_item, geometric_representation_item); 11642 SELF\compound_representation_item.item_element : point_path_members; 11643END_ENTITY; 11644 11645 11646ENTITY point_replica 11647 SUBTYPE OF (point); 11648 parent_pt : point; 11649 transformation : cartesian_transformation_operator; 11650WHERE 11651 WR1 : transformation.dim = parent_pt.dim; 11652 WR2 : acyclic_point_replica (SELF,parent_pt); 11653END_ENTITY; 11654 11655 11656ENTITY point_style 11657 SUBTYPE OF (founded_item); 11658 name : label; 11659 marker : marker_select; 11660 marker_size : size_select; 11661 marker_colour : colour; 11662END_ENTITY; 11663 11664 11665ENTITY polar_complex_number_literal 11666 SUBTYPE OF (generic_literal); 11667 radius : REAL; 11668 angle : REAL; 11669WHERE 11670 WR1 : radius >= 0; 11671 WR2 : { 0 <= angle < 2*PI }; 11672END_ENTITY; 11673 11674 11675ENTITY poly_loop 11676 SUBTYPE OF (loop, geometric_representation_item); 11677 polygon : LIST [3:?] OF UNIQUE cartesian_point; 11678END_ENTITY; 11679 11680 11681ENTITY polygonal_area 11682 SUBTYPE OF (primitive_2d); 11683 bounds : LIST [3:?] OF UNIQUE cartesian_point; 11684END_ENTITY; 11685 11686 11687ENTITY polyline 11688 SUBTYPE OF (bounded_curve); 11689 points : LIST [2:?] OF cartesian_point; 11690END_ENTITY; 11691 11692 11693ENTITY port_variable 11694 SUPERTYPE OF (ONEOF (across_port_variable, through_port_variable, transform_port_variable)) 11695 SUBTYPE OF (representation, representation_item); 11696END_ENTITY; 11697 11698 11699ENTITY position_tolerance 11700 SUBTYPE OF (geometric_tolerance); 11701WHERE 11702 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)) OR ( SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3); 11703END_ENTITY; 11704 11705 11706ENTITY positional_boundary 11707 SUBTYPE OF (shape_aspect); 11708WHERE 11709 WR2 : SELF\shape_aspect.product_definitional = False; 11710END_ENTITY; 11711 11712 11713ENTITY positional_boundary_member 11714 SUBTYPE OF (shape_aspect); 11715WHERE 11716 WR1 : SELF\shape_aspect.product_definitional = False; 11717END_ENTITY; 11718 11719 11720ENTITY positioned_sketch 11721 SUBTYPE OF (geometric_representation_item); 11722 sketch_basis : sketch_basis_select; 11723 auxiliary_elements : SET [0:?] OF auxiliary_geometric_representation_item; 11724WHERE 11725 WR1 : NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN 11726 TYPEOF(sketch_basis)) AND NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN 11727 TYPEOF(sketch_basis\curve_bounded_surface.basis_surface))); 11728 WR2 : NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(sketch_basis)) AND 11729 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(sketch_basis\face_surface.face_geometry))); 11730 WR3 : SIZEOF(QUERY(q <* auxiliary_elements | (SIZEOF(TYPEOF(q) * 11731 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE']) = 0))) = 0; 11732 WR4 : SIZEOF(QUERY(q <* auxiliary_elements | 11733 q\geometric_representation_item.dim <> 3)) = 0; 11734END_ENTITY; 11735 11736 11737ENTITY power_measure_with_unit 11738 SUBTYPE OF (measure_with_unit); 11739WHERE 11740 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POWER_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 11741END_ENTITY; 11742 11743 11744ENTITY power_unit 11745 SUBTYPE OF (derived_unit); 11746WHERE 11747 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.watt); 11748END_ENTITY; 11749 11750 11751ENTITY pre_defined_colour 11752 SUBTYPE OF (pre_defined_item, colour); 11753END_ENTITY; 11754 11755 11756ENTITY pre_defined_curve_font 11757 SUBTYPE OF (pre_defined_item); 11758END_ENTITY; 11759 11760 11761ENTITY pre_defined_dimension_symbol 11762 SUBTYPE OF (pre_defined_symbol); 11763WHERE 11764 WR1 : SELF.name IN [ 'arc length' , 'conical taper' , 'counterbore' , 'countersink' , 'depth' , 'diameter' , 'plus minus' , 'radius' , 'slope' , 'spherical diameter' , 'spherical radius' , 'square']; 11765END_ENTITY; 11766 11767 11768ENTITY pre_defined_geometrical_tolerance_symbol 11769 SUBTYPE OF (pre_defined_symbol); 11770WHERE 11771 WR1 : SELF.name IN ['angularity' , 'basic dimension' , 'blanked datum reference' , 'circular runout' , 'circularity' , 'concentricity' , 'cylindricity' , 'datum target identification' , 'diameter' , 'filled datum reference' , 'flatness' , 'least material condition' , 'maximum material condition' , 'parallelism' , 'perpendicularity' , 'position' , 'profile of a line' , 'profile of a surface' , 'projected tolerance zone' , 'regardless of feature size' , 'straightness' , 'symmetry' , 'total runout' ]; 11772END_ENTITY; 11773 11774 11775ENTITY pre_defined_item; 11776 name : label; 11777END_ENTITY; 11778 11779 11780ENTITY pre_defined_marker 11781 SUBTYPE OF (pre_defined_item); 11782END_ENTITY; 11783 11784 11785ENTITY pre_defined_parallel_datum_axis_symbol_3d_2d_relationship 11786 SUBTYPE OF (shape_definition_3d_intersection); 11787END_ENTITY; 11788 11789 11790ENTITY pre_defined_perpendicular_datum_axis_symbol_3d_2d_relationship 11791 SUBTYPE OF (shape_definition_3d_intersection); 11792END_ENTITY; 11793 11794 11795ENTITY pre_defined_perpendicular_datum_plane_symbol_3d_2d_relationship 11796 SUBTYPE OF (shape_definition_3d_intersection); 11797END_ENTITY; 11798 11799 11800ENTITY pre_defined_physical_network_group 11801 SUBTYPE OF (physical_network_group); 11802END_ENTITY; 11803 11804 11805ENTITY pre_defined_physical_network_group_element_relationship 11806 SUBTYPE OF (physical_network_group_element_relationship); 11807END_ENTITY; 11808 11809 11810ENTITY pre_defined_point_marker_symbol 11811 SUBTYPE OF (pre_defined_marker, pre_defined_symbol); 11812WHERE 11813 WR1 : SELF.name IN ['asterisk','circle','dot','plus','square','triangle','x']; 11814END_ENTITY; 11815 11816 11817ENTITY pre_defined_surface_condition_symbol 11818 SUBTYPE OF (pre_defined_symbol); 11819WHERE 11820 WR1 : SELF.name IN ['000' , '010' , '020' , '030' , '040' , '050' , '060' , '070' , '001' , '011' , '021' , '031' , '041' , '051' , '061' , '071' , '100' , '110' , '120' , '130' , '140' , '150' , '160' , '170' , '101' , '111' , '121' , '131' , '141' , '151' , '161' , '171' , '200' , '210' , '220' , '230' , '240' , '250' , '260' , '270' , '201' , '211' , '221' , '231' , '241' , '251' , '261' , '271']; 11821END_ENTITY; 11822 11823 11824ENTITY pre_defined_surface_side_style 11825 SUBTYPE OF (pre_defined_item); 11826END_ENTITY; 11827 11828 11829ENTITY pre_defined_symbol 11830 SUBTYPE OF (pre_defined_item); 11831END_ENTITY; 11832 11833 11834ENTITY pre_defined_terminator_symbol 11835 SUBTYPE OF (pre_defined_symbol); 11836WHERE 11837 WR1 : SELF.name IN ['blanked arrow', 'blanked box', 'blanked dot', 'blanked triangle', 'dimension origin', 'filled arrow', 'filled box', 'filled dot', 'integral symbol', 'open arrow', 'slash', 'unfilled arrow', 'unfilled triangle', 'filled triangle']; 11838END_ENTITY; 11839 11840 11841ENTITY pre_defined_text_font 11842 SUBTYPE OF (pre_defined_item); 11843END_ENTITY; 11844 11845 11846ENTITY pre_defined_tile 11847 SUBTYPE OF (pre_defined_item); 11848END_ENTITY; 11849 11850 11851ENTITY precision_qualifier; 11852 precision_value : INTEGER; 11853END_ENTITY; 11854 11855 11856ENTITY predefined_picture_representation_item 11857 SUBTYPE OF (picture_representation_item); 11858WHERE 11859 WR1 : SELF\representation_item.name IN pre_defined_picture_representation_types; 11860END_ENTITY; 11861 11862 11863ENTITY predefined_requirement_view_definition 11864 SUPERTYPE OF (ONEOF (assembly_spacing_requirement, assembly_group_spacing_requirement, item_restricted_requirement, layout_spacing_requirement)) 11865 SUBTYPE OF (product_definition); 11866END_ENTITY; 11867 11868 11869ENTITY presentation_area 11870 SUBTYPE OF (presentation_representation); 11871WHERE 11872 WR1 : ((SIZEOF (QUERY (ais <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 11873 'AREA_IN_SET.AREA') | 11874 SIZEOF (USEDIN (ais, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 11875 'PRESENTATION_SIZE.UNIT')) =1)) > 0) OR 11876 (SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 11877 'PRESENTATION_SIZE.UNIT')) =1)); 11878END_ENTITY; 11879 11880 11881ENTITY presentation_layer_assignment; 11882 name : label; 11883 description : text; 11884 assigned_items : SET [1:?] OF layered_item; 11885END_ENTITY; 11886 11887 11888ENTITY presentation_representation 11889 SUPERTYPE OF (ONEOF (presentation_area, presentation_view)) 11890 SUBTYPE OF (representation); 11891 SELF\representation.context_of_items : geometric_representation_context; 11892WHERE 11893 WR1 : SELF\representation. 11894 context_of_items\geometric_representation_context. 11895 coordinate_space_dimension = 2; 11896 WR2 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_AREA' IN TYPEOF (SELF)) 11897 OR 11898 (SIZEOF (QUERY (prr <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 11899 'REPRESENTATION_RELATIONSHIP.REP_2') | 11900 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' IN 11901 TYPEOF (prr\representation_relationship.rep_1))) > 0) 11902 OR 11903 (SIZEOF(QUERY( rm <* USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 11904 'REPRESENTATION_MAP.'+ 11905 'MAPPED_REPRESENTATION') | 11906 SIZEOF(QUERY( mi <* USEDIN(rm, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 11907 'MAPPED_ITEM.'+ 11908 'MAPPING_SOURCE') | 11909 SIZEOF(QUERY( rep <* using_representations (mi) | 11910 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 11911 'PRESENTATION_REPRESENTATION' IN 11912 TYPEOF (rep))) > 0 11913 )) > 0)) 11914 > 0); 11915END_ENTITY; 11916 11917 11918ENTITY presentation_set; 11919INVERSE 11920 areas: SET [1:?] OF area_in_set FOR in_set; 11921END_ENTITY; 11922 11923 11924ENTITY presentation_size; 11925 unit : presentation_size_assignment_select; 11926 size : planar_box; 11927UNIQUE 11928 UR1 : unit; 11929WHERE 11930 WR1 : (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' 11931 IN TYPEOF (SELF.unit)) AND 11932 item_in_context (SELF.size, 11933 SELF.unit\representation.context_of_items) 11934 ) 11935 OR 11936 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_IN_SET' 11937 IN TYPEOF (SELF.unit)) AND 11938 (SIZEOF (QUERY ( ais <* SELF.unit\area_in_set.in_set.areas | 11939 NOT item_in_context (SELF.size, ais.area\representation. 11940 context_of_items) )) = 0)); 11941END_ENTITY; 11942 11943 11944ENTITY presentation_style_assignment 11945 SUBTYPE OF (founded_item); 11946 styles : SET [1:?] OF presentation_style_select; 11947WHERE 11948 WR1 : SIZEOF (QUERY (style1 <* SELF.styles | 11949 NOT (SIZEOF (QUERY (style2 <* (SELF.styles - style1) | 11950 NOT ((TYPEOF (style1) <> TYPEOF (style2)) OR 11951 (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 11952 'SURFACE_STYLE_USAGE', 11953 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 11954 'EXTERNALLY_DEFINED_STYLE'] * 11955 TYPEOF (style1)) = 1) 11956 ))) = 0 11957 ))) = 0; 11958 WR2 : SIZEOF (QUERY (style1 <* SELF.styles | 11959 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN 11960 TYPEOF(style1) 11961 )) <= 2; 11962 WR3 : SIZEOF (QUERY (style1 <* SELF.styles | 11963 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF (style1)) AND 11964 (SIZEOF (QUERY (style2 <* (SELF.styles - style1) | 11965 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF (style2)) AND 11966 ((style1\surface_style_usage.side = both) OR 11967 (style2\surface_style_usage.side = both) OR 11968 (style1\surface_style_usage.side = style2\surface_style_usage.side)) )) > 0))) = 0; 11969END_ENTITY; 11970 11971 11972ENTITY presentation_style_by_context 11973 SUBTYPE OF (presentation_style_assignment); 11974 style_context : style_context_select; 11975END_ENTITY; 11976 11977 11978ENTITY presentation_view 11979 SUBTYPE OF (presentation_representation); 11980END_ENTITY; 11981 11982 11983ENTITY presented_item 11984 ABSTRACT SUPERTYPE; 11985END_ENTITY; 11986 11987 11988ENTITY presented_item_representation; 11989 presentation : presentation_representation_select; 11990 item : presented_item; 11991END_ENTITY; 11992 11993 11994ENTITY pressure_measure_with_unit 11995 SUBTYPE OF (measure_with_unit); 11996WHERE 11997 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESSURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 11998END_ENTITY; 11999 12000 12001ENTITY pressure_unit 12002 SUBTYPE OF (derived_unit); 12003WHERE 12004 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.pascal); 12005END_ENTITY; 12006 12007 12008ENTITY previous_design_assignment 12009 SUBTYPE OF (design_object_management_assignment); 12010END_ENTITY; 12011 12012 12013ENTITY previous_design_object_assignment 12014 SUBTYPE OF (design_object_management_assignment); 12015END_ENTITY; 12016 12017 12018ENTITY primary_orientation_feature 12019 SUBTYPE OF (shape_aspect); 12020WHERE 12021 WR1 : SELF\shape_aspect.product_definitional = TRUE; 12022END_ENTITY; 12023 12024 12025ENTITY primary_reference_terminal 12026 SUBTYPE OF (package_terminal); 12027END_ENTITY; 12028 12029 12030ENTITY primary_stratum_indicator_symbol 12031 SUBTYPE OF (single_stratum_special_symbol_component); 12032END_ENTITY; 12033 12034 12035ENTITY primitive_2d 12036 SUPERTYPE OF (ONEOF (circular_area, elliptic_area, rectangular_area, polygonal_area, complex_area)) 12037 SUBTYPE OF (geometric_representation_item); 12038WHERE 12039 WR1 : SELF\geometric_representation_item.dim = 2; 12040END_ENTITY; 12041 12042 12043ENTITY primitive_2d_with_inner_boundary 12044 SUBTYPE OF (primitive_2d, compound_representation_item); 12045 SELF\compound_representation_item.item_element : compound_inner_area_boundary; 12046DERIVE 12047 inner_boundary : compound_inner_area_boundary := SELF\compound_representation_item.item_element; 12048WHERE 12049 WR1 : SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_AREA', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPTIC_AREA', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_AREA', 12050 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYGONAL_AREA', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPLEX_AREA'] * TYPEOF(SELF)) > 0; 12051 WR2 : SIZEOF(QUERY(inner <* inner_boundary | 12052 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY' IN TYPEOF(inner))) = 0; 12053 WR3 : open_path_based_inner_boundary(inner_boundary); 12054END_ENTITY; 12055 12056 12057ENTITY printed_component 12058 ABSTRACT SUPERTYPE OF (ONEOF (single_stratum_printed_component, basic_multi_stratum_printed_component, multi_stratum_printed_component)) 12059 SUBTYPE OF (assembly_component); 12060END_ENTITY; 12061 12062 12063ENTITY printed_connector_component 12064 SUBTYPE OF (printed_component); 12065END_ENTITY; 12066 12067 12068ENTITY printed_connector_template 12069 SUBTYPE OF (printed_part_template); 12070END_ENTITY; 12071 12072 12073ENTITY printed_connector_template_terminal_relationship 12074 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 12075UNIQUE 12076 UR1: SELF\shape_aspect_relationship.relating_shape_aspect, SELF\shape_aspect_relationship.related_shape_aspect; 12077WHERE 12078 WR1 : SELF\shape_aspect_relationship.relating_shape_aspect :<>: 12079 SELF\shape_aspect_relationship.related_shape_aspect; 12080END_ENTITY; 12081 12082 12083ENTITY printed_part_cross_section_template 12084 SUBTYPE OF (printed_part_template); 12085END_ENTITY; 12086 12087 12088ENTITY printed_part_cross_section_template_terminal 12089 SUBTYPE OF (printed_part_template_terminal); 12090END_ENTITY; 12091 12092 12093ENTITY printed_part_template 12094 ABSTRACT SUPERTYPE OF ((ONEOF (basic_multi_stratum_printed_part_template, structured_printed_part_template) ANDOR printed_connector_template)) 12095 SUBTYPE OF (part_template_definition); 12096END_ENTITY; 12097 12098 12099ENTITY printed_part_template_connected_terminals_definition 12100 SUBTYPE OF (shape_aspect); 12101UNIQUE 12102 UR1 : SELF\shape_aspect.name; 12103END_ENTITY; 12104 12105 12106ENTITY printed_part_template_material 12107 SUBTYPE OF (product_definition); 12108END_ENTITY; 12109 12110 12111ENTITY printed_part_template_material_link 12112 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 12113 SELF\shape_aspect_relationship.related_shape_aspect : template_material_cross_section_boundary; 12114 SELF\shape_aspect_relationship.relating_shape_aspect : template_material_cross_section_boundary; 12115UNIQUE 12116 UR1 : related_shape_aspect, relating_shape_aspect; 12117WHERE 12118 WR1 : SELF\shape_aspect_relationship.related_shape_aspect :<>: 12119 SELF\shape_aspect_relationship.relating_shape_aspect; 12120END_ENTITY; 12121 12122 12123ENTITY printed_part_template_terminal 12124 SUPERTYPE OF ((printed_part_cross_section_template_terminal ANDOR structured_printed_part_template_terminal)) 12125 SUBTYPE OF (shape_aspect); 12126END_ENTITY; 12127 12128 12129ENTITY printed_part_template_terminal_connection_zone_category 12130 SUBTYPE OF (group); 12131END_ENTITY; 12132 12133 12134ENTITY printed_tiebar_template 12135 SUBTYPE OF (structured_printed_part_template); 12136END_ENTITY; 12137 12138 12139ENTITY probe_access_area 12140 SUBTYPE OF (laminate_component, shape_aspect); 12141DERIVE 12142 SELF\shape_aspect.of_shape : probe_access_area := SELF; 12143END_ENTITY; 12144 12145 12146ENTITY procedural_representation 12147 SUBTYPE OF (representation); 12148 SELF\representation.items : SET [1:?] OF procedural_representation_sequence; 12149END_ENTITY; 12150 12151 12152ENTITY procedural_representation_sequence 12153 SUBTYPE OF (representation_item); 12154 elements : LIST [1:?] OF representation_item; 12155 suppressed_items : SET [0:?] OF representation_item; 12156 rationale : text; 12157WHERE 12158 WR1 : SIZEOF(QUERY(q <* suppressed_items | NOT (q IN elements))) = 0; 12159END_ENTITY; 12160 12161 12162ENTITY procedural_shape_representation 12163 SUBTYPE OF (procedural_representation, shape_representation); 12164 SELF\representation.items : SET [1:?] OF procedural_shape_representation_sequence; 12165END_ENTITY; 12166 12167 12168ENTITY procedural_shape_representation_sequence 12169 SUBTYPE OF (geometric_representation_item, procedural_representation_sequence); 12170WHERE 12171 WR1 : SIZEOF(QUERY(q <* SELF\procedural_representation_sequence.elements 12172 | NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_ITEM' 12173 IN TYPEOF(q)))) = 0; 12174END_ENTITY; 12175 12176 12177ENTITY product; 12178 id : identifier; 12179 name : label; 12180 description : OPTIONAL text; 12181 frame_of_reference : SET [1:?] OF product_context; 12182END_ENTITY; 12183 12184 12185ENTITY product_category; 12186 name : label; 12187 description : OPTIONAL text; 12188DERIVE 12189 id : identifier := get_id_value(SELF); 12190WHERE 12191 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; 12192END_ENTITY; 12193 12194 12195ENTITY product_class 12196 SUBTYPE OF (product_concept, characterized_object); 12197END_ENTITY; 12198 12199 12200ENTITY product_concept; 12201 id : identifier; 12202 name : label; 12203 description : OPTIONAL text; 12204 market_context : product_concept_context; 12205UNIQUE 12206 UR1 : id; 12207END_ENTITY; 12208 12209 12210ENTITY product_concept_context 12211 SUBTYPE OF (application_context_element); 12212 market_segment_type : label; 12213END_ENTITY; 12214 12215 12216ENTITY product_concept_feature; 12217 id : identifier; 12218 name : label; 12219 description : OPTIONAL text; 12220END_ENTITY; 12221 12222 12223ENTITY product_concept_feature_association; 12224 name : label; 12225 description : OPTIONAL text; 12226 concept : product_concept; 12227 feature : product_concept_feature; 12228END_ENTITY; 12229 12230 12231ENTITY product_concept_feature_category 12232 SUBTYPE OF (group); 12233WHERE 12234 WR1 : SIZEOF(QUERY 12235 ( 12236 aga <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GROUP_ASSIGNMENT.ASSIGNED_GROUP' ) 12237 | 12238 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'APPLIED_GROUP_ASSIGNMENT' IN TYPEOF(aga)) 12239 AND 12240 ( 12241 ( aga\group_assignment.role.name <> 'specification category member' ) 12242 OR 12243 ( SIZEOF(QUERY 12244 ( 12245 i <* aga\applied_group_assignment.items 12246 | 12247 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( i ) ) 12248 AND 12249 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF (i)) 12250 ) 12251 ) <> SIZEOF (aga\applied_group_assignment.items) 12252 ) 12253 ) 12254 ) 12255 ) =0; 12256END_ENTITY; 12257 12258 12259ENTITY product_concept_feature_category_usage 12260 SUBTYPE OF (group_assignment); 12261 items : SET [1:?] OF category_usage_item; 12262 SELF\group_assignment.assigned_group : product_concept_feature_category; 12263WHERE 12264 WR1 : SELF.role.name IN [ 'mandatory category usage', 'optional category usage' ]; 12265END_ENTITY; 12266 12267 12268ENTITY product_concept_relationship; 12269 name : label; 12270 description : OPTIONAL text; 12271 relating_product_concept : product_concept; 12272 related_product_concept : product_concept; 12273END_ENTITY; 12274 12275 12276ENTITY product_context 12277 SUBTYPE OF (application_context_element); 12278 discipline_type : label; 12279END_ENTITY; 12280 12281 12282ENTITY product_definition 12283 SUPERTYPE OF (ONEOF (composite_assembly_definition, composite_assembly_sequence_definition, laminate_table, percentage_laminate_definition, percentage_ply_definition, ply_laminate_definition, ply_laminate_sequence_definition, thickness_laminate_definition, physical_unit, stratum)); 12284 id : identifier; 12285 description : OPTIONAL text; 12286 formation : product_definition_formation; 12287 frame_of_reference : product_definition_context; 12288DERIVE 12289 name : label := get_name_value(SELF); 12290WHERE 12291 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; 12292END_ENTITY; 12293 12294 12295ENTITY product_definition_context 12296 SUBTYPE OF (application_context_element); 12297 life_cycle_stage : label; 12298END_ENTITY; 12299 12300 12301ENTITY product_definition_context_association; 12302 definition : product_definition; 12303 frame_of_reference : product_definition_context; 12304 role : product_definition_context_role; 12305END_ENTITY; 12306 12307 12308ENTITY product_definition_context_role; 12309 name : label; 12310 description : OPTIONAL text; 12311END_ENTITY; 12312 12313 12314ENTITY product_definition_effectivity 12315 SUBTYPE OF (effectivity); 12316 usage : product_definition_relationship; 12317WHERE 12318 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EFFECTIVITY_ASSIGNMENT.ASSIGNED_EFFECTIVITY')) = 0; 12319END_ENTITY; 12320 12321 12322ENTITY product_definition_element_relationship 12323 SUBTYPE OF (group); 12324END_ENTITY; 12325 12326 12327ENTITY product_definition_formation; 12328 id : identifier; 12329 description : OPTIONAL text; 12330 of_product : product; 12331UNIQUE 12332 UR1 : id, of_product; 12333END_ENTITY; 12334 12335 12336ENTITY product_definition_formation_relationship; 12337 id : identifier; 12338 name : label; 12339 description : OPTIONAL text; 12340 relating_product_definition_formation : product_definition_formation; 12341 related_product_definition_formation : product_definition_formation; 12342END_ENTITY; 12343 12344 12345ENTITY product_definition_formation_with_specified_source 12346 SUBTYPE OF (product_definition_formation); 12347 make_or_buy : source; 12348END_ENTITY; 12349 12350 12351ENTITY product_definition_group_assignment 12352 SUBTYPE OF (group_assignment); 12353 items : SET [1:1] OF product_definition_or_product_definition_relationship; 12354 SELF\group_assignment.assigned_group : product_definition_element_relationship; 12355END_ENTITY; 12356 12357 12358ENTITY product_definition_occurrence_relationship; 12359 name : label; 12360 description : OPTIONAL text; 12361 occurrence : product_definition; 12362 occurrence_usage : assembly_component_usage; 12363WHERE 12364 WR1 : occurrence_usage.relating_product_definition :<>: 12365 occurrence; 12366 WR2 : occurrence_usage.related_product_definition :<>: 12367 occurrence; 12368 WR3 : occurrence.formation :=: 12369 occurrence_usage.related_product_definition.formation; 12370END_ENTITY; 12371 12372 12373ENTITY product_definition_relationship; 12374 id : identifier; 12375 name : label; 12376 description : OPTIONAL text; 12377 relating_product_definition : product_definition; 12378 related_product_definition : product_definition; 12379END_ENTITY; 12380 12381 12382ENTITY product_definition_shape 12383 SUBTYPE OF (property_definition); 12384UNIQUE 12385 UR1: SELF\property_definition.definition; 12386WHERE 12387 WR1 : SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_PRODUCT_DEFINITION', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_OBJECT'] * TYPEOF(SELF\property_definition.definition)) > 0; 12388END_ENTITY; 12389 12390 12391ENTITY product_definition_substitute; 12392 description : OPTIONAL text; 12393 context_relationship : product_definition_relationship; 12394 substitute_definition : product_definition; 12395DERIVE 12396 name : label := get_name_value(SELF); 12397WHERE 12398 WR1 : context_relationship.related_product_definition :<>: substitute_definition; 12399 WR2 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; 12400END_ENTITY; 12401 12402 12403ENTITY product_definition_usage 12404 SUPERTYPE OF (ONEOF (make_from_usage_option, assembly_component_usage)) 12405 SUBTYPE OF (product_definition_relationship); 12406UNIQUE 12407 UR1: SELF\product_definition_relationship.id, 12408 SELF\product_definition_relationship.relating_product_definition, 12409 SELF\product_definition_relationship.related_product_definition; 12410WHERE 12411 WR1 : acyclic_product_definition_relationship 12412 (SELF, 12413 [SELF\product_definition_relationship.related_product_definition], 12414 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_USAGE'); 12415END_ENTITY; 12416 12417 12418ENTITY product_definition_with_associated_documents 12419 SUBTYPE OF (product_definition); 12420 documentation_ids : SET [1:?] OF document; 12421END_ENTITY; 12422 12423 12424ENTITY product_identification 12425 SUBTYPE OF (configuration_item, characterized_object); 12426 SELF\configuration_item.item_concept : product_class; 12427WHERE 12428 WR1 : SIZEOF(QUERY 12429 ( cd <* USEDIN ( SELF ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONFIGURATION_DESIGN.CONFIGURATION' ) 12430 | 12431 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'PRODUCT_DEFINITION_FORMATION' IN TYPEOF ( cd. design ) ) 12432 AND 12433 ( SIZEOF ( QUERY 12434 ( 12435 prpc <* USEDIN ( cd. design\product_definition_formation.of_product , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') 12436 | 12437 prpc. name IN ['part' , 'raw material' , 'tool'] ) ) >0 12438 ) 12439 ) 12440 ) <=1; 12441 WR2 : NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'CONFIGURABLE_ITEM' IN TYPEOF( SELF ) ) 12442 XOR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'PRODUCT_SPECIFICATION' IN TYPEOF ( SELF ) ); 12443END_ENTITY; 12444 12445 12446ENTITY product_material_composition_relationship 12447 SUBTYPE OF (product_definition_relationship); 12448 class : label; 12449 constituent_amount : SET [1:?] OF characterized_product_composition_value; 12450 composition_basis : label; 12451 determination_method : text; 12452END_ENTITY; 12453 12454 12455ENTITY product_related_product_category 12456 SUBTYPE OF (product_category); 12457 products : SET [1:?] OF product; 12458END_ENTITY; 12459 12460 12461ENTITY product_specific_parameter_value_assignment 12462 SUBTYPE OF (characterized_object, product_related_product_category); 12463END_ENTITY; 12464 12465 12466ENTITY product_specification 12467 SUBTYPE OF (product_identification, configurable_item); 12468END_ENTITY; 12469 12470 12471ENTITY projected_zone_definition 12472 SUBTYPE OF (tolerance_zone_definition); 12473 projection_end : shape_aspect; 12474 projected_length : measure_with_unit; 12475WHERE 12476 WR1 : ('NUMBER' IN TYPEOF 12477 (projected_length\measure_with_unit.value_component)) AND 12478 (projected_length\measure_with_unit.value_component > 0.0); 12479 WR2 : (derive_dimensional_exponents 12480 (projected_length\measure_with_unit.unit_component)= 12481 dimensional_exponents(1,0,0,0,0,0,0)); 12482END_ENTITY; 12483 12484 12485ENTITY projection_curve 12486 SUBTYPE OF (annotation_curve_occurrence); 12487END_ENTITY; 12488 12489 12490ENTITY projection_directed_callout 12491 SUBTYPE OF (draughting_callout); 12492WHERE 12493 WR1 : SIZEOF(QUERY(p_1<*SELF\draughting_callout.contents | 12494 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(p_1))))=1; 12495 WR2 : SIZEOF(SELF\draughting_callout.contents) >=2; 12496END_ENTITY; 12497 12498 12499ENTITY promissory_usage_occurrence 12500 SUBTYPE OF (assembly_component_usage); 12501END_ENTITY; 12502 12503 12504ENTITY property_definition 12505 SUPERTYPE OF (ONEOF (stratum_technology_occurrence_relationship, stratum_technology_occurrence)); 12506 name : label; 12507 description : OPTIONAL text; 12508 definition : characterized_definition; 12509DERIVE 12510 id : identifier := get_id_value(SELF); 12511WHERE 12512 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; 12513END_ENTITY; 12514 12515 12516ENTITY property_definition_relationship 12517 SUPERTYPE OF (ONEOF (stratum_technology_occurrence_relationship, stratum_technology_swap_relationship)); 12518 name : label; 12519 description : text; 12520 relating_property_definition : property_definition; 12521 related_property_definition : property_definition; 12522END_ENTITY; 12523 12524 12525ENTITY property_definition_representation; 12526 definition : represented_definition; 12527 used_representation : representation; 12528DERIVE 12529 description : text := get_description_value(SELF); 12530 name : label := get_name_value(SELF); 12531WHERE 12532 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; 12533 WR2 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; 12534END_ENTITY; 12535 12536 12537ENTITY protocol_physical_layer_definition 12538 SUBTYPE OF (product_definition); 12539END_ENTITY; 12540 12541 12542ENTITY protocol_physical_layer_definition_with_characterization 12543 SUBTYPE OF (protocol_physical_layer_definition); 12544END_ENTITY; 12545 12546 12547ENTITY protocol_requirement_allocation_to_part_terminal 12548 SUBTYPE OF (requirement_assignment); 12549END_ENTITY; 12550 12551 12552ENTITY qualified_representation_item 12553 SUBTYPE OF (representation_item); 12554 qualifiers : SET [1:?] OF value_qualifier; 12555WHERE 12556 WR1 : SIZEOF(QUERY(temp <* qualifiers | 12557 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRECISION_QUALIFIER' 12558 IN TYPEOF(temp))) < 2; 12559END_ENTITY; 12560 12561 12562ENTITY qualitative_uncertainty 12563 SUBTYPE OF (uncertainty_qualifier); 12564 uncertainty_value : text; 12565END_ENTITY; 12566 12567 12568ENTITY quantified_assembly_component_usage 12569 SUBTYPE OF (assembly_component_usage); 12570 quantity : measure_with_unit; 12571WHERE 12572 WR1 : (NOT ('NUMBER' IN TYPEOF(quantity.value_component))) 12573 OR (quantity.value_component > 0); 12574END_ENTITY; 12575 12576 12577ENTITY quasi_uniform_curve 12578 SUBTYPE OF (b_spline_curve); 12579END_ENTITY; 12580 12581 12582ENTITY quasi_uniform_surface 12583 SUBTYPE OF (b_spline_surface); 12584END_ENTITY; 12585 12586 12587ENTITY radioactivity_measure_with_unit 12588 SUBTYPE OF (measure_with_unit); 12589WHERE 12590 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIOACTIVITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 12591END_ENTITY; 12592 12593 12594ENTITY radioactivity_unit 12595 SUBTYPE OF (derived_unit); 12596WHERE 12597 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.becquerel); 12598END_ENTITY; 12599 12600 12601ENTITY radius_dimension 12602 SUBTYPE OF (dimension_curve_directed_callout); 12603WHERE 12604 WR1 : SIZEOF (QUERY (con <* SELF.contents | 12605 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' IN TYPEOF (con)))<=1; 12606END_ENTITY; 12607 12608 12609ENTITY range_characteristic 12610 SUBTYPE OF (representation, descriptive_representation_item); 12611WHERE 12612 WR1 : NOT(SELF\representation.name IN ['tolerance', 'minimum tolerance', 'maximum tolerance', 12613 'nominal tolerance', 'plus minus tolerance', 'symmetrical tolerance', 'statistical tolerance']); 12614END_ENTITY; 12615 12616 12617ENTITY ratio_measure_with_unit 12618 SUBTYPE OF (measure_with_unit); 12619WHERE 12620 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 12621END_ENTITY; 12622 12623 12624ENTITY ratio_unit 12625 SUBTYPE OF (named_unit); 12626WHERE 12627 WR1 : (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); 12628END_ENTITY; 12629 12630 12631ENTITY rational_b_spline_curve 12632 SUBTYPE OF (b_spline_curve); 12633 weights_data : LIST [2:?] OF REAL; 12634DERIVE 12635 weights : ARRAY [0:upper_index_on_control_points] OF REAL := list_to_array(weights_data,0, 12636 upper_index_on_control_points); 12637WHERE 12638 WR1 : SIZEOF(weights_data) = SIZEOF(SELF\b_spline_curve. 12639 control_points_list); 12640 WR2 : curve_weights_positive(SELF); 12641END_ENTITY; 12642 12643 12644ENTITY rational_b_spline_surface 12645 SUBTYPE OF (b_spline_surface); 12646 weights_data : LIST [2:?] OF LIST [2:?] OF REAL; 12647DERIVE 12648 weights : ARRAY [0:u_upper] OF ARRAY [0:v_upper] OF REAL := make_array_of_array(weights_data,0,u_upper,0,v_upper); 12649WHERE 12650 WR1 : (SIZEOF(weights_data) = 12651 SIZEOF(SELF\b_spline_surface.control_points_list)) 12652 AND (SIZEOF(weights_data[1]) = 12653 SIZEOF(SELF\b_spline_surface.control_points_list[1])); 12654 WR2 : surface_weights_positive(SELF); 12655END_ENTITY; 12656 12657 12658ENTITY rational_representation_item 12659 SUBTYPE OF (representation_item, slash_expression); 12660WHERE 12661 WR1 : SIZEOF( QUERY( operand <* SELF\binary_generic_expression.operands | 12662 NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_LITERAL' IN TYPEOF(operand)))) = 0; 12663END_ENTITY; 12664 12665 12666ENTITY real_literal 12667 SUBTYPE OF (literal_number); 12668 SELF\literal_number.the_value : REAL; 12669END_ENTITY; 12670 12671 12672ENTITY real_representation_item 12673 SUBTYPE OF (representation_item, real_literal); 12674END_ENTITY; 12675 12676 12677ENTITY rectangular_area 12678 SUBTYPE OF (primitive_2d); 12679 position : axis2_placement_2d; 12680 x : positive_length_measure; 12681 y : positive_length_measure; 12682END_ENTITY; 12683 12684 12685ENTITY rectangular_array_placement_group_component 12686 SUBTYPE OF (array_placement_group); 12687END_ENTITY; 12688 12689 12690ENTITY rectangular_composite_array_shape_aspect 12691 SUBTYPE OF (composite_array_shape_aspect); 12692END_ENTITY; 12693 12694 12695ENTITY rectangular_composite_surface 12696 SUBTYPE OF (bounded_surface); 12697 segments : LIST [1:?] OF LIST [1:?] OF surface_patch; 12698DERIVE 12699 n_u : INTEGER := SIZEOF(segments); 12700 n_v : INTEGER := SIZEOF(segments[1]); 12701WHERE 12702 WR1 : SIZEOF(QUERY (s <* segments | n_v <> SIZEOF (s))) = 0; 12703 WR2 : constraints_rectangular_composite_surface(SELF); 12704END_ENTITY; 12705 12706 12707ENTITY rectangular_trimmed_surface 12708 SUBTYPE OF (bounded_surface); 12709 basis_surface : surface; 12710 u1 : parameter_value; 12711 u2 : parameter_value; 12712 v1 : parameter_value; 12713 v2 : parameter_value; 12714 usense : BOOLEAN; 12715 vsense : BOOLEAN; 12716WHERE 12717 WR1 : u1 <> u2; 12718 WR2 : v1 <> v2; 12719 WR3 : (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(basis_surface)) 12720 AND (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(basis_surface)))) OR 12721 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF(basis_surface)) 12722 OR (usense = (u2 > u1)); 12723 WR4 : (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPHERICAL_SURFACE' IN TYPEOF(basis_surface)) 12724 OR 12725 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TOROIDAL_SURFACE' IN TYPEOF(basis_surface))) 12726 OR (vsense = (v2 > v1)); 12727END_ENTITY; 12728 12729 12730ENTITY reference_composition_path 12731 SUBTYPE OF (applied_group_assignment, product_definition); 12732END_ENTITY; 12733 12734 12735ENTITY reference_graphic_registration_mark 12736 SUBTYPE OF (shape_aspect); 12737WHERE 12738 WR1 : SELF\shape_aspect.product_definitional = false; 12739END_ENTITY; 12740 12741 12742ENTITY referenced_modified_datum 12743 SUBTYPE OF (datum_reference); 12744 modifier : limit_condition; 12745END_ENTITY; 12746 12747 12748ENTITY region_based_derived_pattern 12749 SUBTYPE OF (shape_aspect); 12750END_ENTITY; 12751 12752 12753ENTITY relative_event_occurrence 12754 SUBTYPE OF (event_occurrence); 12755 base_event : event_occurrence; 12756 offset : time_measure_with_unit; 12757END_ENTITY; 12758 12759 12760ENTITY rep_item_group 12761 SUBTYPE OF (group, representation_item); 12762WHERE 12763 WR1 : SIZEOF(USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRESENTATION_LAYER_ASSIGNMENT.' + 'ASSIGNED_ITEMS')) > 0; 12764 WR2 : SIZEOF(QUERY(r <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION.' + 'ITEMS') | r.name = 'group representation')) > 0; 12765 WR3 : SIZEOF(QUERY(ga <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GROUP_ASSIGNMENT.' + 'ASSIGNED_GROUP') | ga.role.name <> 'group membership')) = 0; 12766 WR4 : SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'TOPOLOGICAL_REPRESENTATION_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MAPPED_ITEM','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'STYLED_ITEM'] * TYPEOF(SELF)) = 1; 12767END_ENTITY; 12768 12769 12770ENTITY reparametrised_composite_curve_segment 12771 SUBTYPE OF (composite_curve_segment); 12772 param_length : parameter_value; 12773WHERE 12774 WR1 : param_length > 0.0; 12775END_ENTITY; 12776 12777 12778ENTITY representation; 12779 name : label; 12780 items : SET [1:?] OF representation_item; 12781 context_of_items : representation_context; 12782DERIVE 12783 description : text := get_description_value (SELF); 12784 id : identifier := get_id_value (SELF); 12785WHERE 12786 WR1 : SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 12787 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) 12788 <= 1; 12789 WR2 : SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 12790 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) 12791 <= 1; 12792END_ENTITY; 12793 12794 12795ENTITY representation_context; 12796 context_identifier : identifier; 12797 context_type : text; 12798INVERSE 12799 representations_in_context: SET [1:?] OF representation FOR context_of_items; 12800END_ENTITY; 12801 12802 12803ENTITY representation_item 12804 SUPERTYPE OF (ONEOF (binary_representation_item, boolean_representation_item, compound_representation_item, date_representation_item, date_time_representation_item, integer_representation_item, logical_representation_item, mapped_item, rational_representation_item, real_representation_item, styled_item, value_representation_item)); 12805 name : label; 12806WHERE 12807 WR1 : SIZEOF(using_representations(SELF)) > 0; 12808END_ENTITY; 12809 12810 12811ENTITY representation_item_relationship; 12812 name : label; 12813 description : OPTIONAL text; 12814 relating_representation_item : representation_item; 12815 related_representation_item : representation_item; 12816END_ENTITY; 12817 12818 12819ENTITY representation_map; 12820 mapping_origin : representation_item; 12821 mapped_representation : representation; 12822INVERSE 12823 map_usage: SET [1:?] OF mapped_item FOR mapping_source; 12824WHERE 12825 WR1 : item_in_context(SELF.mapping_origin, 12826 SELF.mapped_representation.context_of_items); 12827END_ENTITY; 12828 12829 12830ENTITY representation_relationship; 12831 name : label; 12832 description : OPTIONAL text; 12833 rep_1 : representation; 12834 rep_2 : representation; 12835END_ENTITY; 12836 12837 12838ENTITY representation_relationship_with_transformation 12839 SUBTYPE OF (representation_relationship); 12840 transformation_operator : transformation; 12841WHERE 12842 WR1 : SELF\representation_relationship.rep_1.context_of_items 12843 :<>: SELF\representation_relationship.rep_2.context_of_items; 12844END_ENTITY; 12845 12846 12847ENTITY requirement_assigned_object 12848 SUBTYPE OF (group_assignment); 12849 items : SET [1:1] OF requirement_assigned_item; 12850 SELF\group_assignment.assigned_group : requirement_assignment; 12851END_ENTITY; 12852 12853 12854ENTITY requirement_assignment 12855 SUBTYPE OF (characterized_object, group); 12856END_ENTITY; 12857 12858 12859ENTITY requirement_source 12860 SUBTYPE OF (group); 12861END_ENTITY; 12862 12863 12864ENTITY requirement_view_definition_relationship 12865 SUBTYPE OF (product_definition_relationship); 12866END_ENTITY; 12867 12868 12869ENTITY resistance_measure_with_unit 12870 SUBTYPE OF (measure_with_unit); 12871WHERE 12872 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RESISTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 12873END_ENTITY; 12874 12875 12876ENTITY resistance_unit 12877 SUBTYPE OF (derived_unit); 12878WHERE 12879 WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.ohm); 12880END_ENTITY; 12881 12882 12883ENTITY revolved_area_solid 12884 SUBTYPE OF (swept_area_solid); 12885 axis : axis1_placement; 12886 angle : plane_angle_measure; 12887DERIVE 12888 axis_line : line := representation_item('')|| 12889 geometric_representation_item()|| curve()|| 12890 line(axis.location, representation_item('')|| 12891 geometric_representation_item()|| 12892 vector(axis.z, 1.0)); 12893END_ENTITY; 12894 12895 12896ENTITY revolved_face_solid 12897 SUBTYPE OF (swept_face_solid); 12898 axis : axis1_placement; 12899 angle : plane_angle_measure; 12900DERIVE 12901 axis_line : line := representation_item('')|| 12902 geometric_representation_item()|| curve()|| 12903 line(axis.location, representation_item('')|| 12904 geometric_representation_item()|| 12905 vector(axis.z, 1.0)); 12906END_ENTITY; 12907 12908 12909ENTITY revolved_face_solid_with_trim_conditions 12910 SUBTYPE OF (revolved_face_solid); 12911 first_trim_condition : trim_condition_select; 12912 second_trim_condition : trim_condition_select; 12913WHERE 12914 WR1 : NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' 12915 IN TYPEOF(first_trim_condition)) 12916 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' 12917 IN TYPEOF(second_trim_condition))); 12918 WR2 : NOT((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' 12919 IN TYPEOF(first_trim_condition)) AND 12920 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' 12921 IN TYPEOF(second_trim_condition))) AND 12922 (first_trim_condition = second_trim_condition)); 12923END_ENTITY; 12924 12925 12926ENTITY right_angular_wedge 12927 SUBTYPE OF (geometric_representation_item); 12928 position : axis2_placement_3d; 12929 x : positive_length_measure; 12930 y : positive_length_measure; 12931 z : positive_length_measure; 12932 ltx : length_measure; 12933WHERE 12934 WR1 : ((0.0 <= ltx) AND (ltx < x)); 12935END_ENTITY; 12936 12937 12938ENTITY right_circular_cone 12939 SUBTYPE OF (geometric_representation_item); 12940 position : axis1_placement; 12941 height : positive_length_measure; 12942 radius : length_measure; 12943 semi_angle : plane_angle_measure; 12944WHERE 12945 WR1 : radius >= 0.0; 12946END_ENTITY; 12947 12948 12949ENTITY right_circular_cylinder 12950 SUBTYPE OF (geometric_representation_item); 12951 position : axis1_placement; 12952 height : positive_length_measure; 12953 radius : positive_length_measure; 12954END_ENTITY; 12955 12956 12957ENTITY right_to_usage_association 12958 SUBTYPE OF (action_method_relationship); 12959 SELF\action_method_relationship.related_method : information_right; 12960 SELF\action_method_relationship.relating_method : information_usage_right; 12961DERIVE 12962 right_applied : information_right := SELF\action_method_relationship.related_method; 12963 right_usage : information_usage_right := SELF\action_method_relationship.relating_method; 12964END_ENTITY; 12965 12966 12967ENTITY role_association; 12968 role : object_role; 12969 item_with_role : role_select; 12970END_ENTITY; 12971 12972 12973ENTITY roundness_tolerance 12974 SUBTYPE OF (geometric_tolerance); 12975WHERE 12976 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); 12977END_ENTITY; 12978 12979 12980ENTITY routed_interconnect_component 12981 SUBTYPE OF (item_identified_representation_usage, physical_component); 12982END_ENTITY; 12983 12984 12985ENTITY routed_physical_component 12986 SUBTYPE OF (item_identified_representation_usage, physical_component); 12987END_ENTITY; 12988 12989 12990ENTITY routed_physical_shield 12991 SUBTYPE OF (physical_shield, routed_physical_component); 12992END_ENTITY; 12993 12994 12995ENTITY routed_shield 12996 SUBTYPE OF (integral_shield); 12997END_ENTITY; 12998 12999 13000ENTITY routed_transmission_line 13001 SUBTYPE OF (assembly_component); 13002END_ENTITY; 13003 13004 13005ENTITY row_representation_item 13006 SUBTYPE OF (compound_representation_item); 13007 SELF\compound_representation_item.item_element : list_representation_item; 13008END_ENTITY; 13009 13010 13011ENTITY row_value 13012 SUBTYPE OF (compound_representation_item); 13013END_ENTITY; 13014 13015 13016ENTITY row_variable 13017 SUBTYPE OF (abstract_variable); 13018END_ENTITY; 13019 13020 13021ENTITY rule_action 13022 SUBTYPE OF (action); 13023END_ENTITY; 13024 13025 13026ENTITY rule_condition 13027 SUBTYPE OF (atomic_formula); 13028END_ENTITY; 13029 13030 13031ENTITY rule_definition 13032 SUBTYPE OF (rule_software_definition); 13033END_ENTITY; 13034 13035 13036ENTITY rule_set 13037 SUBTYPE OF (rule_software_definition); 13038END_ENTITY; 13039 13040 13041ENTITY rule_set_group 13042 SUBTYPE OF (rule_software_definition); 13043END_ENTITY; 13044 13045 13046ENTITY rule_software_definition 13047 SUBTYPE OF (product_definition); 13048END_ENTITY; 13049 13050 13051ENTITY rule_superseded_assignment 13052 SUBTYPE OF (action_assignment); 13053 items : SET [1:?] OF rule_superseded_item; 13054END_ENTITY; 13055 13056 13057ENTITY rule_supersedence 13058 SUBTYPE OF (rule_action); 13059END_ENTITY; 13060 13061 13062ENTITY ruled_surface_swept_area_solid 13063 SUBTYPE OF (surface_curve_swept_area_solid); 13064WHERE 13065 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(SELF.reference_surface)) AND 13066 (SELF.reference_surface\b_spline_surface.u_degree = 1); 13067 WR2 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(SELF.directrix)) OR 13068 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF(SELF.directrix\surface_curve.curve_3d)) 13069 AND 13070 (SELF.directrix\surface_curve.curve_3d\b_spline_curve.degree = 13071 SELF.reference_surface\b_spline_surface.v_degree)); 13072END_ENTITY; 13073 13074 13075ENTITY runout_zone_definition 13076 SUBTYPE OF (tolerance_zone_definition); 13077 orientation : runout_zone_orientation; 13078END_ENTITY; 13079 13080 13081ENTITY runout_zone_orientation; 13082 angle : measure_with_unit; 13083END_ENTITY; 13084 13085 13086ENTITY runout_zone_orientation_reference_direction 13087 SUBTYPE OF (runout_zone_orientation); 13088 orientation_defining_relationship : shape_aspect_relationship; 13089END_ENTITY; 13090 13091 13092ENTITY satisfied_requirement 13093 SUBTYPE OF (group_assignment); 13094 items : SET [1:1] OF product_definition; 13095 SELF\group_assignment.assigned_group : satisfies_requirement; 13096END_ENTITY; 13097 13098 13099ENTITY satisfies_requirement 13100 SUBTYPE OF (group); 13101END_ENTITY; 13102 13103 13104ENTITY satisfying_item 13105 SUBTYPE OF (group_assignment); 13106 items : SET [1:1] OF requirement_satisfaction_item; 13107 SELF\group_assignment.assigned_group : satisfies_requirement; 13108END_ENTITY; 13109 13110 13111ENTITY scalar_terminal_definition_link 13112 SUBTYPE OF (shape_aspect, shape_aspect_relationship); 13113 SELF\shape_aspect_relationship.relating_shape_aspect : functional_unit_terminal_definition; 13114UNIQUE 13115 UR1: SELF\shape_aspect_relationship.related_shape_aspect, relating_shape_aspect; 13116WHERE 13117 WR1 : SELF\shape_aspect_relationship.related_shape_aspect :<>: 13118 SELF\shape_aspect_relationship.relating_shape_aspect; 13119END_ENTITY; 13120 13121 13122ENTITY scalar_variable 13123 SUBTYPE OF (abstract_variable); 13124END_ENTITY; 13125 13126 13127ENTITY scattering_parameter 13128 SUBTYPE OF (polar_complex_number_literal); 13129WHERE 13130 WR1 : SIZEOF(TYPEOF(SELF) - (TYPEOF(SELF\polar_complex_number_literal || 13131 SELF\scattering_parameter))) = 0; 13132END_ENTITY; 13133 13134 13135ENTITY schema_based_model_parameter 13136 SUBTYPE OF (model_parameter); 13137END_ENTITY; 13138 13139 13140ENTITY sculptured_solid 13141 SUBTYPE OF (modified_solid); 13142 sculpturing_element : generalized_surface_select; 13143 positive_side : BOOLEAN; 13144END_ENTITY; 13145 13146 13147ENTITY seam_curve 13148 SUBTYPE OF (surface_curve); 13149WHERE 13150 WR1 : SIZEOF(SELF\surface_curve.associated_geometry) = 2; 13151 WR2 : associated_surface(SELF\surface_curve.associated_geometry[1]) = 13152 associated_surface(SELF\surface_curve.associated_geometry[2]); 13153 WR3 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN 13154 TYPEOF(SELF\surface_curve.associated_geometry[1]); 13155 WR4 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN 13156 TYPEOF(SELF\surface_curve.associated_geometry[2]); 13157END_ENTITY; 13158 13159 13160ENTITY seating_plane 13161 SUBTYPE OF (shape_aspect); 13162END_ENTITY; 13163 13164 13165ENTITY secondary_orientation_feature 13166 SUBTYPE OF (shape_aspect); 13167WHERE 13168 WR1 : SELF.product_definitional = TRUE; 13169END_ENTITY; 13170 13171 13172ENTITY security_classification; 13173 name : label; 13174 purpose : text; 13175 security_level : security_classification_level; 13176END_ENTITY; 13177 13178 13179ENTITY security_classification_assignment 13180 ABSTRACT SUPERTYPE; 13181 assigned_security_classification : security_classification; 13182DERIVE 13183 role : object_role := get_role(SELF); 13184WHERE 13185 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; 13186END_ENTITY; 13187 13188 13189ENTITY security_classification_level; 13190 name : label; 13191END_ENTITY; 13192 13193 13194ENTITY sequential_laminate_passage_based_fabrication_joint 13195 SUBTYPE OF (shape_aspect); 13196END_ENTITY; 13197 13198 13199ENTITY sequential_laminate_stackup_component 13200 SUBTYPE OF (physical_component); 13201END_ENTITY; 13202 13203 13204ENTITY sequential_laminate_stackup_definition 13205 SUBTYPE OF (product_definition); 13206END_ENTITY; 13207 13208 13209ENTITY serial_numbered_effectivity 13210 SUBTYPE OF (effectivity); 13211 effectivity_start_id : identifier; 13212 effectivity_end_id : OPTIONAL identifier; 13213END_ENTITY; 13214 13215 13216ENTITY shape_aspect 13217 SUPERTYPE OF ((ONEOF (minimally_defined_bare_die_terminal, assembly_module_terminal, cable_terminal, interconnect_module_terminal, packaged_part_terminal, package_body, derived_shape_aspect, positional_boundary, positional_boundary_member, tolerance_zone_boundary, viewing_plane, seating_plane, reference_graphic_registration_mark, group_shape_aspect, mounting_restriction_area, mounting_restriction_volume) ANDOR ONEOF (primary_orientation_feature, secondary_orientation_feature, tertiary_orientation_feature))); 13218 name : label; 13219 description : OPTIONAL text; 13220 of_shape : product_definition_shape; 13221 product_definitional : LOGICAL; 13222DERIVE 13223 id : identifier := get_id_value(SELF); 13224WHERE 13225 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; 13226END_ENTITY; 13227 13228 13229ENTITY shape_aspect_associativity 13230 SUBTYPE OF (shape_aspect_relationship); 13231WHERE 13232 WR1 : SELF.relating_shape_aspect.product_definitional; 13233 WR2 : NOT (SELF.related_shape_aspect.product_definitional); 13234END_ENTITY; 13235 13236 13237ENTITY shape_aspect_deriving_relationship 13238 SUBTYPE OF (shape_aspect_relationship); 13239WHERE 13240 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DERIVED_SHAPE_ASPECT' IN 13241TYPEOF 13242 (SELF\SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT); 13243END_ENTITY; 13244 13245 13246ENTITY shape_aspect_relationship; 13247 name : label; 13248 description : OPTIONAL text; 13249 relating_shape_aspect : shape_aspect; 13250 related_shape_aspect : shape_aspect; 13251DERIVE 13252 id : identifier := get_id_value(SELF); 13253WHERE 13254 WR1 : SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; 13255END_ENTITY; 13256 13257 13258ENTITY shape_definition_3d_intersection 13259 SUPERTYPE OF (ONEOF (edge_segment_cross_section, pre_defined_parallel_datum_axis_symbol_3d_2d_relationship, pre_defined_perpendicular_datum_axis_symbol_3d_2d_relationship, pre_defined_perpendicular_datum_plane_symbol_3d_2d_relationship)) 13260 SUBTYPE OF (representation, shape_representation_relationship, representation_relationship_with_transformation); 13261 SELF\representation_relationship_with_transformation.transformation_operator : item_defined_transformation; 13262UNIQUE 13263 UR1 : SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; 13264WHERE 13265 WR1 : SELF\representation_relationship.rep_1 :<>: SELF\representation_relationship.rep_2; 13266END_ENTITY; 13267 13268 13269ENTITY shape_definition_representation 13270 SUBTYPE OF (property_definition_representation); 13271WHERE 13272 WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(SELF\property_definition_representation.definition)) OR 13273 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINITION' IN TYPEOF(SELF\property_definition_representation.definition\property_definition.definition)); 13274 WR2 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN TYPEOF(SELF\property_definition_representation.used_representation); 13275END_ENTITY; 13276 13277 13278ENTITY shape_dimension_representation 13279 SUBTYPE OF (shape_representation); 13280WHERE 13281 WR1 : SIZEOF (QUERY (temp <* SELF\representation.items | 13282 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' 13283 IN TYPEOF (temp)))) = 0; 13284 WR2 : SIZEOF (SELF\representation.items) <= 3; 13285 WR3 : SIZEOF (QUERY (pos_mri <* QUERY (real_mri <* 13286 SELF\representation.items | 'REAL' IN TYPEOF 13287 (real_mri\measure_with_unit.value_component) ) | 13288 NOT (pos_mri\measure_with_unit.value_component > 0.0 ))) = 0; 13289END_ENTITY; 13290 13291 13292ENTITY shape_feature_definition 13293 SUBTYPE OF (characterized_object); 13294END_ENTITY; 13295 13296 13297ENTITY shape_formed_terminal 13298 SUBTYPE OF (altered_package_terminal); 13299END_ENTITY; 13300 13301 13302ENTITY shape_representation 13303 SUBTYPE OF (representation); 13304END_ENTITY; 13305 13306 13307ENTITY shape_representation_relationship 13308 SUBTYPE OF (representation_relationship); 13309WHERE 13310 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN (TYPEOF(SELF\representation_relationship.rep_1) + TYPEOF(SELF\representation_relationship.rep_2)); 13311END_ENTITY; 13312 13313 13314ENTITY shape_representation_with_parameters 13315 SUBTYPE OF (shape_representation); 13316WHERE 13317 WR1 : SIZEOF( QUERY( i <* SELF.items | SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM'] * TYPEOF(i)) = 1 )) = SIZEOF(SELF.items); 13318END_ENTITY; 13319 13320 13321ENTITY shell_based_surface_model 13322 SUBTYPE OF (geometric_representation_item); 13323 sbsm_boundary : SET [1:?] OF shell; 13324WHERE 13325 WR1 : constraints_geometry_shell_based_surface_model(SELF); 13326END_ENTITY; 13327 13328 13329ENTITY shell_based_wireframe_model 13330 SUBTYPE OF (geometric_representation_item); 13331 sbwm_boundary : SET [1:?] OF shell; 13332WHERE 13333 WR1 : constraints_geometry_shell_based_wireframe_model(SELF); 13334END_ENTITY; 13335 13336 13337ENTITY shell_based_wireframe_shape_representation 13338 SUBTYPE OF (shape_representation); 13339WHERE 13340 WR1 : SIZEOF ( 13341QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; 13342 WR2 : SIZEOF ( 13343QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1; 13344 WR3 : SIZEOF ( 13345QUERY ( sbwm <* 13346QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 13347QUERY ( ws <* 13348QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( 13349QUERY ( eloop <* 13350QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( 13351QUERY ( el <* eloop\path.edge_list| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (el.edge_element)) )) = 0) )) = 0) )) = 0) )) = 0; 13352 WR4 : SIZEOF ( 13353QUERY ( sbwm <* 13354QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 13355QUERY ( ws <* 13356QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( 13357QUERY ( eloop <* 13358QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( 13359QUERY ( pline_el <* 13360QUERY ( el <* eloop\path.edge_list| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (el.edge_element\edge_curve.edge_geometry)) )| NOT ( SIZEOF (pline_el.edge_element\edge_curve.edge_geometry\polyline.points) > 2) )) = 0) )) = 0) )) = 0) )) = 0; 13361 WR5 : SIZEOF ( 13362QUERY ( sbwm <* 13363QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 13364QUERY ( ws <* 13365QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( 13366QUERY ( eloop <* 13367QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( 13368QUERY ( el <* eloop\path.edge_list| NOT valid_wireframe_edge_curve(el.edge_element\edge_curve.edge_geometry) )) = 0) )) = 0) )) = 0) )) = 0; 13369 WR6 : SIZEOF ( 13370QUERY ( sbwm <* 13371QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 13372QUERY ( ws <* 13373QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( 13374QUERY ( eloop <* 13375QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( 13376QUERY ( el <* eloop\path.edge_list| NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_start)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_end))) )) = 0) )) = 0) )) = 0) )) = 0; 13377 WR7 : SIZEOF ( 13378QUERY ( sbwm <* 13379QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 13380QUERY ( ws <* 13381QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( 13382QUERY ( eloop <* 13383QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( 13384QUERY ( el <* eloop\path.edge_list| NOT (valid_wireframe_vertex_point(el.edge_element.edge_start\vertex_point.vertex_geometry) AND valid_wireframe_vertex_point(el.edge_element.edge_end\vertex_point.vertex_geometry)) )) = 0) )) = 0) )) = 0) )) = 0; 13385 WR8 : SIZEOF ( 13386QUERY ( sbwm <* 13387QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 13388QUERY ( ws <* 13389QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( 13390QUERY ( vloop <* 13391QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (wsb)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (vloop\vertex_loop.loop_vertex)) )) = 0) )) = 0) )) = 0; 13392 WR9 : SIZEOF ( 13393QUERY ( sbwm <* 13394QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 13395QUERY ( ws <* 13396QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( 13397QUERY ( vloop <* 13398QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (wsb)) )| NOT valid_wireframe_vertex_point(vloop\vertex_loop.loop_vertex\vertex_point.vertex_geometry) )) = 0) )) = 0) )) = 0; 13399 WR10 : SIZEOF ( 13400QUERY ( sbwm <* 13401QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 13402QUERY ( vs <* 13403QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_SHELL' IN TYPEOF (sb)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (vs\vertex_shell.vertex_shell_extent.loop_vertex)) )) = 0) )) = 0; 13404 WR11 : SIZEOF ( 13405QUERY ( sbwm <* 13406QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( 13407QUERY ( vs <* 13408QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_SHELL' IN TYPEOF (sb)) )| NOT valid_wireframe_vertex_point(vs\vertex_shell.vertex_shell_extent.loop_vertex\vertex_point.vertex_geometry) )) = 0) )) = 0; 13409 WR12 : SIZEOF ( 13410QUERY ( mi <* 13411QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; 13412 WR13 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; 13413END_ENTITY; 13414 13415 13416ENTITY shelled_solid 13417 SUPERTYPE OF (ONEOF (double_offset_shelled_solid, complex_shelled_solid)) 13418 SUBTYPE OF (modified_solid); 13419 deleted_face_set : SET [1:?] OF face_surface; 13420 thickness : length_measure; 13421WHERE 13422 WR1 : thickness <> 0; 13423END_ENTITY; 13424 13425 13426ENTITY si_absorbed_dose_unit 13427 SUBTYPE OF (absorbed_dose_unit, si_unit); 13428WHERE 13429 WR1 : SELF\si_unit.name = si_unit_name.gray; 13430 WR2 : NOT EXISTS(SELF\derived_unit.name); 13431END_ENTITY; 13432 13433 13434ENTITY si_capacitance_unit 13435 SUBTYPE OF (capacitance_unit, si_unit); 13436WHERE 13437 WR1 : SELF\si_unit.name = si_unit_name.farad; 13438 WR2 : NOT EXISTS(SELF\derived_unit.name); 13439END_ENTITY; 13440 13441 13442ENTITY si_conductance_unit 13443 SUBTYPE OF (conductance_unit, si_unit); 13444WHERE 13445 WR1 : SELF\si_unit.name = si_unit_name.siemens; 13446 WR2 : NOT EXISTS(SELF\derived_unit.name); 13447END_ENTITY; 13448 13449 13450ENTITY si_dose_equivalent_unit 13451 SUBTYPE OF (dose_equivalent_unit, si_unit); 13452WHERE 13453 WR1 : SELF\si_unit.name = si_unit_name.sievert; 13454 WR2 : NOT EXISTS(SELF\derived_unit.name); 13455END_ENTITY; 13456 13457 13458ENTITY si_electric_charge_unit 13459 SUBTYPE OF (electric_charge_unit, si_unit); 13460WHERE 13461 WR1 : SELF\si_unit.name = si_unit_name.coulomb; 13462 WR2 : NOT EXISTS(SELF\derived_unit.name); 13463END_ENTITY; 13464 13465 13466ENTITY si_electric_potential_unit 13467 SUBTYPE OF (electric_potential_unit, si_unit); 13468WHERE 13469 WR1 : SELF\si_unit.name = si_unit_name.volt; 13470 WR2 : NOT EXISTS(SELF\derived_unit.name); 13471END_ENTITY; 13472 13473 13474ENTITY si_energy_unit 13475 SUBTYPE OF (energy_unit, si_unit); 13476WHERE 13477 WR1 : SELF\si_unit.name = si_unit_name.joule; 13478 WR2 : NOT EXISTS(SELF\derived_unit.name); 13479END_ENTITY; 13480 13481 13482ENTITY si_force_unit 13483 SUBTYPE OF (force_unit, si_unit); 13484WHERE 13485 WR1 : SELF\si_unit.name = si_unit_name.newton; 13486 WR2 : NOT EXISTS(SELF\derived_unit.name); 13487END_ENTITY; 13488 13489 13490ENTITY si_frequency_unit 13491 SUBTYPE OF (frequency_unit, si_unit); 13492WHERE 13493 WR1 : SELF\si_unit.name = si_unit_name.hertz; 13494 WR2 : NOT EXISTS(SELF\derived_unit.name); 13495END_ENTITY; 13496 13497 13498ENTITY si_illuminance_unit 13499 SUBTYPE OF (illuminance_unit, si_unit); 13500WHERE 13501 WR1 : SELF\si_unit.name = si_unit_name.lux; 13502 WR2 : NOT EXISTS(SELF\derived_unit.name); 13503END_ENTITY; 13504 13505 13506ENTITY si_inductance_unit 13507 SUBTYPE OF (inductance_unit, si_unit); 13508WHERE 13509 WR1 : SELF\si_unit.name = si_unit_name.henry; 13510 WR2 : NOT EXISTS(SELF\derived_unit.name); 13511END_ENTITY; 13512 13513 13514ENTITY si_magnetic_flux_density_unit 13515 SUBTYPE OF (magnetic_flux_density_unit, si_unit); 13516WHERE 13517 WR1 : SELF\si_unit.name = si_unit_name.tesla; 13518 WR2 : NOT EXISTS(SELF\derived_unit.name); 13519END_ENTITY; 13520 13521 13522ENTITY si_magnetic_flux_unit 13523 SUBTYPE OF (magnetic_flux_unit, si_unit); 13524WHERE 13525 WR1 : SELF\si_unit.name = si_unit_name.weber; 13526 WR2 : NOT EXISTS(SELF\derived_unit.name); 13527END_ENTITY; 13528 13529 13530ENTITY si_power_unit 13531 SUBTYPE OF (power_unit, si_unit); 13532WHERE 13533 WR1 : SELF\si_unit.name = si_unit_name.watt; 13534 WR2 : NOT EXISTS(SELF\derived_unit.name); 13535END_ENTITY; 13536 13537 13538ENTITY si_pressure_unit 13539 SUBTYPE OF (pressure_unit, si_unit); 13540WHERE 13541 WR1 : SELF\si_unit.name = si_unit_name.pascal; 13542 WR2 : NOT EXISTS(SELF\derived_unit.name); 13543END_ENTITY; 13544 13545 13546ENTITY si_radioactivity_unit 13547 SUBTYPE OF (radioactivity_unit, si_unit); 13548WHERE 13549 WR1 : SELF\si_unit.name = si_unit_name.becquerel; 13550 WR2 : NOT EXISTS(SELF\derived_unit.name); 13551END_ENTITY; 13552 13553 13554ENTITY si_resistance_unit 13555 SUBTYPE OF (resistance_unit, si_unit); 13556WHERE 13557 WR1 : SELF\si_unit.name = si_unit_name.ohm; 13558 WR2 : NOT EXISTS(SELF\derived_unit.name); 13559END_ENTITY; 13560 13561 13562ENTITY si_unit 13563 SUBTYPE OF (named_unit); 13564 prefix : OPTIONAL si_prefix; 13565 name : si_unit_name; 13566DERIVE 13567 SELF\named_unit.dimensions : dimensional_exponents := dimensions_for_si_unit(name); 13568WHERE 13569 WR1 : NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MASS_UNIT' IN TYPEOF(SELF)) AND 13570 (SIZEOF(USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DERIVED_UNIT_ELEMENT.UNIT')) > 0)) OR 13571 (prefix = si_prefix.kilo); 13572END_ENTITY; 13573 13574 13575ENTITY signal 13576 SUBTYPE OF (characterized_object); 13577END_ENTITY; 13578 13579 13580ENTITY signal_category 13581 SUBTYPE OF (group); 13582END_ENTITY; 13583 13584 13585ENTITY simple_boolean_expression 13586 ABSTRACT SUPERTYPE 13587 SUBTYPE OF (boolean_expression, simple_generic_expression); 13588END_ENTITY; 13589 13590 13591ENTITY simple_clause 13592 SUBTYPE OF (compound_representation_item); 13593END_ENTITY; 13594 13595 13596ENTITY simple_generic_expression 13597 ABSTRACT SUPERTYPE OF (ONEOF (generic_literal, generic_variable)) 13598 SUBTYPE OF (generic_expression); 13599END_ENTITY; 13600 13601 13602ENTITY simple_numeric_expression 13603 ABSTRACT SUPERTYPE 13604 SUBTYPE OF (numeric_expression, simple_generic_expression); 13605END_ENTITY; 13606 13607 13608ENTITY single_area_csg_2d_shape_representation 13609 SUBTYPE OF (csg_2d_shape_representation); 13610 SELF\representation.items : SET [1:?] OF csg_2d_area_select; 13611WHERE 13612 WR1 : SIZEOF (QUERY (it <* SELF.items| 13613 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' 13614 IN TYPEOF(it)) )) = 0; 13615 WR2 : SIZEOF (QUERY (it <* SELF.items| 13616 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SOLID_2D' 13617 IN TYPEOF(it)) )) = 1; 13618END_ENTITY; 13619 13620 13621ENTITY single_boundary_csg_2d_shape_representation 13622 SUBTYPE OF (single_area_csg_2d_shape_representation); 13623WHERE 13624 WR1 : SIZEOF(QUERY ( it <* SELF.items | 13625 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_PRIMITIVE_SOLID_2D' IN TYPEOF(it)) 13626 AND (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY') IN 13627 TYPEOF(it\csg_primitive_solid_2d.tree_root_expression))) )) = 0; 13628END_ENTITY; 13629 13630 13631ENTITY single_stratum_continuous_template 13632 ABSTRACT SUPERTYPE OF (ONEOF (stratum_feature_template, material_removal_feature_template)) 13633 SUBTYPE OF (continuous_template, single_stratum_template); 13634END_ENTITY; 13635 13636 13637ENTITY single_stratum_printed_component 13638 SUBTYPE OF (printed_component, structured_layout_component); 13639END_ENTITY; 13640 13641 13642ENTITY single_stratum_printed_part_template 13643 SUBTYPE OF (structured_printed_part_template, single_stratum_structured_template); 13644END_ENTITY; 13645 13646 13647ENTITY single_stratum_special_symbol_component 13648 SUPERTYPE OF (primary_stratum_indicator_symbol) 13649 SUBTYPE OF (structured_layout_component); 13650END_ENTITY; 13651 13652 13653ENTITY single_stratum_special_symbol_template 13654 SUBTYPE OF (single_stratum_structured_template, special_symbol_template); 13655END_ENTITY; 13656 13657 13658ENTITY single_stratum_structured_template 13659 ABSTRACT SUPERTYPE OF (ONEOF (material_removal_structured_template, single_stratum_special_symbol_template)) 13660 SUBTYPE OF (structured_template, single_stratum_template); 13661END_ENTITY; 13662 13663 13664ENTITY single_stratum_template 13665 ABSTRACT SUPERTYPE OF (single_stratum_continuous_template) 13666 SUBTYPE OF (part_template_definition); 13667END_ENTITY; 13668 13669 13670ENTITY slash_expression 13671 SUBTYPE OF (binary_numeric_expression); 13672END_ENTITY; 13673 13674 13675ENTITY smeared_material_definition 13676 SUBTYPE OF (zone_structural_makeup); 13677END_ENTITY; 13678 13679 13680ENTITY snowball_template 13681 SUBTYPE OF (teardrop_template); 13682END_ENTITY; 13683 13684 13685ENTITY solid_angle_measure_with_unit 13686 SUBTYPE OF (measure_with_unit); 13687WHERE 13688 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_ANGLE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 13689END_ENTITY; 13690 13691 13692ENTITY solid_angle_unit 13693 SUBTYPE OF (named_unit); 13694WHERE 13695 WR1 : (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); 13696END_ENTITY; 13697 13698 13699ENTITY solid_character_glyph_2d_symbol 13700 SUBTYPE OF (generic_character_glyph_symbol, csg_2d_shape_representation); 13701END_ENTITY; 13702 13703 13704ENTITY solid_curve_font 13705 SUBTYPE OF (pre_defined_curve_font); 13706END_ENTITY; 13707 13708 13709ENTITY solid_model 13710 SUPERTYPE OF (ONEOF (csg_solid, manifold_solid_brep, swept_face_solid, swept_area_solid, swept_disk_solid, solid_replica)) 13711 SUBTYPE OF (geometric_representation_item); 13712END_ENTITY; 13713 13714 13715ENTITY solid_replica 13716 SUBTYPE OF (solid_model); 13717 parent_solid : solid_model; 13718 transformation : cartesian_transformation_operator_3d; 13719WHERE 13720 WR1 : acyclic_solid_replica(SELF, parent_solid); 13721 WR2 : parent_solid\geometric_representation_item.dim = 3; 13722END_ENTITY; 13723 13724 13725ENTITY solid_with_angle_based_chamfer 13726 SUBTYPE OF (solid_with_chamfered_edges); 13727 offset_distance : positive_length_measure; 13728 left_offset : BOOLEAN; 13729 offset_angle : positive_plane_angle_measure; 13730END_ENTITY; 13731 13732 13733ENTITY solid_with_chamfered_edges 13734 ABSTRACT SUPERTYPE OF (ONEOF (solid_with_single_offset_chamfer, solid_with_double_offset_chamfer, solid_with_angle_based_chamfer)) 13735 SUBTYPE OF (edge_blended_solid); 13736END_ENTITY; 13737 13738 13739ENTITY solid_with_circular_pattern 13740 SUPERTYPE OF (solid_with_incomplete_circular_pattern) 13741 SUBTYPE OF (solid_with_shape_element_pattern); 13742 replicate_count : positive_integer; 13743 angular_spacing : plane_angle_measure; 13744 radial_alignment : BOOLEAN; 13745 reference_point : point; 13746END_ENTITY; 13747 13748 13749ENTITY solid_with_circular_pocket 13750 SUBTYPE OF (solid_with_pocket); 13751 pocket_radius : positive_length_measure; 13752WHERE 13753 WR1 : SELF\solid_with_pocket.floor_blend_radius <= pocket_radius; 13754END_ENTITY; 13755 13756 13757ENTITY solid_with_circular_protrusion 13758 SUBTYPE OF (solid_with_protrusion); 13759 protrusion_radius : positive_length_measure; 13760END_ENTITY; 13761 13762 13763ENTITY solid_with_conical_bottom_round_hole 13764 SUBTYPE OF (solid_with_stepped_round_hole); 13765 semi_apex_angle : positive_plane_angle_measure; 13766 tip_radius : non_negative_length_measure; 13767WHERE 13768 WR1 : tip_radius < 13769 SELF\solid_with_stepped_round_hole.segment_radii[segments]; 13770END_ENTITY; 13771 13772 13773ENTITY solid_with_constant_radius_edge_blend 13774 SUBTYPE OF (edge_blended_solid); 13775 radius : positive_length_measure; 13776END_ENTITY; 13777 13778 13779ENTITY solid_with_curved_slot 13780 SUBTYPE OF (solid_with_slot); 13781 slot_centreline : bounded_curve; 13782END_ENTITY; 13783 13784 13785ENTITY solid_with_depression 13786 ABSTRACT SUPERTYPE OF ((solid_with_through_depression ANDOR ONEOF (solid_with_hole, solid_with_pocket, solid_with_slot, solid_with_groove))) 13787 SUBTYPE OF (modified_solid_with_placed_configuration); 13788 depth : positive_length_measure; 13789END_ENTITY; 13790 13791 13792ENTITY solid_with_double_offset_chamfer 13793 SUBTYPE OF (solid_with_chamfered_edges); 13794 left_offset_distance : positive_length_measure; 13795 right_offset_distance : positive_length_measure; 13796END_ENTITY; 13797 13798 13799ENTITY solid_with_flat_bottom_round_hole 13800 SUBTYPE OF (solid_with_stepped_round_hole); 13801 fillet_radius : non_negative_length_measure; 13802WHERE 13803 WR1 : fillet_radius < 13804 SELF\solid_with_stepped_round_hole.segment_radii[segments]; 13805END_ENTITY; 13806 13807 13808ENTITY solid_with_general_pocket 13809 SUBTYPE OF (solid_with_pocket); 13810 profile : positioned_sketch; 13811 reference_point : point; 13812WHERE 13813 WR1 : SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', 13814 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE'] * TYPEOF(profile.sketch_basis)) = 1; 13815 WR2 : profile IN using_items(reference_point,[]); 13816END_ENTITY; 13817 13818 13819ENTITY solid_with_general_protrusion 13820 SUBTYPE OF (solid_with_protrusion); 13821 profile : positioned_sketch; 13822 reference_point : point; 13823WHERE 13824 WR1 : SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', 13825 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE'] * TYPEOF(profile.sketch_basis)) = 1; 13826 WR2 : profile IN using_items(reference_point,[]); 13827END_ENTITY; 13828 13829 13830ENTITY solid_with_groove 13831 SUBTYPE OF (solid_with_depression); 13832 groove_radius : positive_length_measure; 13833 groove_width : positive_length_measure; 13834 draft_angle : plane_angle_measure; 13835 floor_fillet_radius : non_negative_length_measure; 13836 external_groove : BOOLEAN; 13837WHERE 13838 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' 13839 IN TYPEOF(SELF)); 13840END_ENTITY; 13841 13842 13843ENTITY solid_with_hole 13844 ABSTRACT SUPERTYPE OF (solid_with_stepped_round_hole) 13845 SUBTYPE OF (solid_with_depression); 13846END_ENTITY; 13847 13848 13849ENTITY solid_with_incomplete_circular_pattern 13850 SUBTYPE OF (solid_with_circular_pattern); 13851 omitted_instances : SET [1:?] OF positive_integer; 13852WHERE 13853 WR1 : SIZEOF(omitted_instances) < 13854 SELF\solid_with_circular_pattern.replicate_count; 13855 WR2 : SIZEOF(QUERY(q <* omitted_instances | q > 13856 SELF\solid_with_circular_pattern.replicate_count)) = 0; 13857END_ENTITY; 13858 13859 13860ENTITY solid_with_incomplete_rectangular_pattern 13861 SUBTYPE OF (solid_with_rectangular_pattern); 13862 omitted_instances : SET [1:?] OF LIST [2:2] OF positive_integer; 13863WHERE 13864 WR1 : NOT([1,1] IN omitted_instances); 13865 WR2 : SIZEOF(omitted_instances) < 13866 ((SELF\solid_with_rectangular_pattern.row_count * 13867 SELF\solid_with_rectangular_pattern.column_count) - 1); 13868 WR3 : SIZEOF(QUERY(q <* omitted_instances | 13869 ((q[1] > SELF\solid_with_rectangular_pattern.row_count) OR 13870 (q[2] > SELF\solid_with_rectangular_pattern.column_count)))) = 0; 13871END_ENTITY; 13872 13873 13874ENTITY solid_with_pocket 13875 ABSTRACT SUPERTYPE OF (ONEOF (solid_with_rectangular_pocket, solid_with_circular_pocket, solid_with_general_pocket)) 13876 SUBTYPE OF (solid_with_depression); 13877 floor_blend_radius : non_negative_length_measure; 13878 draft_angle : plane_angle_measure; 13879END_ENTITY; 13880 13881 13882ENTITY solid_with_protrusion 13883 ABSTRACT SUPERTYPE OF (ONEOF (solid_with_circular_protrusion, solid_with_rectangular_protrusion, solid_with_general_protrusion)) 13884 SUBTYPE OF (modified_solid_with_placed_configuration); 13885 protrusion_height : positive_length_measure; 13886 protrusion_draft_angle : plane_angle_measure; 13887END_ENTITY; 13888 13889 13890ENTITY solid_with_rectangular_pattern 13891 SUPERTYPE OF (solid_with_incomplete_rectangular_pattern) 13892 SUBTYPE OF (solid_with_shape_element_pattern); 13893 row_count : positive_integer; 13894 column_count : positive_integer; 13895 row_spacing : length_measure; 13896 column_spacing : length_measure; 13897WHERE 13898 WR1 : (row_count * column_count) > 1; 13899END_ENTITY; 13900 13901 13902ENTITY solid_with_rectangular_pocket 13903 SUBTYPE OF (solid_with_pocket); 13904 pocket_length : positive_length_measure; 13905 pocket_width : positive_length_measure; 13906 corner_radius : non_negative_length_measure; 13907WHERE 13908 WR1 : (corner_radius < pocket_width/2) 13909 AND (corner_radius < pocket_length/2); 13910END_ENTITY; 13911 13912 13913ENTITY solid_with_rectangular_protrusion 13914 SUBTYPE OF (solid_with_protrusion); 13915 protrusion_length : positive_length_measure; 13916 protrusion_width : positive_length_measure; 13917 protrusion_corner_radius : non_negative_length_measure; 13918WHERE 13919 WR1 : (protrusion_corner_radius <= protrusion_width/2) 13920 AND (protrusion_corner_radius <= protrusion_length/2); 13921END_ENTITY; 13922 13923 13924ENTITY solid_with_shape_element_pattern 13925 ABSTRACT SUPERTYPE OF (ONEOF (solid_with_circular_pattern, solid_with_rectangular_pattern)) 13926 SUBTYPE OF (modified_solid_with_placed_configuration); 13927 replicated_element : modified_solid_with_placed_configuration; 13928END_ENTITY; 13929 13930 13931ENTITY solid_with_single_offset_chamfer 13932 SUBTYPE OF (solid_with_chamfered_edges); 13933 offset_distance : positive_length_measure; 13934END_ENTITY; 13935 13936 13937ENTITY solid_with_slot 13938 ABSTRACT SUPERTYPE OF ((ONEOF (solid_with_trapezoidal_section_slot, solid_with_tee_section_slot) AND ONEOF (solid_with_straight_slot, solid_with_curved_slot))) 13939 SUBTYPE OF (solid_with_depression); 13940 slot_width : positive_length_measure; 13941 closed_ends : LIST [2:2] OF LOGICAL; 13942 end_exit_faces : LIST [2:2] OF SET [0:?] OF face_surface; 13943WHERE 13944 WR1 : NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN 13945 TYPEOF(SELF)) AND (closed_ends = [FALSE,FALSE])); 13946 WR2 : NOT(((closed_ends[1] = TRUE) AND (SIZEOF(end_exit_faces[1]) <> 0)) 13947 OR ((closed_ends[2] = TRUE) AND (SIZEOF(end_exit_faces[2]) <> 0))); 13948END_ENTITY; 13949 13950 13951ENTITY solid_with_spherical_bottom_round_hole 13952 SUBTYPE OF (solid_with_stepped_round_hole); 13953 sphere_radius : positive_length_measure; 13954WHERE 13955 WR1 : sphere_radius >= 13956 SELF\solid_with_stepped_round_hole.segment_radii[segments]; 13957END_ENTITY; 13958 13959 13960ENTITY solid_with_stepped_round_hole 13961 SUPERTYPE OF ((solid_with_stepped_round_hole_and_conical_transitions ANDOR ONEOF (solid_with_flat_bottom_round_hole, solid_with_conical_bottom_round_hole, solid_with_spherical_bottom_round_hole))) 13962 SUBTYPE OF (solid_with_hole); 13963 segments : positive_integer; 13964 segment_radii : LIST [1:segments] OF positive_length_measure; 13965 segment_depths : LIST [1:segments] OF positive_length_measure; 13966DERIVE 13967 SELF\solid_with_depression.depth : positive_length_measure := compute_total_depth(SELF); 13968WHERE 13969 WR1 : NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' 13970 IN TYPEOF(SELF)) AND (SIZEOF(TYPEOF(SELF) * 13971 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE', 13972 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE', 13973 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE']) 13974 <> 0)); 13975END_ENTITY; 13976 13977 13978ENTITY solid_with_stepped_round_hole_and_conical_transitions 13979 SUBTYPE OF (solid_with_stepped_round_hole); 13980 conical_transitions : SET [1:?] OF conical_stepped_hole_transition; 13981WHERE 13982 WR1 : SIZEOF (conical_transitions) <= 13983 (SELF\solid_with_stepped_round_hole.segments + 1); 13984 WR2 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' 13985 IN TYPEOF(SELF)) XOR (SIZEOF(conical_transitions) <= 13986 SELF\solid_with_stepped_round_hole.segments); 13987 WR3 : validate_countersink_radii(SELF); 13988END_ENTITY; 13989 13990 13991ENTITY solid_with_straight_slot 13992 SUBTYPE OF (solid_with_slot); 13993 slot_length : positive_length_measure; 13994END_ENTITY; 13995 13996 13997ENTITY solid_with_tee_section_slot 13998 SUBTYPE OF (solid_with_slot); 13999 tee_section_width : positive_length_measure; 14000 collar_depth : positive_length_measure; 14001WHERE 14002 WR1 : collar_depth < SELF\solid_with_depression.depth; 14003 WR2 : tee_section_width > SELF\solid_with_slot.slot_width; 14004END_ENTITY; 14005 14006 14007ENTITY solid_with_through_depression 14008 SUBTYPE OF (solid_with_depression); 14009 exit_faces : SET [1:?] OF face_surface; 14010WHERE 14011 WR1 : SIZEOF(TYPEOF(SELF) * 14012 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_HOLE', 14013 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_POCKET', 14014 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_SLOT']) = 1; 14015END_ENTITY; 14016 14017 14018ENTITY solid_with_trapezoidal_section_slot 14019 SUBTYPE OF (solid_with_slot); 14020 draft_angle : plane_angle_measure; 14021 floor_fillet_radius : non_negative_length_measure; 14022END_ENTITY; 14023 14024 14025ENTITY solid_with_variable_radius_edge_blend 14026 SUBTYPE OF (edge_blended_solid, track_blended_solid); 14027 point_list : LIST [2:?] OF point; 14028 radius_list : LIST [2:?] OF positive_length_measure; 14029 edge_function_list : LIST [1:?] OF blend_radius_variation_type; 14030WHERE 14031 WR1 : SIZEOF(point_list) = SIZEOF(radius_list); 14032 WR2 : SIZEOF(edge_function_list) = SIZEOF(radius_list) - 1; 14033 WR3 : NOT((point_list[1] = point_list[HIINDEX(point_list)]) AND NOT 14034 (radius_list[1] = radius_list[HIINDEX(radius_list)])); 14035END_ENTITY; 14036 14037 14038ENTITY source_for_requirement 14039 SUBTYPE OF (group_assignment); 14040 items : SET [1:1] OF requirement_source_item; 14041 SELF\group_assignment.assigned_group : requirement_source; 14042END_ENTITY; 14043 14044 14045ENTITY sourced_requirement 14046 SUBTYPE OF (group_assignment); 14047 items : SET [1:1] OF product_definition; 14048 SELF\group_assignment.assigned_group : requirement_source; 14049END_ENTITY; 14050 14051 14052ENTITY special_symbol_template 14053 ABSTRACT SUPERTYPE OF (ONEOF (single_stratum_special_symbol_template, multi_stratum_special_symbol_template)) 14054 SUBTYPE OF (part_template_definition); 14055END_ENTITY; 14056 14057 14058ENTITY specification_definition 14059 SUBTYPE OF (product_definition); 14060END_ENTITY; 14061 14062 14063ENTITY specified_higher_usage_occurrence 14064 SUBTYPE OF (assembly_component_usage); 14065 upper_usage : assembly_component_usage; 14066 next_usage : next_assembly_usage_occurrence; 14067UNIQUE 14068 UR1 : upper_usage, next_usage; 14069WHERE 14070 WR1 : SELF :<>: upper_usage; 14071 WR2 : SELF\product_definition_relationship.relating_product_definition 14072 :=: upper_usage.relating_product_definition; 14073 WR3 : SELF\product_definition_relationship.related_product_definition 14074 :=: next_usage.related_product_definition; 14075 WR4 : (upper_usage.related_product_definition :=: 14076 next_usage.relating_product_definition) OR 14077 (SIZEOF (QUERY (pdr <* USEDIN (upper_usage.related_product_definition, 14078 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + 14079 'RELATED_PRODUCT_DEFINITION') | 14080 pdr.relating_product_definition :=: 14081 next_usage.relating_product_definition)) = 1); 14082 WR5 : SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NEXT_ASSEMBLY_USAGE_OCCURRENCE', 14083 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPECIFIED_HIGHER_USAGE_OCCURRENCE'] 14084 * TYPEOF(upper_usage)) = 1; 14085END_ENTITY; 14086 14087 14088ENTITY sphere 14089 SUBTYPE OF (geometric_representation_item); 14090 radius : positive_length_measure; 14091 centre : point; 14092END_ENTITY; 14093 14094 14095ENTITY spherical_surface 14096 SUBTYPE OF (elementary_surface); 14097 radius : positive_length_measure; 14098END_ENTITY; 14099 14100 14101ENTITY standard_uncertainty 14102 SUPERTYPE OF (expanded_uncertainty) 14103 SUBTYPE OF (uncertainty_qualifier); 14104 uncertainty_value : REAL; 14105END_ENTITY; 14106 14107 14108ENTITY start_request 14109 SUBTYPE OF (action_request_assignment); 14110 items : SET [1:?] OF start_request_item; 14111END_ENTITY; 14112 14113 14114ENTITY start_work 14115 SUBTYPE OF (action_assignment); 14116 items : SET [1:?] OF work_item; 14117END_ENTITY; 14118 14119 14120ENTITY statistical_dimensional_location 14121 SUBTYPE OF (dimensional_location); 14122END_ENTITY; 14123 14124 14125ENTITY statistical_dimensional_size 14126 SUBTYPE OF (dimensional_size_property); 14127END_ENTITY; 14128 14129 14130ENTITY statistical_geometric_tolerance 14131 SUBTYPE OF (physical_unit_geometric_tolerance); 14132END_ENTITY; 14133 14134 14135ENTITY straightness_tolerance 14136 SUBTYPE OF (geometric_tolerance); 14137WHERE 14138 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); 14139END_ENTITY; 14140 14141 14142ENTITY stratum 14143 SUPERTYPE OF (ONEOF (documentation_layer_stratum, design_layer_stratum)) 14144 SUBTYPE OF (product_definition, product_definition_shape); 14145DERIVE 14146 SELF\property_definition.definition : stratum := SELF; 14147UNIQUE 14148 UR1: SELF\product_definition.id, SELF\product_definition.formation; 14149WHERE 14150 WR1 : SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'NAME_ATTRIBUTE.NAMED_ITEM')) = 0; 14151 WR2 : NOT EXISTS(SELF\property_definition.description); 14152END_ENTITY; 14153 14154 14155ENTITY stratum_feature 14156 SUPERTYPE OF (fiducial_stratum_feature) 14157 SUBTYPE OF (shape_aspect); 14158END_ENTITY; 14159 14160 14161ENTITY stratum_feature_based_derived_pattern 14162 SUBTYPE OF (characterized_object, property_definition_relationship); 14163END_ENTITY; 14164 14165 14166ENTITY stratum_feature_conductive_join 14167 SUBTYPE OF (product_definition_relationship); 14168END_ENTITY; 14169 14170 14171ENTITY stratum_feature_template 14172 SUBTYPE OF (single_stratum_continuous_template); 14173END_ENTITY; 14174 14175 14176ENTITY stratum_feature_template_component 14177 SUPERTYPE OF (ONEOF (area_component, conductive_interconnect_element, land)) 14178 SUBTYPE OF (laminate_component); 14179END_ENTITY; 14180 14181 14182ENTITY stratum_feature_template_component_with_stratum_feature 14183 SUBTYPE OF (stratum_feature_template_component, stratum_feature, shape_aspect_relationship); 14184DERIVE 14185 SELF\shape_aspect_relationship.related_shape_aspect : stratum_feature_template_component_with_stratum_feature := SELF; 14186 SELF\shape_aspect_relationship.relating_shape_aspect : stratum_feature_template_component_with_stratum_feature := SELF; 14187WHERE 14188 WR1 : SELF\shape_aspect_relationship.name = 'implementation'; 14189END_ENTITY; 14190 14191 14192ENTITY stratum_specific_template_location 14193 SUBTYPE OF (assembly_component_usage, property_definition); 14194END_ENTITY; 14195 14196 14197ENTITY stratum_stack_dependent_template 14198 SUBTYPE OF (multi_stratum_structured_template); 14199END_ENTITY; 14200 14201 14202ENTITY stratum_stack_model 14203 ABSTRACT SUPERTYPE 14204 SUBTYPE OF (part_template_definition); 14205END_ENTITY; 14206 14207 14208ENTITY stratum_sub_stack 14209 ABSTRACT SUPERTYPE OF (ONEOF (local_linear_stack, passage_technology_allocation_to_stack_model)) 14210 SUBTYPE OF (part_template_definition); 14211END_ENTITY; 14212 14213 14214ENTITY stratum_surface 14215 SUBTYPE OF (shape_aspect); 14216END_ENTITY; 14217 14218 14219ENTITY stratum_surface_technology 14220 SUBTYPE OF (shape_aspect); 14221 SELF\shape_aspect.of_shape : stratum_technology; 14222DERIVE 14223 associated_technology : stratum_technology := SELF\shape_aspect.of_shape; 14224END_ENTITY; 14225 14226 14227ENTITY stratum_technology 14228 SUBTYPE OF (characterized_object, product_definition_shape); 14229DERIVE 14230 SELF\property_definition.definition : characterized_definition := SELF; 14231UNIQUE 14232 UR1: SELF\characterized_object.name; 14233END_ENTITY; 14234 14235 14236ENTITY stratum_technology_mapping_relationship 14237 SUBTYPE OF (property_definition_relationship); 14238END_ENTITY; 14239 14240 14241ENTITY stratum_technology_occurrence 14242 SUBTYPE OF (property_definition); 14243END_ENTITY; 14244 14245 14246ENTITY stratum_technology_occurrence_feature_constraint 14247 SUBTYPE OF (stratum_technology_occurrence_relationship); 14248END_ENTITY; 14249 14250 14251ENTITY stratum_technology_occurrence_link 14252 SUBTYPE OF (stratum_technology_occurrence_relationship); 14253END_ENTITY; 14254 14255 14256ENTITY stratum_technology_occurrence_relationship 14257 ABSTRACT SUPERTYPE OF (ONEOF (derived_stratum_technology_occurrence_relationship, stratum_technology_occurrence_link, stratum_technology_occurrence_feature_constraint, stratum_technology_occurrence_swap_relationship)) 14258 SUBTYPE OF (property_definition, property_definition_relationship); 14259END_ENTITY; 14260 14261 14262ENTITY stratum_technology_occurrence_swap_relationship 14263 SUBTYPE OF (stratum_technology_occurrence_relationship); 14264END_ENTITY; 14265 14266 14267ENTITY stratum_technology_swap_relationship 14268 SUBTYPE OF (property_definition_relationship); 14269END_ENTITY; 14270 14271 14272ENTITY structured_dimension_callout 14273 SUBTYPE OF (draughting_callout); 14274WHERE 14275 WR1 : SIZEOF (TYPEOF (SELF) * 14276 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_FEATURE_CALLOUT', 14277 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_TARGET_CALLOUT', 14278 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRICAL_TOLERANCE_CALLOUT', 14279 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT', 14280 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT', 14281 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT']) = 0; 14282 WR2 : SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | 14283 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 14284 IN TYPEOF (con))) | 14285 NOT (ato.name IN 14286 ['dimension value', 'tolerance value', 'unit text', 14287 'prefix text', 'suffix text']))) = 0; 14288 WR3 : SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | 14289 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 14290 IN TYPEOF (con))) | 14291 (ato.name = 'dimension value') 14292 )) >= 1; 14293 WR4 : SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 14294 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + 14295 'RELATING_DRAUGHTING_CALLOUT') | 14296 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 14297 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND 14298 (dcr.name = 'prefix') )) <= 1; 14299 WR5 : SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 14300 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + 14301 'RELATING_DRAUGHTING_CALLOUT') | 14302 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 14303 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND 14304 (dcr.name = 'suffix') )) <= 1; 14305 WR6 : NOT((SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | 14306 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 14307 IN TYPEOF(con)) ) | 14308 (ato.name = 'prefix text') 14309 )) > 0)) OR 14310 (SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 14311 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + 14312 'RELATING_DRAUGHTING_CALLOUT') | 14313 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 14314 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND 14315 (dcr.name = 'prefix') )) = 1); 14316 WR7 : NOT(SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | 14317 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' 14318 IN TYPEOF(con))) | 14319 (ato.name = 'suffix text') 14320 )) > 0) OR 14321 (SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 14322 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + 14323 'RELATING_DRAUGHTING_CALLOUT') | 14324 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 14325 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND 14326 (dcr.name = 'suffix') )) = 1); 14327END_ENTITY; 14328 14329 14330ENTITY structured_inter_stratum_feature_template 14331 SUBTYPE OF (inter_stratum_feature_template, stratum_stack_dependent_template); 14332END_ENTITY; 14333 14334 14335ENTITY structured_layout_component 14336 ABSTRACT SUPERTYPE OF (ONEOF (footprint_occurrence, material_removal_structured_component, multi_stratum_printed_component, multi_stratum_special_symbol_component, padstack_occurrence, single_stratum_printed_component, single_stratum_special_symbol_component)) 14337 SUBTYPE OF (assembly_group_component); 14338END_ENTITY; 14339 14340 14341ENTITY structured_layout_component_sub_assembly_relationship 14342 SUPERTYPE OF (footprint_occurrence_product_definition_relationship) 14343 SUBTYPE OF (next_assembly_usage_occurrence_relationship); 14344WHERE 14345 WR1 : SELF\product_definition_relationship.related_product_definition :<>: 14346 SELF\product_definition_relationship.relating_product_definition; 14347END_ENTITY; 14348 14349 14350ENTITY structured_layout_component_sub_assembly_relationship_with_component 14351 SUBTYPE OF (structured_layout_component_sub_assembly_relationship, assembly_component); 14352DERIVE 14353 SELF\product_definition_relationship.related_product_definition : assembly_component := SELF; 14354END_ENTITY; 14355 14356 14357ENTITY structured_printed_part_template 14358 ABSTRACT SUPERTYPE OF (ONEOF (single_stratum_printed_part_template, multi_stratum_printed_part_template)) 14359 SUBTYPE OF (printed_part_template, structured_template); 14360END_ENTITY; 14361 14362 14363ENTITY structured_printed_part_template_terminal 14364 SUBTYPE OF (printed_part_template_terminal); 14365END_ENTITY; 14366 14367 14368ENTITY structured_template 14369 ABSTRACT SUPERTYPE OF (ONEOF (single_stratum_structured_template, multi_stratum_structured_template)) 14370 SUBTYPE OF (geometric_template); 14371END_ENTITY; 14372 14373 14374ENTITY structured_text_composition 14375 SUBTYPE OF (compound_representation_item); 14376END_ENTITY; 14377 14378 14379ENTITY structured_text_representation 14380 SUBTYPE OF (representation); 14381 SELF\representation.items : SET [1:?] OF string_representation_item_select; 14382END_ENTITY; 14383 14384 14385ENTITY styled_item 14386 SUBTYPE OF (representation_item); 14387 styles : SET [1:?] OF presentation_style_assignment; 14388 item : representation_item; 14389WHERE 14390 WR1 : (SIZEOF(SELF.styles) = 1) 14391 XOR 14392 (SIZEOF(QUERY(pres_style <* SELF.styles | 14393 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 14394 'PRESENTATION_STYLE_BY_CONTEXT' IN 14395 TYPEOF(pres_style)) 14396 )) = 0); 14397END_ENTITY; 14398 14399 14400ENTITY subedge 14401 SUBTYPE OF (edge); 14402 parent_edge : edge; 14403END_ENTITY; 14404 14405 14406ENTITY subface 14407 SUBTYPE OF (face); 14408 parent_face : face; 14409WHERE 14410 WR1 : NOT (mixed_loop_type_set(list_to_set(list_face_loops(SELF)) + 14411 list_to_set(list_face_loops(parent_face)))); 14412END_ENTITY; 14413 14414 14415ENTITY supplied_part_relationship 14416 SUBTYPE OF (product_definition_relationship); 14417END_ENTITY; 14418 14419 14420ENTITY surface 14421 SUPERTYPE OF (ONEOF (elementary_surface, swept_surface, bounded_surface, offset_surface, surface_replica)) 14422 SUBTYPE OF (geometric_representation_item); 14423END_ENTITY; 14424 14425 14426ENTITY surface_condition_callout 14427 SUBTYPE OF (draughting_callout); 14428WHERE 14429 WR1 : SIZEOF ( QUERY ( c <* SELF.contents | SIZEOF ( 14430 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'ANNOTATION_CURVE_OCCURRENCE' , 14431 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'ANNOTATION_SYMBOL_OCCURRENCE' , 14432 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'ANNOTATION_TEXT_OCCURRENCE']* TYPEOF 14433 ( c ) ) <>1 ) ) =0; 14434END_ENTITY; 14435 14436 14437ENTITY surface_curve 14438 SUPERTYPE OF ((ONEOF (intersection_curve, seam_curve) ANDOR bounded_surface_curve)) 14439 SUBTYPE OF (curve); 14440 curve_3d : curve; 14441 associated_geometry : LIST [1:2] OF pcurve_or_surface; 14442 master_representation : preferred_surface_curve_representation; 14443DERIVE 14444 basis_surface : SET [1:2] OF surface := get_basis_surface(SELF); 14445WHERE 14446 WR1 : curve_3d.dim = 3; 14447 WR2 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[1])) OR 14448 (master_representation <> pcurve_s1); 14449 WR3 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[2])) OR 14450 (master_representation <> pcurve_s2); 14451 WR4 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(curve_3d)); 14452END_ENTITY; 14453 14454 14455ENTITY surface_curve_swept_area_solid 14456 SUBTYPE OF (swept_area_solid); 14457 directrix : curve; 14458 start_param : REAL; 14459 end_param : REAL; 14460 reference_surface : surface; 14461WHERE 14462 WR1 : (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(directrix))) OR 14463 (reference_surface IN (directrix\surface_curve.basis_surface)); 14464END_ENTITY; 14465 14466 14467ENTITY surface_of_linear_extrusion 14468 SUBTYPE OF (swept_surface); 14469 extrusion_axis : vector; 14470END_ENTITY; 14471 14472 14473ENTITY surface_of_revolution 14474 SUBTYPE OF (swept_surface); 14475 axis_position : axis1_placement; 14476DERIVE 14477 axis_line : line := representation_item('')|| 14478 geometric_representation_item()|| curve()|| 14479 line(axis_position.location, representation_item('')|| 14480 geometric_representation_item()|| 14481 vector(axis_position.z, 1.0)); 14482END_ENTITY; 14483 14484 14485ENTITY surface_patch 14486 SUBTYPE OF (founded_item); 14487 parent_surface : bounded_surface; 14488 u_transition : transition_code; 14489 v_transition : transition_code; 14490 u_sense : BOOLEAN; 14491 v_sense : BOOLEAN; 14492INVERSE 14493 using_surfaces: BAG [1:?] OF rectangular_composite_surface FOR segments; 14494WHERE 14495 WR1 : (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' 14496 IN TYPEOF(parent_surface))); 14497END_ENTITY; 14498 14499 14500ENTITY surface_prepped_terminal 14501 SUBTYPE OF (altered_package_terminal); 14502END_ENTITY; 14503 14504 14505ENTITY surface_profile_tolerance 14506 SUBTYPE OF (geometric_tolerance); 14507WHERE 14508 WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)) OR ( SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3); 14509END_ENTITY; 14510 14511 14512ENTITY surface_rendering_properties; 14513 rendered_colour : colour; 14514END_ENTITY; 14515 14516 14517ENTITY surface_replica 14518 SUBTYPE OF (surface); 14519 parent_surface : surface; 14520 transformation : cartesian_transformation_operator_3d; 14521WHERE 14522 WR1 : acyclic_surface_replica(SELF, parent_surface); 14523END_ENTITY; 14524 14525 14526ENTITY surface_side_style 14527 SUBTYPE OF (founded_item); 14528 name : label; 14529 styles : SET [1:7] OF surface_style_element_select; 14530WHERE 14531 WR1 : SIZEOF(QUERY( style1 <* SELF.styles | 14532 SIZEOF(QUERY( style2 <* SELF.styles - style1 | 14533 TYPEOF(style1) = TYPEOF(style2) 14534 )) > 0 14535 )) = 0; 14536END_ENTITY; 14537 14538 14539ENTITY surface_style_boundary 14540 SUBTYPE OF (founded_item); 14541 style_of_boundary : curve_or_render; 14542END_ENTITY; 14543 14544 14545ENTITY surface_style_control_grid 14546 SUBTYPE OF (founded_item); 14547 style_of_control_grid : curve_or_render; 14548END_ENTITY; 14549 14550 14551ENTITY surface_style_fill_area 14552 SUBTYPE OF (founded_item); 14553 fill_area : fill_area_style; 14554END_ENTITY; 14555 14556 14557ENTITY surface_style_parameter_line 14558 SUBTYPE OF (founded_item); 14559 style_of_parameter_lines : curve_or_render; 14560 direction_counts : SET [1:2] OF direction_count_select; 14561WHERE 14562 WR1 : (HIINDEX(SELF.direction_counts) = 1) 14563 XOR 14564 (TYPEOF(SELF.direction_counts[1]) <> 14565 TYPEOF(SELF.direction_counts[2])); 14566END_ENTITY; 14567 14568 14569ENTITY surface_style_reflectance_ambient; 14570 ambient_reflectance : REAL; 14571END_ENTITY; 14572 14573 14574ENTITY surface_style_reflectance_ambient_diffuse 14575 SUBTYPE OF (surface_style_reflectance_ambient); 14576 diffuse_reflectance : REAL; 14577END_ENTITY; 14578 14579 14580ENTITY surface_style_reflectance_ambient_diffuse_specular 14581 SUBTYPE OF (surface_style_reflectance_ambient_diffuse); 14582 specular_reflectance : REAL; 14583 specular_exponent : REAL; 14584 specular_colour : colour; 14585END_ENTITY; 14586 14587 14588ENTITY surface_style_rendering; 14589 rendering_method : shading_surface_method; 14590 surface_colour : colour; 14591END_ENTITY; 14592 14593 14594ENTITY surface_style_rendering_with_properties 14595 SUBTYPE OF (surface_style_rendering); 14596 properties : SET [1:2] OF rendering_properties_select; 14597WHERE 14598 WR1 : (HIINDEX(SELF.properties) = 1) 14599 XOR 14600 (TYPEOF(SELF.properties[1]) <> TYPEOF(SELF.properties[2])); 14601END_ENTITY; 14602 14603 14604ENTITY surface_style_segmentation_curve 14605 SUBTYPE OF (founded_item); 14606 style_of_segmentation_curve : curve_or_render; 14607END_ENTITY; 14608 14609 14610ENTITY surface_style_silhouette 14611 SUBTYPE OF (founded_item); 14612 style_of_silhouette : curve_or_render; 14613END_ENTITY; 14614 14615 14616ENTITY surface_style_transparent; 14617 transparency : REAL; 14618WHERE 14619 WR1 : {0.0 <= transparency <= 1.0}; 14620END_ENTITY; 14621 14622 14623ENTITY surface_style_usage 14624 SUBTYPE OF (founded_item); 14625 side : surface_side; 14626 style : surface_side_style_select; 14627END_ENTITY; 14628 14629 14630ENTITY surface_texture_representation 14631 SUBTYPE OF (representation); 14632WHERE 14633 WR1 : SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( 14634 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , 14635 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'VALUE_RANGE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 14636 'DESCRIPTIVE_REPRESENTATION_ITEM']* TYPEOF ( i ) ) <>1 ) ) 14637 =0; 14638 WR2 : ( SIZEOF ( QUERY ( i <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 14639 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) ) =1 ) 14640 AND ( SIZEOF ( QUERY ( i <* SELF.items | ( 14641 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN 14642 TYPEOF ( i ) ) AND ( i.name = 'measuring method' ) ) ) =1 ); 14643 WR3 : SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( 14644 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , 14645 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) ) 14646 >0; 14647 WR4 : ( SIZEOF ( USEDIN ( SELF , 14648 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ 14649 'REP_1' ) ) <=1 ) AND ( SIZEOF ( USEDIN ( SELF , 14650 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ 14651 'REP_2' ) ) =0 ) AND ( SIZEOF ( QUERY ( rr <* USEDIN ( SELF 14652 , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ 14653 'REP_1' ) | rr. rep_2.name = 'measuring direction' ) ) = 14654 SIZEOF ( USEDIN ( SELF , 14655 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ 14656 'REP_1' ) ) ); 14657 WR5 : ( SIZEOF ( USEDIN ( SELF , 14658 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 14659 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr 14660 <* USEDIN ( SELF , 14661 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 14662 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( 14663 pdr. definition , 14664 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ 14665 'DERIVED_DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 14666 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND 14667 ( gpa. base_definition.name ='surface_condition' ) ) ) =1 ) 14668 ) =1 ); 14669END_ENTITY; 14670 14671 14672ENTITY surfaced_open_shell 14673 SUBTYPE OF (open_shell); 14674WHERE 14675 WR1 : SIZEOF(QUERY(q <* SELF\connected_face_set.cfs_faces | 14676 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(q)))) = 0; 14677END_ENTITY; 14678 14679 14680ENTITY swept_area_solid 14681 SUPERTYPE OF (ONEOF (revolved_area_solid, extruded_area_solid, surface_curve_swept_area_solid)) 14682 SUBTYPE OF (solid_model); 14683 swept_area : curve_bounded_surface; 14684WHERE 14685 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(swept_area.basis_surface); 14686END_ENTITY; 14687 14688 14689ENTITY swept_disk_solid 14690 SUBTYPE OF (solid_model); 14691 directrix : curve; 14692 radius : positive_length_measure; 14693 inner_radius : OPTIONAL positive_length_measure; 14694 start_param : REAL; 14695 end_param : REAL; 14696WHERE 14697 WR1 : directrix.dim = 3; 14698 WR2 : (NOT EXISTS(inner_radius)) OR (radius > inner_radius); 14699END_ENTITY; 14700 14701 14702ENTITY swept_face_solid 14703 SUPERTYPE OF (ONEOF (extruded_face_solid, revolved_face_solid)) 14704 SUBTYPE OF (solid_model); 14705 swept_face : face_surface; 14706WHERE 14707 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(swept_face.face_geometry); 14708END_ENTITY; 14709 14710 14711ENTITY swept_surface 14712 SUPERTYPE OF (ONEOF (surface_of_linear_extrusion, surface_of_revolution)) 14713 SUBTYPE OF (surface); 14714 swept_curve : curve; 14715END_ENTITY; 14716 14717 14718ENTITY symbol 14719 SUBTYPE OF (representation_item); 14720END_ENTITY; 14721 14722 14723ENTITY symbol_colour; 14724 colour_of_symbol : colour; 14725END_ENTITY; 14726 14727 14728ENTITY symbol_representation 14729 SUBTYPE OF (representation); 14730END_ENTITY; 14731 14732 14733ENTITY symbol_representation_map 14734 SUBTYPE OF (representation_map); 14735 SELF\representation_map.mapped_representation : symbol_representation; 14736 SELF\representation_map.mapping_origin : axis2_placement; 14737END_ENTITY; 14738 14739 14740ENTITY symbol_style 14741 SUBTYPE OF (founded_item); 14742 name : label; 14743 style_of_symbol : symbol_style_select; 14744END_ENTITY; 14745 14746 14747ENTITY symbol_target 14748 SUBTYPE OF (geometric_representation_item); 14749 placement : axis2_placement; 14750 x_scale : positive_ratio_measure; 14751 y_scale : positive_ratio_measure; 14752END_ENTITY; 14753 14754 14755ENTITY symmetric_shape_aspect 14756 SUBTYPE OF (shape_aspect); 14757INVERSE 14758 basis_relationships: SET [1:?] OF shape_aspect_relationship FOR relating_shape_aspect; 14759WHERE 14760 WR1 : SIZEOF (QUERY (x<*SELF\symmetric_shape_aspect.basis_relationships | 14761 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CENTRE_OF_SYMMETRY' IN TYPEOF 14762 (x\shape_aspect_relationship.related_shape_aspect)))>=1; 14763END_ENTITY; 14764 14765 14766ENTITY symmetry_tolerance 14767 SUBTYPE OF (geometric_tolerance_with_datum_reference); 14768WHERE 14769 WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3; 14770END_ENTITY; 14771 14772 14773ENTITY table_representation_item 14774 SUBTYPE OF (compound_representation_item); 14775WHERE 14776 WR1 : SIZEOF(QUERY(itet <* SELF\compound_representation_item.item_element | 14777 NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROW_REPRESENTATION_ITEM' IN TYPEOF(itet)) 14778 )) = 0; 14779END_ENTITY; 14780 14781 14782ENTITY tactile_appearance_representation 14783 SUBTYPE OF (representation); 14784WHERE 14785 WR1 : SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( 14786 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , 14787 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) <>1 )) =0; 14788 WR2 : SIZEOF ( QUERY ( i <* SELF.items | name ='depth' ) ) <=1; 14789 WR3 : ( SIZEOF ( USEDIN ( SELF , 14790 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 14791 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr 14792 <* USEDIN ( SELF , 14793 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 14794 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( 14795 pdr. definition , 14796 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ 14797 'DERIVED_DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 14798 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND 14799 ( gpa. base_definition.name ='surface_condition' ) ) ) =1 )) =1 ); 14800END_ENTITY; 14801 14802 14803ENTITY tagged_text_format 14804 SUBTYPE OF (representation_context); 14805END_ENTITY; 14806 14807 14808ENTITY tagged_text_item 14809 SUBTYPE OF (descriptive_representation_item); 14810END_ENTITY; 14811 14812 14813ENTITY tangent 14814 SUBTYPE OF (derived_shape_aspect); 14815WHERE 14816 WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; 14817END_ENTITY; 14818 14819 14820ENTITY teardrop_by_angle_template 14821 SUBTYPE OF (teardrop_template); 14822END_ENTITY; 14823 14824 14825ENTITY teardrop_by_length_template 14826 SUBTYPE OF (teardrop_template); 14827END_ENTITY; 14828 14829 14830ENTITY teardrop_template 14831 ABSTRACT SUPERTYPE OF (ONEOF (snowball_template, teardrop_by_angle_template, teardrop_by_length_template)) 14832 SUBTYPE OF (parametric_template, single_stratum_template); 14833END_ENTITY; 14834 14835 14836ENTITY template_material_cross_section_boundary 14837 SUBTYPE OF (shape_aspect); 14838END_ENTITY; 14839 14840 14841ENTITY terminator_symbol 14842 SUBTYPE OF (annotation_symbol_occurrence); 14843 annotated_curve : annotation_curve_occurrence; 14844END_ENTITY; 14845 14846 14847ENTITY tertiary_orientation_feature 14848 SUBTYPE OF (shape_aspect); 14849WHERE 14850 WR1 : SELF.product_definitional = TRUE; 14851END_ENTITY; 14852 14853 14854ENTITY test_method_based_parameter_assignment 14855 SUBTYPE OF (parameter_assignment); 14856END_ENTITY; 14857 14858 14859ENTITY test_point_part_feature 14860 SUBTYPE OF (part_tooling_feature); 14861END_ENTITY; 14862 14863 14864ENTITY text_font; 14865 id : identifier; 14866 name : label; 14867 description : text; 14868INVERSE 14869 glyphs: SET [1:?] OF character_glyph_font_usage FOR font; 14870END_ENTITY; 14871 14872 14873ENTITY text_font_family; 14874 id : identifier; 14875 name : label; 14876 description : text; 14877INVERSE 14878 fonts: SET [1:?] OF text_font_in_family FOR family; 14879END_ENTITY; 14880 14881 14882ENTITY text_font_in_family; 14883 font : text_font; 14884 family : text_font_family; 14885END_ENTITY; 14886 14887 14888ENTITY text_literal 14889 SUBTYPE OF (geometric_representation_item); 14890 literal : presentable_text; 14891 placement : axis2_placement; 14892 alignment : text_alignment; 14893 path : text_path; 14894 font : font_select; 14895END_ENTITY; 14896 14897 14898ENTITY text_literal_with_associated_curves 14899 SUBTYPE OF (text_literal); 14900 associated_curves : SET [1:?] OF curve; 14901END_ENTITY; 14902 14903 14904ENTITY text_literal_with_blanking_box 14905 SUBTYPE OF (text_literal); 14906 blanking : planar_box; 14907END_ENTITY; 14908 14909 14910ENTITY text_literal_with_delineation 14911 SUBTYPE OF (text_literal); 14912 delineation : text_delineation; 14913END_ENTITY; 14914 14915 14916ENTITY text_literal_with_extent 14917 SUBTYPE OF (text_literal); 14918 extent : planar_extent; 14919END_ENTITY; 14920 14921 14922ENTITY text_string_representation 14923 SUBTYPE OF (representation); 14924 SELF\representation.items : SET [1:?] OF text_string_representation_item; 14925WHERE 14926 WR1 : SIZEOF ( 14927 QUERY (item <* SELF\representation.items | 14928 NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL', 14929 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT', 14930 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_CHARACTER', 14931 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEFINED_CHARACTER_GLYPH', 14932 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT'] * 14933 TYPEOF (item)) = 0) 14934 )) >= 1; 14935 WR2 : SIZEOF ( 14936 QUERY (a2p <* 14937 QUERY (item <* SELF\representation.items | 14938 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF (item)) | 14939 NOT ((SIZEOF ( 14940 QUERY (at <* 14941 QUERY (item <* SELF\representation.items | 14942 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 14943 'ANNOTATION_TEXT' IN TYPEOF (item)) | 14944 (at\mapped_item.mapping_target :=: a2p))) >= 1) OR 14945 (SIZEOF ( 14946 QUERY (atc <* 14947 QUERY (item <* SELF\representation.items | 14948 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 14949 'ANNOTATION_TEXT_CHARACTER' IN TYPEOF (item)) | 14950 (atc\mapped_item.mapping_target :=: a2p))) >= 1) 14951 ))) = 0; 14952END_ENTITY; 14953 14954 14955ENTITY text_style 14956 SUBTYPE OF (founded_item); 14957 name : label; 14958 character_appearance : character_style_select; 14959END_ENTITY; 14960 14961 14962ENTITY text_style_for_defined_font; 14963 text_colour : colour; 14964END_ENTITY; 14965 14966 14967ENTITY text_style_with_box_characteristics 14968 SUBTYPE OF (text_style); 14969 characteristics : SET [1:4] OF box_characteristic_select; 14970WHERE 14971 WR1 : SIZEOF( QUERY( c1 <* SELF.characteristics | 14972 SIZEOF( QUERY( c2 <* SELF.characteristics - c1 | 14973 TYPEOF (c1) = TYPEOF (c2) 14974 )) > 0 14975 )) = 0; 14976END_ENTITY; 14977 14978 14979ENTITY text_style_with_mirror 14980 SUBTYPE OF (text_style); 14981 mirror_placement : axis2_placement; 14982END_ENTITY; 14983 14984 14985ENTITY text_style_with_spacing 14986 SUBTYPE OF (text_style); 14987 character_spacing : character_spacing_select; 14988END_ENTITY; 14989 14990 14991ENTITY thermal_component 14992 SUBTYPE OF (assembly_component); 14993END_ENTITY; 14994 14995 14996ENTITY thermal_feature 14997 SUBTYPE OF (shape_aspect); 14998END_ENTITY; 14999 15000 15001ENTITY thermal_isolation_removal_component 15002 SUBTYPE OF (material_removal_structured_component); 15003END_ENTITY; 15004 15005 15006ENTITY thermal_isolation_removal_template 15007 SUBTYPE OF (material_removal_structured_template); 15008END_ENTITY; 15009 15010 15011ENTITY thermal_network 15012 SUBTYPE OF (functional_unit); 15013END_ENTITY; 15014 15015 15016ENTITY thermal_network_node_definition 15017 SUBTYPE OF (network_node_definition); 15018END_ENTITY; 15019 15020 15021ENTITY thermal_requirement_allocation 15022 SUBTYPE OF (requirement_assignment); 15023END_ENTITY; 15024 15025 15026ENTITY thermal_resistance_measure_with_unit 15027 SUBTYPE OF (measure_with_unit); 15028WHERE 15029 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THERMAL_RESISTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 15030END_ENTITY; 15031 15032 15033ENTITY thermal_resistance_unit 15034 SUBTYPE OF (derived_unit); 15035WHERE 15036 WR1 : derive_dimensional_exponents(SELF) = 15037 dimensional_exponents ( -1.0, -1.0, -3.0, 0.0, 1.0, 0.0, 0.0 ); 15038END_ENTITY; 15039 15040 15041ENTITY thermodynamic_temperature_measure_with_unit 15042 SUBTYPE OF (measure_with_unit); 15043WHERE 15044 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 15045END_ENTITY; 15046 15047 15048ENTITY thermodynamic_temperature_unit 15049 SUBTYPE OF (named_unit); 15050WHERE 15051 WR1 : (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 1.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); 15052END_ENTITY; 15053 15054 15055ENTITY thickened_face_solid 15056 SUBTYPE OF (solid_model); 15057 base_element : generalized_surface_select; 15058 offset1 : length_measure; 15059 offset2 : length_measure; 15060WHERE 15061 WR1 : NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF(base_element)) AND 15062 (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(base_element)))); 15063 WR2 : offset1 <> offset2; 15064END_ENTITY; 15065 15066 15067ENTITY thickness_laminate_definition 15068 SUBTYPE OF (product_definition); 15069WHERE 15070 WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF, 15071 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 15072 'PRODUCT_DEFINITION_RELATIONSHIP.' + 15073 'RELATING_PRODUCT_DEFINITION') | 15074 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 15075 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN 15076 TYPEOF (pdr))) = 1; 15077END_ENTITY; 15078 15079 15080ENTITY thickness_laminate_table 15081 SUBTYPE OF (zone_structural_makeup); 15082END_ENTITY; 15083 15084 15085ENTITY through_port_variable 15086 SUBTYPE OF (port_variable); 15087END_ENTITY; 15088 15089 15090ENTITY tiebar_printed_component 15091 SUBTYPE OF (printed_component, structured_layout_component); 15092END_ENTITY; 15093 15094 15095ENTITY tile_area_template 15096 SUBTYPE OF (fill_area_template); 15097END_ENTITY; 15098 15099 15100ENTITY time_interval; 15101 id : identifier; 15102 name : label; 15103 description : OPTIONAL text; 15104END_ENTITY; 15105 15106 15107ENTITY time_interval_assignment 15108 ABSTRACT SUPERTYPE; 15109 assigned_time_interval : time_interval; 15110 role : time_interval_role; 15111END_ENTITY; 15112 15113 15114ENTITY time_interval_based_effectivity 15115 SUBTYPE OF (effectivity); 15116 effectivity_period : time_interval; 15117END_ENTITY; 15118 15119 15120ENTITY time_interval_relationship; 15121 name : label; 15122 description : OPTIONAL text; 15123 relating_time_interval : time_interval; 15124 related_time_interval : time_interval; 15125END_ENTITY; 15126 15127 15128ENTITY time_interval_role; 15129 name : label; 15130 description : OPTIONAL text; 15131END_ENTITY; 15132 15133 15134ENTITY time_interval_with_bounds 15135 SUBTYPE OF (time_interval); 15136 primary_bound : OPTIONAL date_time_or_event_occurrence; 15137 secondary_bound : OPTIONAL date_time_or_event_occurrence; 15138 duration : OPTIONAL time_measure_with_unit; 15139WHERE 15140 WR1 : NOT (EXISTS(secondary_bound) AND EXISTS(duration)); 15141 WR2 : EXISTS(primary_bound) OR EXISTS(secondary_bound); 15142END_ENTITY; 15143 15144 15145ENTITY time_measure_with_unit 15146 SUBTYPE OF (measure_with_unit); 15147WHERE 15148 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TIME_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 15149END_ENTITY; 15150 15151 15152ENTITY time_unit 15153 SUBTYPE OF (named_unit); 15154WHERE 15155 WR1 : (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 1.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); 15156END_ENTITY; 15157 15158 15159ENTITY tolerance_value; 15160 lower_bound : measure_with_unit; 15161 upper_bound : measure_with_unit; 15162DERIVE 15163 lbvc : REAL := lower_bound\measure_with_unit.value_component; 15164 ubvc : REAL := upper_bound\measure_with_unit.value_component; 15165WHERE 15166 WR1 : ubvc > lbvc; 15167 WR2 : upper_bound\measure_with_unit.unit_component = 15168 lower_bound\measure_with_unit.unit_component; 15169END_ENTITY; 15170 15171 15172ENTITY tolerance_zone 15173 SUBTYPE OF (shape_aspect); 15174 defining_tolerance : SET [1:?] OF geometric_tolerance; 15175 form : tolerance_zone_form; 15176END_ENTITY; 15177 15178 15179ENTITY tolerance_zone_boundary 15180 SUBTYPE OF (shape_aspect); 15181WHERE 15182 WR1 : SELF\shape_aspect.product_definitional = False; 15183END_ENTITY; 15184 15185 15186ENTITY tolerance_zone_definition 15187 SUPERTYPE OF (ONEOF (projected_zone_definition, runout_zone_definition)); 15188 zone : tolerance_zone; 15189 boundaries : SET [1:?] OF shape_aspect; 15190END_ENTITY; 15191 15192 15193ENTITY tolerance_zone_explicit_opposing_boundary_set 15194 SUBTYPE OF (tolerance_zone_boundary); 15195END_ENTITY; 15196 15197 15198ENTITY tolerance_zone_form; 15199 name : label; 15200END_ENTITY; 15201 15202 15203ENTITY tolerance_zone_implicit_opposing_boundary_set 15204 SUBTYPE OF (tolerance_zone_boundary); 15205END_ENTITY; 15206 15207 15208ENTITY tool_registration_mark 15209 SUBTYPE OF (part_tooling_feature); 15210END_ENTITY; 15211 15212 15213ENTITY topological_representation_item 15214 SUPERTYPE OF (ONEOF (vertex, edge, face_bound, face, vertex_shell, wire_shell, connected_edge_set, connected_face_set, (loop ANDOR path))) 15215 SUBTYPE OF (representation_item); 15216END_ENTITY; 15217 15218 15219ENTITY toroidal_surface 15220 SUBTYPE OF (elementary_surface); 15221 major_radius : positive_length_measure; 15222 minor_radius : positive_length_measure; 15223END_ENTITY; 15224 15225 15226ENTITY torus 15227 SUBTYPE OF (geometric_representation_item); 15228 position : axis1_placement; 15229 major_radius : positive_length_measure; 15230 minor_radius : positive_length_measure; 15231WHERE 15232 WR1 : major_radius > minor_radius; 15233END_ENTITY; 15234 15235 15236ENTITY total_runout_tolerance 15237 SUBTYPE OF (geometric_tolerance_with_datum_reference); 15238WHERE 15239 WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 2; 15240END_ENTITY; 15241 15242 15243ENTITY trace_template 15244 SUPERTYPE OF (default_trace_template) 15245 SUBTYPE OF (parametric_template); 15246END_ENTITY; 15247 15248 15249ENTITY track_blended_solid 15250 ABSTRACT SUPERTYPE OF (track_blended_solid_with_end_conditions) 15251 SUBTYPE OF (edge_blended_solid); 15252WHERE 15253 WR1 : check_continuous_edges(SELF\edge_blended_solid.blended_edges); 15254END_ENTITY; 15255 15256 15257ENTITY track_blended_solid_with_end_conditions 15258 SUBTYPE OF (track_blended_solid); 15259 end_conditions : LIST [2:2] OF blend_end_condition_select; 15260WHERE 15261 WR1 : SIZEOF(TYPEOF(SELF) * 15262 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND', 15263 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_VARIABLE_RADIUS_EDGE_BLEND', 15264 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_CHAMFERED_EDGES']) = 1; 15265 WR2 : NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX' IN TYPEOF(end_conditions[1])) 15266 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX' IN TYPEOF(end_conditions[2]))); 15267 WR3 : NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX' IN TYPEOF(end_conditions[1])) 15268 AND (NOT ((end_conditions[1] 15269 :=: SELF\edge_blended_solid.blended_edges[1].edge_start) 15270 XOR (end_conditions[1] 15271 :=: SELF\edge_blended_solid.blended_edges[1].edge_end)))); 15272 WR4 : NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX' IN TYPEOF(end_conditions[2])) 15273 AND (NOT ((end_conditions[2] 15274 :=: SELF\edge_blended_solid.blended_edges[HIINDEX( 15275 SELF\edge_blended_solid.blended_edges)].edge_start) 15276 XOR (end_conditions[2] 15277 :=: SELF\edge_blended_solid.blended_edges[HIINDEX( 15278 SELF\edge_blended_solid.blended_edges)].edge_end)))); 15279END_ENTITY; 15280 15281 15282ENTITY transform_port_variable 15283 SUBTYPE OF (port_variable); 15284END_ENTITY; 15285 15286 15287ENTITY transformation_with_derived_angle 15288 SUPERTYPE OF (ONEOF (draped_defined_transformation, laid_defined_transformation)) 15289 SUBTYPE OF (item_defined_transformation); 15290 SELF\item_defined_transformation.transform_item_1 : angle_direction_reference_with_a2p3d_select; 15291 SELF\item_defined_transformation.transform_item_2 : axis2_placement_3d; 15292DERIVE 15293 orientation_angle : plane_angle_measure := derive_angle ( 15294 SELF\item_defined_transformation.transform_item_1, 15295 SELF\item_defined_transformation.transform_item_2); 15296WHERE 15297 WR1 : (SELF\item_defined_transformation.transform_item_1\ 15298 axis2_placement_3d.p[3].direction_ratios[1] = 15299 SELF\item_defined_transformation.transform_item_2\ 15300 axis2_placement_3d.p[3].direction_ratios[1]) 15301 AND 15302 (SELF\item_defined_transformation.transform_item_1\ 15303 axis2_placement_3d.p[3].direction_ratios[2] = 15304 SELF\item_defined_transformation.transform_item_2\ 15305 axis2_placement_3d.p[3].direction_ratios[2]) 15306 AND 15307 (SELF\item_defined_transformation.transform_item_1\ 15308 axis2_placement_3d.p[3].direction_ratios[3] = 15309 SELF\item_defined_transformation.transform_item_2\ 15310 axis2_placement_3d.p[3].direction_ratios[3]); 15311END_ENTITY; 15312 15313 15314ENTITY trimmed_curve 15315 SUBTYPE OF (bounded_curve); 15316 basis_curve : curve; 15317 trim_1 : SET [1:2] OF trimming_select; 15318 trim_2 : SET [1:2] OF trimming_select; 15319 sense_agreement : BOOLEAN; 15320 master_representation : trimming_preference; 15321WHERE 15322 WR1 : (HIINDEX(trim_1) = 1) OR (TYPEOF(trim_1[1]) <> TYPEOF(trim_1[2])); 15323 WR2 : (HIINDEX(trim_2) = 1) OR (TYPEOF(trim_2[1]) <> TYPEOF(trim_2[2])); 15324END_ENTITY; 15325 15326 15327ENTITY two_direction_repeat_factor 15328 SUBTYPE OF (one_direction_repeat_factor); 15329 second_repeat_factor : vector; 15330END_ENTITY; 15331 15332 15333ENTITY type_qualifier; 15334 name : label; 15335END_ENTITY; 15336 15337 15338ENTITY unary_generic_expression 15339 ABSTRACT SUPERTYPE 15340 SUBTYPE OF (generic_expression); 15341 operand : generic_expression; 15342END_ENTITY; 15343 15344 15345ENTITY unary_numeric_expression 15346 ABSTRACT SUPERTYPE 15347 SUBTYPE OF (numeric_expression, unary_generic_expression); 15348 SELF\unary_generic_expression.operand : numeric_expression; 15349END_ENTITY; 15350 15351 15352ENTITY uncertainty_assigned_representation 15353 SUBTYPE OF (representation); 15354 uncertainty : SET [1:?] OF uncertainty_measure_with_unit; 15355END_ENTITY; 15356 15357 15358ENTITY uncertainty_measure_with_unit 15359 SUBTYPE OF (measure_with_unit); 15360 name : label; 15361 description : OPTIONAL text; 15362WHERE 15363 WR1 : valid_measure_value (SELF\measure_with_unit.value_component); 15364END_ENTITY; 15365 15366 15367ENTITY uncertainty_qualifier 15368 SUPERTYPE OF (ONEOF (standard_uncertainty, qualitative_uncertainty)); 15369 measure_name : label; 15370 description : text; 15371END_ENTITY; 15372 15373 15374ENTITY uniform_curve 15375 SUBTYPE OF (b_spline_curve); 15376END_ENTITY; 15377 15378 15379ENTITY uniform_resource_identifier 15380 SUBTYPE OF (descriptive_representation_item); 15381END_ENTITY; 15382 15383 15384ENTITY uniform_surface 15385 SUBTYPE OF (b_spline_surface); 15386END_ENTITY; 15387 15388 15389ENTITY unplated_cutout_edge_segment 15390 SUBTYPE OF (cutout_edge_segment); 15391END_ENTITY; 15392 15393 15394ENTITY unplated_interconnect_module_edge_segment 15395 SUBTYPE OF (interconnect_module_edge_segment); 15396END_ENTITY; 15397 15398 15399ENTITY unrouted_conductive_interconnect_element 15400 SUBTYPE OF (conductive_interconnect_element); 15401END_ENTITY; 15402 15403 15404ENTITY unsupported_passage 15405 SUBTYPE OF (inter_stratum_feature); 15406END_ENTITY; 15407 15408 15409ENTITY unsupported_passage_dependent_land 15410 SUBTYPE OF (inter_stratum_feature_dependent_land); 15411END_ENTITY; 15412 15413 15414ENTITY unsupported_passage_template 15415 SUPERTYPE OF (ONEOF (counterbore_passage_template, countersunk_passage_template, blind_passage_template)) 15416 SUBTYPE OF (continuous_template, inter_stratum_feature_template); 15417END_ENTITY; 15418 15419 15420ENTITY usage_association 15421 SUBTYPE OF (action_method_relationship); 15422 SELF\action_method_relationship.related_method : information_usage_right; 15423 SELF\action_method_relationship.relating_method : information_usage_right; 15424DERIVE 15425 related : information_usage_right := SELF\action_method_relationship.related_method; 15426 relating : information_usage_right := SELF\action_method_relationship.relating_method; 15427END_ENTITY; 15428 15429 15430ENTITY usage_concept_usage_relationship 15431 SUBTYPE OF (mapped_item, item_identified_representation_usage); 15432 SELF\item_identified_representation_usage.definition : shape_aspect; 15433 SELF\item_identified_representation_usage.used_representation : shape_representation; 15434DERIVE 15435 SELF\item_identified_representation_usage.identified_item : usage_concept_usage_relationship := SELF; 15436WHERE 15437 WR1 : SELF IN SELF\item_identified_representation_usage.used_representation.items; 15438END_ENTITY; 15439 15440 15441ENTITY usage_view_connection_zone_terminal_shape_relationship 15442 SUBTYPE OF (representation, representation_relationship_with_transformation); 15443 SELF\representation_relationship.rep_1 : shape_representation; 15444 SELF\representation_relationship.rep_2 : shape_representation; 15445UNIQUE 15446 UR1 : rep_1, rep_2; 15447WHERE 15448 WR1 : SELF\representation_relationship.rep_1 <> 15449 SELF\representation_relationship.rep_2; 15450END_ENTITY; 15451 15452 15453ENTITY user_defined_curve_font 15454 SUBTYPE OF (curve_style_font, mapped_item); 15455END_ENTITY; 15456 15457 15458ENTITY user_defined_marker 15459 SUBTYPE OF (mapped_item, pre_defined_marker); 15460END_ENTITY; 15461 15462 15463ENTITY user_defined_terminator_symbol 15464 SUBTYPE OF (mapped_item, pre_defined_symbol); 15465END_ENTITY; 15466 15467 15468ENTITY user_selected_elements 15469 SUBTYPE OF (representation_item); 15470 picked_items : SET [1:?] OF representation_item; 15471END_ENTITY; 15472 15473 15474ENTITY user_selected_shape_elements 15475 SUBTYPE OF (user_selected_elements); 15476WHERE 15477 WR1 : SIZEOF(QUERY(q <* 15478 SELF\user_selected_elements.picked_items | NOT 15479 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_ITEM' 15480 IN TYPEOF(q)))) = 0; 15481END_ENTITY; 15482 15483 15484ENTITY valid_range_property_definition_representation 15485 SUBTYPE OF (property_definition_representation); 15486END_ENTITY; 15487 15488 15489ENTITY value_range 15490 SUBTYPE OF (compound_representation_item); 15491WHERE 15492 WR1 : ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'SET_REPRESENTATION_ITEM' IN TYPEOF ( item_element ) ) AND value_range_wr1 ( item_element ); 15493 WR2 : value_range_wr2 ( item_element ); 15494 WR3 : value_range_wr3 ( item_element ); 15495END_ENTITY; 15496 15497 15498ENTITY value_representation_item 15499 SUBTYPE OF (representation_item); 15500 value_component : measure_value; 15501WHERE 15502 WR1 : SIZEOF (QUERY (rep <* using_representations (SELF) | 15503 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' 15504 IN TYPEOF (rep.context_of_items) 15505 ))) = 0; 15506END_ENTITY; 15507 15508 15509ENTITY variable_semantics 15510 ABSTRACT SUPERTYPE; 15511END_ENTITY; 15512 15513 15514ENTITY variational_representation_item 15515 ABSTRACT SUPERTYPE OF (auxiliary_geometric_representation_item) 15516 SUBTYPE OF (representation_item); 15517WHERE 15518 WR1 : SIZEOF(QUERY(q <* using_representations(SELF) | 15519 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION' 15520 IN TYPEOF(q)))) = 0; 15521 WR2 : SIZEOF(QUERY(q <* using_representations(SELF) | 15522 NOT (SELF IN q.items))) = 0; 15523END_ENTITY; 15524 15525 15526ENTITY vector 15527 SUBTYPE OF (geometric_representation_item); 15528 orientation : direction; 15529 magnitude : length_measure; 15530WHERE 15531 WR1 : magnitude >= 0.0; 15532END_ENTITY; 15533 15534 15535ENTITY vector_style 15536 SUBTYPE OF (curve_style, pre_defined_terminator_symbol); 15537END_ENTITY; 15538 15539 15540ENTITY velocity_measure_with_unit 15541 SUBTYPE OF (measure_with_unit); 15542WHERE 15543 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VELOCITY_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component); 15544END_ENTITY; 15545 15546 15547ENTITY velocity_unit 15548 SUBTYPE OF (derived_unit); 15549WHERE 15550 WR1 : derive_dimensional_exponents(SELF) = 15551 dimensional_exponents ( 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ); 15552END_ENTITY; 15553 15554 15555ENTITY versioned_action_request; 15556 id : identifier; 15557 version : label; 15558 purpose : text; 15559 description : OPTIONAL text; 15560END_ENTITY; 15561 15562 15563ENTITY vertex 15564 SUBTYPE OF (topological_representation_item); 15565END_ENTITY; 15566 15567 15568ENTITY vertex_loop 15569 SUBTYPE OF (loop); 15570 loop_vertex : vertex; 15571END_ENTITY; 15572 15573 15574ENTITY vertex_point 15575 SUBTYPE OF (vertex, geometric_representation_item); 15576 vertex_geometry : point; 15577END_ENTITY; 15578 15579 15580ENTITY vertex_shell 15581 SUBTYPE OF (topological_representation_item); 15582 vertex_shell_extent : vertex_loop; 15583END_ENTITY; 15584 15585 15586ENTITY via 15587 ABSTRACT SUPERTYPE OF ((filled_via ANDOR ONEOF (blind_via, buried_via, interfacial_connection))) 15588 SUBTYPE OF (plated_passage); 15589END_ENTITY; 15590 15591 15592ENTITY via_template 15593 SUBTYPE OF (continuous_template, inter_stratum_feature_template); 15594END_ENTITY; 15595 15596 15597ENTITY view_volume 15598 SUBTYPE OF (founded_item); 15599 projection_type : central_or_parallel; 15600 projection_point : cartesian_point; 15601 view_plane_distance : length_measure; 15602 front_plane_distance : length_measure; 15603 front_plane_clipping : BOOLEAN; 15604 back_plane_distance : length_measure; 15605 back_plane_clipping : BOOLEAN; 15606 view_volume_sides_clipping : BOOLEAN; 15607 view_window : planar_box; 15608END_ENTITY; 15609 15610 15611ENTITY viewing_plane 15612 SUBTYPE OF (shape_aspect); 15613END_ENTITY; 15614 15615 15616ENTITY visual_appearance_representation 15617 SUBTYPE OF (representation); 15618WHERE 15619 WR1 : ( {3<= SIZEOF ( SELF.items ) <=9} ) AND ( SIZEOF ( QUERY ( 15620 i <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 15621 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND ( 15622 i.name IN [ 'colour id' , 'colour name' , 'lustre' , 'pattern' , 'transparency', 'orientation'] ) ) 15623 ) + SIZEOF ( QUERY ( i <* items | ( SIZEOF ( 15624 ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , 15625 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) 15626 AND ( i.name IN ['refraction index' , 'opacity'] ) ) 15627 ) + SIZEOF ( QUERY ( i <* items | ( 15628 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'DOCUMENT_FILE' IN TYPEOF ( i ) ) 15629 AND ( i.name IN [ 'texture map' ] ) ) ) 15630 = SIZEOF ( SELF.items ) ); 15631 WR2 : SIZEOF ( QUERY ( i <* SELF.items | i.name = 'colour id' )) =1; 15632 WR3 : SIZEOF ( QUERY ( i <* SELF.items | i.name ='lustre' ) )=1; 15633 WR4 : SIZEOF ( QUERY ( i <* SELF.items | i.name = 'colour name') ) <=1; 15634 WR5 : SIZEOF ( QUERY ( i <* SELF.items | i.name ='pattern' ) )<=1; 15635 WR6 : SIZEOF ( QUERY ( i <* SELF.items | i.name ='transparency') ) <=1; 15636 WR7 : SIZEOF ( QUERY ( i <* SELF.items | i.name = 'texture map') ) <=1; 15637 WR8 : SIZEOF ( QUERY ( i <* SELF.items | i.name ='refraction index' ) )<=1; 15638 WR9 : SIZEOF ( QUERY ( i <* SELF.items | i.name ='opacity') ) <=1; 15639 WR10 : SIZEOF ( QUERY ( i <* SELF.items | i.name ='orientation') ) <=1; 15640 WR11 : ( SIZEOF ( USEDIN ( SELF , 15641 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 15642 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr 15643 <* USEDIN ( SELF , 15644 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 15645 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( 15646 pdr. definition , 15647 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ 15648 'DERIVED_DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 15649 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND 15650 ( gpa. base_definition.name ='surface_condition' ) ) ) =1 )) =1 ); 15651END_ENTITY; 15652 15653 15654ENTITY visual_orientation_feature 15655 SUBTYPE OF (shape_aspect); 15656END_ENTITY; 15657 15658 15659ENTITY volume_measure_with_unit 15660 SUBTYPE OF (measure_with_unit); 15661WHERE 15662 WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VOLUME_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); 15663END_ENTITY; 15664 15665 15666ENTITY volume_unit 15667 SUBTYPE OF (derived_unit); 15668WHERE 15669 WR1 : derive_dimensional_exponents(SELF) = 15670 dimensional_exponents ( 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ); 15671END_ENTITY; 15672 15673 15674ENTITY week_of_year_and_day_date 15675 SUBTYPE OF (date); 15676 week_component : week_in_year_number; 15677 day_component : OPTIONAL day_in_week_number; 15678END_ENTITY; 15679 15680 15681ENTITY wire_shell 15682 SUBTYPE OF (topological_representation_item); 15683 wire_shell_extent : SET [1:?] OF loop; 15684WHERE 15685 WR1 : NOT mixed_loop_type_set(wire_shell_extent); 15686END_ENTITY; 15687 15688 15689ENTITY wire_terminal 15690 SUBTYPE OF (package_terminal); 15691END_ENTITY; 15692 15693 15694ENTITY wire_terminal_template_definition 15695 SUBTYPE OF (package_terminal_template_definition); 15696END_ENTITY; 15697 15698 15699ENTITY year_month 15700 SUBTYPE OF (date); 15701 month_component : month_in_year_number; 15702END_ENTITY; 15703 15704 15705ENTITY zone_structural_makeup 15706 SUPERTYPE OF (ONEOF ((smeared_material_definition AND thickness_laminate_table), (smeared_material_definition AND percentage_laminate_table), thickness_laminate_table, percentage_laminate_table, smeared_material_definition)) 15707 SUBTYPE OF (laminate_table); 15708END_ENTITY; 15709 15710 15711RULE alternative_solution_requires_solution_definition FOR (product_definition_formation); 15712 LOCAL 15713 solution_versions: SET OF product_definition_formation := []; 15714 END_LOCAL; 15715 solution_versions := QUERY( pdf <* product_definition_formation | 15716 SIZEOF( QUERY( prpc <* USEDIN(pdf.of_product, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF' + '.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | 15717 prpc.name = 'alternative solution')) = 1); 15718WHERE 15719 WR1 : SIZEOF( QUERY( pdf <* solution_versions | 15720 SIZEOF( QUERY( pd <* USEDIN(pdf, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF' + '.PRODUCT_DEFINITION.FORMATION') | 15721 pd.frame_of_reference.name = 'alternative definition')) <> 1))= 0; 15722END_RULE; 15723 15724RULE application_protocol_definition_required FOR (application_context); 15725 15726WHERE 15727 WR1 : SIZEOF( QUERY( ac <* application_context | 15728 (SIZEOF (QUERY (apd <* USEDIN(ac,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLICATION_PROTOCOL_DEFINITION.APPLICATION') | 15729 (apd.application_interpreted_model_schema_name = 'ap210_electronic_assembly_interconnect_and_packaging_design') 15730 )) > 0) 15731 )) > 0; 15732END_RULE; 15733 15734RULE area_component_shape_constraint FOR (area_component); 15735 15736WHERE 15737 WR1 : SIZEOF( QUERY( ac <* area_component | 15738 NOT(SIZEOF (QUERY (pdr <* USEDIN(ac,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | 15739 NOT(NOT(pdr\property_definition_representation.used_representation\representation.id = 'ac2dsm') OR 15740 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION' IN TYPEOF(pdr\property_definition_representation.used_representation))) 15741 )) = 0) 15742 )) = 0; 15743 WR2 : SIZEOF( QUERY( ac <* area_component | 15744 NOT(apeaid_is_base(ac)) OR 15745 NOT(SIZEOF (QUERY (pdr <* USEDIN(ac,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | 15746 NOT(NOT(pdr\property_definition_representation.used_representation\representation.id = 'ac2dsm') OR 15747 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION' IN TYPEOF(pdr\property_definition_representation.used_representation))) 15748 )) = 0) 15749 )) = 0; 15750END_RULE; 15751 15752RULE breakdown_element_requires_product_definition FOR (product_definition_formation); 15753 15754WHERE 15755 WR1 : SIZEOF ( QUERY ( pdf <* product_definition_formation | 15756 ( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , 15757 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | 15758 prpc.name = 'functionality' ) ) = 1 ) AND 15759 ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION') | 15760 pd.frame_of_reference.name = 'functional definition' ) ) <1 ) ) ) = 0; 15761 WR2 : SIZEOF ( QUERY ( pdf <* product_definition_formation | 15762 ( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , 15763 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | 15764 prpc.name = 'conceptual design' ) ) = 1 ) AND 15765 ( SIZEOF (QUERY ( pd <* USEDIN ( pdf , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) | 15766 pd.frame_of_reference.name = 'conceptual definition' ) ) <1) ) ) = 0; 15767END_RULE; 15768 15769RULE cartesian_coordinate_system_constraint FOR (global_unit_assigned_context, geometric_representation_context); 15770LOCAL 15771 guac_inst : SET OF global_unit_assigned_context := 15772 QUERY ( guac <* global_unit_assigned_context | 15773 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 15774 'GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF (guac))); 15775END_LOCAL; 15776WHERE 15777 WR1 : SIZEOF (QUERY (guac <* guac_inst | 15778 NOT (SIZEOF (guac.units) <= 3))) = 0; 15779 WR2 : SIZEOF (QUERY (guac <* guac_inst | (NOT ( 15780 (SIZEOF (QUERY (u <* guac.units | 15781 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_UNIT' 15782 IN TYPEOF (u)))) = 1) 15783 AND 15784 (SIZEOF (QUERY (u <* guac.units | 15785 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 15786 'PLANE_ANGLE_UNIT' 15787 IN TYPEOF (u)))) = 1) 15788 AND 15789 (SIZEOF (QUERY (u <* guac.units | 15790 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 15791 'SOLID_ANGLE_UNIT' 15792 IN TYPEOF (u)) )) <= 1) 15793 )))) = 0; 15794 WR3 : SIZEOF( QUERY( grc <* guac_inst | 15795 NOT( (grc.coordinate_space_dimension = 2) OR 15796 (grc.coordinate_space_dimension = 3)))) = 0; 15797 WR4 : SIZEOF (QUERY (guac <* guac_inst | 15798 NOT (SIZEOF (QUERY (u <* guac.units |NOT( 15799 NOT(( 15800 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 15801 'PLANE_ANGLE_UNIT' IN TYPEOF(u)) AND 15802 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 15803 'CONVERSION_BASED_UNIT' IN TYPEOF(u)) AND 15804 (u\conversion_based_unit.name = 'degree')) 15805 OR 15806 ((abs(u\conversion_based_unit. 15807 conversion_factor\measure_with_unit.value_component - 15808 0.0174532925) <= 0.001) AND 15809 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 15810 'PLANE_ANGLE_MEASURE_WITH_UNIT' 15811 IN TYPEOF(u\conversion_based_unit.conversion_factor))) 15812 ))) = 0) 15813 )) = 0; 15814END_RULE; 15815 15816RULE compatible_dimension FOR (cartesian_point, direction, representation_context, geometric_representation_context); 15817 15818WHERE 15819 WR1 : SIZEOF(QUERY(x <* cartesian_point| SIZEOF(QUERY 15820 (y <* geometric_representation_context | item_in_context(x,y) AND 15821 (HIINDEX(x.coordinates) <> y.coordinate_space_dimension))) > 0 )) =0; 15822 WR2 : SIZEOF(QUERY(x <* direction | SIZEOF( QUERY 15823 (y <* geometric_representation_context | item_in_context(x,y) AND 15824 (HIINDEX(x.direction_ratios) <> y.coordinate_space_dimension))) 15825 > 0 )) = 0; 15826END_RULE; 15827 15828RULE component_class_for_assembly_select FOR (composite_assembly_sequence_definition, next_assembly_usage_occurrence, product_related_product_category); 15829 LOCAL 15830 i,j,k : INTEGER :=0; 15831 dkuhr : LOGICAL :=TRUE; 15832 nnauo : INTEGER :=0; 15833 nprpc : INTEGER :=0; 15834 rp : product; 15835 END_LOCAL; 15836 REPEAT i:= LOINDEX (composite_assembly_sequence_definition) TO 15837 HIINDEX (composite_assembly_sequence_definition); 15838 nnauo := 0; 15839 REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO 15840 HIINDEX (next_assembly_usage_occurrence); 15841 IF (composite_assembly_sequence_definition[i] = 15842 next_assembly_usage_occurrence[j].relating_product_definition) THEN 15843 rp := next_assembly_usage_occurrence[j].related_product_definition. 15844 formation.of_product; 15845 nprpc := 0; 15846 REPEAT k:= LOINDEX (product_related_product_category) TO 15847 HIINDEX (product_related_product_category); 15848 IF ((rp IN product_related_product_category[k].products) AND 15849 (product_related_product_category[k].name IN ['ply', 15850 'ply laminate', 'filament laminate', 'processed core', 15851 'composite assembly'])) THEN 15852 nprpc := nprpc + 1; 15853 END_IF; 15854 END_REPEAT; 15855 IF (nprpc = 1) THEN 15856 nnauo := nnauo + 1; 15857 ELSE 15858 dkuhr := FALSE; 15859 ESCAPE; 15860 END_IF; 15861 END_IF; 15862 END_REPEAT; 15863 IF (dkuhr = FALSE) THEN 15864 ESCAPE; 15865 END_IF; 15866 IF(nnauo = 0) THEN 15867 dkuhr := FALSE; 15868 ESCAPE; 15869 END_IF; 15870 END_REPEAT; 15871WHERE 15872 WR1 : dkuhr; 15873END_RULE; 15874 15875RULE consistent_uncertainty FOR (global_uncertainty_assigned_context, qualified_representation_item, uncertainty_assigned_representation); 15876 15877WHERE 15878 WR1 : SIZEOF ( QUERY ( guac <* global_uncertainty_assigned_context | 15879 SIZEOF ( QUERY ( u1 <* guac.uncertainty | 15880 SIZEOF ( QUERY ( u2 <* guac.uncertainty | u2.name = u1.name ) ) >1 ) ) >0 ) ) = 0; 15881 WR2 : SIZEOF ( QUERY ( uar <* uncertainty_assigned_representation | 15882 SIZEOF ( QUERY ( u1<* uar.uncertainty | 15883 SIZEOF ( QUERY ( u2 <* uar.uncertainty | u2.name = u1.name ) ) >1 ) ) >0 ) ) = 0; 15884 WR3 : SIZEOF ( QUERY ( qri <* qualified_representation_item | 15885 SIZEOF ( QUERY ( u1 <* qri.qualifiers | 15886 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF' + '.UNCERTAINTY_QUALIFIER' IN TYPEOF ( u1 ) ) AND 15887 ( SIZEOF ( QUERY ( u2 <* qri.qualifiers | 15888 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF' + '.UNCERTAINTY_QUALIFIER' IN TYPEOF ( u2 ) ) AND 15889 ( u2\uncertainty_qualifier.measure_name = u1\uncertainty_qualifier.measure_name ) ) 15890 ) >1 ) ) ) >0 ) ) = 0; 15891END_RULE; 15892 15893RULE constraint_definition_requires_constraint_category FOR (product_definition); 15894 LOCAL 15895 constraint_definitions: SET OF product_definition := []; 15896 END_LOCAL; 15897 constraint_definitions := QUERY( pd <* product_definition | 15898 (pd.frame_of_reference.name = 'design constraint definition')); 15899WHERE 15900 WR1 : SIZEOF ( QUERY ( pd <* constraint_definitions | 15901 ( SIZEOF ( QUERY ( prpc <* USEDIN ( pd.formation.of_product , 15902 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | 15903 prpc. name ='requirement' ) ) =0 ) ) ) =0; 15904END_RULE; 15905 15906RULE design_constraint_requires_product_definition FOR (product_definition_formation); 15907 15908WHERE 15909 WR1 : SIZEOF ( QUERY ( pdf <* product_definition_formation | ( 15910 SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , 15911 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | 15912 prpc.name = 'requirement' ) ) >0 ) AND 15913 ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION') | 15914 pd.frame_of_reference.name = 'design constraint definition' ) ) <1 ) ) ) = 0; 15915END_RULE; 15916 15917RULE draughting_model_items_constraint FOR (draughting_model); 15918 15919WHERE 15920 WR1 : SIZEOF(QUERY(dm <* draughting_model | 15921 NOT(SIZEOF(QUERY(it1 <* dm\representation.items | 15922 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_OCCURRENCE' IN TYPEOF(it1)) 15923 AND 15924 NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_ANNOTATION_OCCURRENCE' IN TYPEOF(it1))) 15925 )) = 0) 15926 )) = 0; 15927 WR2 : SIZEOF(QUERY(dm <* draughting_model | 15928 NOT(SIZEOF(QUERY(it1 <* dm\representation.items | 15929 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF(it1)) 15930 AND 15931 NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_ELEMENTS' IN TYPEOF(it1))) 15932 )) = 0) 15933 )) = 0; 15934END_RULE; 15935 15936RULE external_version_assignments_are_valid FOR (applied_external_identification_assignment); 15937 15938WHERE 15939 WR1 : SIZEOF(QUERY(aia <* applied_external_identification_assignment | 15940 NOT external_version_assignment_is_valid(aia)))=0; 15941END_RULE; 15942 15943RULE material_for_coating_layer FOR (shape_aspect); 15944 LOCAL 15945 coating_layers: SET OF shape_aspect := []; 15946 END_LOCAL; 15947 coating_layers:= QUERY( r <* shape_aspect | 15948 (r.name = 'coating layer') ); 15949WHERE 15950 WR1 : SIZEOF( QUERY( r <* coating_layers | 15951 SIZEOF(USEDIN(r , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MATERIAL_DESIGNATION.DEFINITIONS'))<>1 15952 )) = 0; 15953END_RULE; 15954 15955RULE not_instantiable_pre_defined_surface_side_style FOR (pre_defined_surface_side_style); 15956 15957WHERE 15958 WR1 : SIZEOF (pre_defined_surface_side_style) = 0; 15959END_RULE; 15960 15961RULE plib_property_reference_requires_name_scope FOR (externally_defined_general_property); 15962 LOCAL 15963 known_sourced_properties : SET OF externally_defined_general_property; 15964 END_LOCAL; 15965 known_sourced_properties := QUERY( edc <* externally_defined_general_property | 15966 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'KNOWN_SOURCE' IN TYPEOF(edc.source) ); 15967WHERE 15968 WR1 : SIZEOF ( QUERY ( edgp <* known_sourced_properties | 15969 ( SIZEOF ( QUERY ( edir <* USEDIN ( edgp, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.RELATING_ITEM' )| 15970 ( edir.name = 'name scope' ) AND 15971 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EXTERNALLY_DEFINED_CLASS' IN TYPEOF ( edir.related_item ) ) AND 15972 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'KNOWN_SOURCE' IN TYPEOF ( edir.related_item.source ) ) ) ) <>1 ) ) ) = 0; 15973END_RULE; 15974 15975RULE plib_property_reference_requires_version FOR (externally_defined_general_property); 15976 LOCAL 15977 plib_properties : SET OF externally_defined_general_property := []; 15978 END_LOCAL; 15979 plib_properties := QUERY ( edgp <* externally_defined_general_property | 15980 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'KNOWN_SOURCE' IN TYPEOF ( edgp.source ) ) AND 15981 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'KNOWN_SOURCE' + '.NAME' = 'ISO 13584 library' ) ); 15982WHERE 15983 WR1 : SIZEOF( QUERY( edgp <* plib_properties | 15984 (SIZEOF( QUERY( edir <* USEDIN(edgp, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT.ITEMS') | 15985 (edir.role.name = 'version') )) <> 1) )) = 0; 15986END_RULE; 15987 15988RULE ply_reference FOR (ply_laminate_sequence_definition, next_assembly_usage_occurrence, product_related_product_category); 15989 LOCAL 15990 i,j,k : INTEGER; 15991 dkuhr : LOGICAL := TRUE; 15992 nnauo : INTEGER; 15993 nprpc : INTEGER := 0; 15994 rp : product; 15995 END_LOCAL; 15996 REPEAT i:= LOINDEX (ply_laminate_sequence_definition) TO 15997 HIINDEX (ply_laminate_sequence_definition); 15998 nnauo := 0; 15999 REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO 16000 HIINDEX (next_assembly_usage_occurrence); 16001 IF (ply_laminate_sequence_definition[i] = 16002 next_assembly_usage_occurrence[j].relating_product_definition) THEN 16003 rp := next_assembly_usage_occurrence[j].related_product_definition. 16004 formation.of_product; 16005 nprpc := 0; 16006 REPEAT k:= LOINDEX (product_related_product_category) TO 16007 HIINDEX (product_related_product_category); 16008 IF ((product_related_product_category[k].name = 'ply') AND 16009 (rp IN product_related_product_category[k].products)) THEN 16010 nprpc := nprpc + 1; 16011 END_IF; 16012 END_REPEAT; 16013 IF (nprpc = 1) THEN 16014 nnauo := nnauo + 1; 16015 ELSE 16016 dkuhr := FALSE; 16017 ESCAPE; 16018 END_IF; 16019 END_IF; 16020 END_REPEAT; 16021 IF (dkuhr = FALSE) THEN 16022 ESCAPE; 16023 END_IF; 16024 IF(nnauo = 0) THEN 16025 dkuhr := FALSE; 16026 ESCAPE; 16027 END_IF; 16028 END_REPEAT; 16029WHERE 16030 WR1 : dkuhr; 16031END_RULE; 16032 16033RULE ply_stock_material_select FOR (product_related_product_category, make_from_usage_option); 16034 LOCAL 16035 i,j,k,kp : INTEGER; 16036 dkuhr : LOGICAL; 16037 nmfuo : INTEGER; 16038 nprpc : INTEGER := 0; 16039 rp : product; 16040 END_LOCAL; 16041 16042 dkuhr := TRUE; 16043 REPEAT kp:= LOINDEX (product_related_product_category) TO 16044 HIINDEX (product_related_product_category); 16045 16046 IF (product_related_product_category[kp].name = 'ply') THEN 16047 REPEAT i:= LOINDEX (product_related_product_category[kp].products) TO 16048 HIINDEX (product_related_product_category[kp].products); 16049 16050 nmfuo := 0; 16051 REPEAT j:= LOINDEX (make_from_usage_option) TO 16052 HIINDEX (make_from_usage_option); 16053 16054 rp := make_from_usage_option[j].related_product_definition. 16055 formation.of_product; 16056 16057 IF (product_related_product_category[kp].products[i] = rp) THEN 16058 16059 REPEAT k:= LOINDEX (product_related_product_category) TO 16060 HIINDEX (product_related_product_category); 16061 16062 IF ((rp IN product_related_product_category[k].products) AND 16063 (product_related_product_category[k].name IN 16064 ['isotropic material', 'filament assembly', 16065 'discontinuous fiber assembly'])) THEN 16066 nprpc := nprpc + 1; 16067 END_IF; 16068 16069 END_REPEAT; 16070 16071 IF (nprpc = 1) THEN 16072 nmfuo := nmfuo + 1; 16073 ELSE 16074 dkuhr := FALSE; 16075 ESCAPE; 16076 END_IF; 16077 16078 END_IF; 16079 16080 END_REPEAT; 16081 16082 IF (dkuhr = FALSE) THEN 16083 ESCAPE; 16084 END_IF; 16085 IF(nmfuo <> 1) THEN 16086 dkuhr := FALSE; 16087 ESCAPE; 16088 END_IF; 16089 16090 END_REPEAT; 16091 END_IF; 16092 16093 END_REPEAT; 16094WHERE 16095 WR1 : dkuhr; 16096END_RULE; 16097 16098RULE product_concept_feature_requires_category FOR (product_concept_feature); 16099 16100WHERE 16101 WR1 : SIZEOF ( QUERY ( pcf <* product_concept_feature | 16102(SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE', 16103'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE'] * TYPEOF(pcf)) = 0) AND 16104(SIZEOF ( QUERY ( aga <* USEDIN ( pcf , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'APPLIED_GROUP_ASSIGNMENT.' + 'ITEMS' ) | 16105( aga.role.name = 'specification category member' ) AND 16106('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF ( aga.assigned_group )))) <>1 ) ) ) = 0; 16107END_RULE; 16108 16109RULE product_definition_replacement_requires_effectivity_assignment FOR (product_definition_relationship); 16110 16111WHERE 16112 WR1 : SIZEOF( QUERY( pdr <* product_definition_relationship | 16113 (pdr.name = 'definition replacement') AND 16114 (SIZEOF( USEDIN(pdr,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT.ITEMS') ) = 0) )) 16115 = 0; 16116END_RULE; 16117 16118RULE restrict_alternative_definition FOR (product_definition); 16119 LOCAL 16120 solution_definitions: SET OF product_definition := []; 16121 END_LOCAL; 16122 solution_definitions := QUERY( pd <* product_definition | 16123 (pd.frame_of_reference.name = 'alternative definition')); 16124WHERE 16125 WR1 : SIZEOF ( QUERY ( pd <* solution_definitions | 16126 ( SIZEOF ( QUERY ( pdr <* USEDIN ( pd , 16127 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF' + '.PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | 16128 pdr.name = 'solution alternative definition' ) ) <>1 ) ) ) = 0; 16129 WR2 : SIZEOF ( QUERY ( pd <* solution_definitions | 16130 NOT ( pd.name IN ['technical' , 'supplier' , 'technical supplier' , ''] ) ) ) = 0; 16131 WR3 : SIZEOF ( QUERY ( pd <* solution_definitions | 16132 ( pd.name IN ['supplier' , 'technical supplier'] ) AND ( 16133 SIZEOF ( QUERY ( aoa <* USEDIN ( pd.formation , 16134 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF' + '.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS' ) | 16135 aoa.role.name = 'supplier' )) <>1 ) )) = 0; 16136END_RULE; 16137 16138RULE restrict_assembly_category FOR (product_definition); 16139 LOCAL 16140 assembly_definitions: SET OF product_definition := []; 16141 END_LOCAL; 16142 assembly_definitions := QUERY( pd <* product_definition | 16143 SIZEOF( QUERY( pdca <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | 16144 pdca.frame_of_reference.name= 'assembly definition')) > 0 ); 16145WHERE 16146 WR1 : SIZEOF( QUERY( pd <* assembly_definitions | 16147 NOT ('assembly' IN categories_of_product(pd.formation.of_product)) ))= 0; 16148END_RULE; 16149 16150RULE restrict_centre_of_mass_representation FOR (representation); 16151 16152WHERE 16153 WR1 : SIZEOF ( QUERY ( r <* representation | 16154 ( r.name ='centre of mass' ) AND 16155 ( ( SIZEOF ( r.items ) <>1 ) OR 16156 (SIZEOF ( QUERY ( i <* r.items | 16157 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POINT' IN TYPEOF ( i ) ) AND 16158 ( i.name = 'centre point' ) )) <>1 ) ) ) ) 16159 =0; 16160END_RULE; 16161 16162RULE restrict_classification_assignments FOR (applied_classification_assignment); 16163 16164WHERE 16165 WR1 : SIZEOF(QUERY(aia <* applied_classification_assignment | 16166 NOT class_assignment_is_valid(aia)))=0; 16167END_RULE; 16168 16169RULE restrict_collection_category FOR (product_definition); 16170 LOCAL 16171 collection_definitions: SET OF product_definition := []; 16172 END_LOCAL; 16173 collection_definitions := QUERY( pd <* product_definition | 16174 SIZEOF( QUERY( pdca <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF' + '.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | 16175 pdca.frame_of_reference.name= 'collection definition')) > 0 ); 16176WHERE 16177 WR1 : SIZEOF( QUERY( pd <* collection_definitions | 16178 NOT ('collection' IN categories_of_product(pd.formation.of_product)) ))= 0; 16179END_RULE; 16180 16181RULE restrict_concept_feature_operator FOR (concept_feature_operator); 16182 16183WHERE 16184 WR1 : SIZEOF ( QUERY ( cfo <* concept_feature_operator | NOT 16185 ( cfo.name IN ['and' , 'or' , 'oneof' , 'not' , 'implication'] ) ) ) = 0; 16186 WR2 : SIZEOF ( QUERY ( cfo <* concept_feature_operator | (cfo.name = 'implication' ) AND 16187 ( SIZEOF ( QUERY (cfrwc <* USEDIN ( cfo , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.' + 16188 'CONDITIONAL_OPERATOR' ) | 16189 SIZEOF ( QUERY ( ccf <* USEDIN( cfrwc , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.CONDITION' ) | 16190 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( ccf )))) >0 )) >0 ))) = 0; 16191 WR3 : SIZEOF( QUERY (cfo <* concept_feature_operator | (cfo.name = 'not') 16192 AND (SIZEOF(QUERY(cfrwc <* USEDIN(cfo, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.CONDITIONAL_OPERATOR') | 16193 cfrwc.related_product_concept_feature :<>: cfrwc.relating_product_concept_feature)) >0 ))) = 0; 16194END_RULE; 16195 16196RULE restrict_configuration_design_for_class_breakdown_association FOR (configuration_design); 16197 16198WHERE 16199 WR1 : SIZEOF ( QUERY ( cd <* configuration_design | 16200 ( cd.name ='functionality' ) AND 16201 ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd. design ) ) OR 16202 ( cd.design\product_definition.frame_of_reference.name<> 'functional definition' ) ) 16203 ) ) =0; 16204 WR2 : SIZEOF ( QUERY ( cd <* configuration_design | 16205 ( cd.name='realization' ) AND 16206 ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd.design ) ) OR 16207 ( cd.design\product_definition.frame_of_reference.name<> 'conceptual definition' ) ) 16208 ) ) =0; 16209 WR3 : SIZEOF ( QUERY ( cd <* configuration_design | 16210 ( cd.name IN ['functionality' , 'realization'] ) AND 16211 ( NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_CLASS' IN TYPEOF ( cd.configuration.item_concept ) ) ) 16212 ) ) =0; 16213END_RULE; 16214 16215RULE restrict_configuration_design_for_design_constraint FOR (configuration_design); 16216 16217WHERE 16218 WR1 : SIZEOF ( QUERY (cd <* configuration_design | 16219 (cd.name = 'design constraint usage') AND 16220 (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd.design ) ) OR 16221 (cd.design\product_definition.frame_of_reference.name <> 'design constraint definition')))) = 0; 16222END_RULE; 16223 16224RULE restrict_group_relationship_for_classification_hierarchy FOR (group_relationship); 16225 16226WHERE 16227 WR1 : SIZEOF( QUERY( gr <* group_relationship | 16228 (gr\group_relationship.name = 'class hierarchy') AND 16229 (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLASS' IN TYPEOF(gr\group_relationship.related_group)) OR 16230 NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLASS' IN TYPEOF(gr\group_relationship.relating_group))) )) = 0; 16231END_RULE; 16232 16233RULE restrict_group_relationship_for_specification_category FOR (group_relationship); 16234 16235WHERE 16236 WR1 : SIZEOF( QUERY( gr <* group_relationship | 16237 (gr.name = 'specification category hierarchy') AND 16238 (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.related_group)) 16239 OR NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.relating_group))) )) = 0; 16240END_RULE; 16241 16242RULE restrict_language_assignment_per_attribute FOR (attribute_language_assignment); 16243 16244WHERE 16245 WR1 : SIZEOF ( QUERY ( ala1 <* attribute_language_assignment | 16246 SIZEOF(QUERY( it <* ala1.items | 16247 SIZEOF ( QUERY ( ala2 <* USEDIN ( it ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS' ) | 16248 ( ala1\attribute_classification_assignment.attribute_name = ala2\attribute_classification_assignment.attribute_name ) AND 16249 ( ala1\attribute_classification_assignment.assigned_class :=: ala2\attribute_classification_assignment.assigned_class ) 16250 )) >1 16251 )) >0 16252 )) =0; 16253END_RULE; 16254 16255RULE restrict_part_occurrence FOR (product_definition); 16256 LOCAL 16257 part_occurrences: SET OF product_definition := QUERY(pd <* product_definition | 16258 ( pd.frame_of_reference.name = 'part occurrence' )); 16259 END_LOCAL; 16260WHERE 16261 WR1 : SIZEOF ( QUERY ( pd <* part_occurrences | 16262 ( NOT( pd.name IN 16263 ['single instance' , 'selected instance' ,'quantified instance' , 'specified instance' ] ) ) ) ) = 0; 16264 WR2 : SIZEOF ( QUERY ( pd <* part_occurrences | 16265 (SIZEOF ( QUERY ( pdr <* USEDIN ( pd , 16266 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | 16267 pdr.name = 'definition usage' ) ) <>1 ) AND 16268 ( SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONFIGURATION_DESIGN.DESIGN' ) | 16269 ( cd.name = 'occurrence usage definition' ) AND 16270 ( NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_IDENTIFICATION' IN TYPEOF( cd.configuration ) ) ) ) ) <>1 ) ) ) = 0; 16271 WR3 : SIZEOF ( QUERY ( pd <* part_occurrences | 16272 (SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | 16273 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'PRODUCT_DEFINITION_USAGE' IN TYPEOF ( cd ) ) ) ) = 0 )AND 16274 ( SIZEOF ( USEDIN ( pd , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) ) = 0 ) ) ) = 0; 16275 WR4 : SIZEOF ( QUERY ( pd <* part_occurrences | 16276 ( pd.name = 'selected instance' ) AND 16277 NOT valid_selected_instance_representation(pd) ))=0; 16278 WR5 : SIZEOF ( QUERY ( pd <* part_occurrences | 16279 ( pd.name = 'quantified instance' ) AND 16280 ( SIZEOF ( QUERY (ppd <* USEDIN ( pd , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'PROPERTY_DEFINITION.DEFINITION' ) | 16281 ( ppd.name ='occurrence quantity' ) AND 16282 ( SIZEOF ( QUERY ( pdr <*USEDIN ( ppd , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 16283 pdr.used_representation.name = 'quantity' ) AND 16284 (SIZEOF ( pdr.used_representation.items ) = 1 ) AND 16285 (SIZEOF ( QUERY ( i <* pdr.used_representation.items | 16286 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND 16287 ( i.name = 'quantity measure' ) ) ) = 1)))= 1 )))= 0 )))= 0; 16288 WR6 : SIZEOF ( QUERY ( pd <* part_occurrences | 16289 ( pd.name = 'specified instance' ) AND 16290 ( SIZEOF ( QUERY ( 16291 pdor <* USEDIN ( pd , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) | 16292 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'SPECIFIED_HIGHER_USAGE_OCCURRENCE' IN TYPEOF ( pdor.occurrence_usage ) ) ) = 0 ) ) ) = 0; 16293END_RULE; 16294 16295RULE restrict_part_occurrence_category FOR (product_definition); 16296 LOCAL 16297 part_occurrences: SET OF product_definition := QUERY( pd <* product_definition |( 16298 pd.frame_of_reference.name = 'part occurrence')); 16299 END_LOCAL; 16300WHERE 16301 WR1 : SIZEOF( QUERY( pd <* part_occurrences | 16302 (SIZEOF( QUERY( prpc <* USEDIN(pd.formation.of_product, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | 16303 prpc.name IN ['part','raw material','tool'] )) = 0 ) )) = 0; 16304END_RULE; 16305 16306RULE restrict_product_definitions_for_base_element FOR (product_definition_relationship); 16307 16308WHERE 16309 WR1 : SIZEOF ( QUERY ( pdr <* product_definition_relationship | 16310 ( pdr. name = 'solution alternative definition' ) AND 16311 ( NOT( pdr. relating_product_definition.frame_of_reference.name 16312 IN [ 'alternative definition' , 'functional definition' , 'conceptual definition' ] ) OR 16313 ( pdr.related_product_definition.frame_of_reference.name<>'alternative definition' ) ) ) ) =0; 16314END_RULE; 16315 16316RULE restrict_product_definitions_for_collection FOR (product_definition_relationship); 16317 16318WHERE 16319 WR1 : SIZEOF ( QUERY ( pdr <* product_definition_relationship | 16320 ( pdr. name = 'collection membership' ) AND 16321 ( ( pdr.relating_product_definition.frame_of_reference.name<>'part definition' ) OR 16322 ( pdr.related_product_definition.frame_of_reference.name<>'part occurrence' ) OR 16323 ( SIZEOF ( QUERY ( pdca <* USEDIN (pdr.relating_product_definition , 16324 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF' + '.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | 16325 ( pdca.role.name = 'part definition type' ) AND 16326 ( pdca.frame_of_reference.name = 'collection definition' ) )) =0 ) ) ) ) =0; 16327END_RULE; 16328 16329RULE restrict_product_definitions_for_definition_usage FOR (product_definition_relationship); 16330 16331WHERE 16332 WR1 : SIZEOF ( QUERY ( pdr <* product_definition_relationship | 16333 ( pdr.name = 'definition usage' ) AND 16334 ( ( pdr.relating_product_definition.frame_of_reference.name<> 'part definition' ) OR 16335 ( pdr.related_product_definition.frame_of_reference.name<>'part occurrence' )))) =0; 16336END_RULE; 16337 16338RULE restrict_product_definitions_for_design_constraint_association FOR (product_definition_relationship); 16339 16340WHERE 16341 WR1 : SIZEOF ( QUERY ( pdr <* product_definition_relationship | 16342 ( pdr. name = 'design constraint association' ) AND 16343 ( (pdr. relating_product_definition.frame_of_reference.name<>'design constraint definition' ) OR 16344 NOT ( pdr.related_product_definition.frame_of_reference.name IN 16345 ['alternative definition' , 'functional definition' ,'conceptual definition' ] ) ) ) ) =0; 16346END_RULE; 16347 16348RULE restrict_product_definitions_for_part_definition_relationship FOR (product_definition_relationship); 16349 16350WHERE 16351 WR1 : SIZEOF ( QUERY ( pdr <* product_definition_relationship | 16352 ( pdr.name IN [ 'geometrical relationship' , 'definition replacement' ] ) AND 16353 ( ( pdr.relating_product_definition.frame_of_reference.name <>'part definition' ) OR 16354 ( pdr.related_product_definition.frame_of_reference.name <>'part definition' ) ) ) ) =0; 16355END_RULE; 16356 16357RULE restrict_representation_for_surface_condition FOR (property_definition_representation); 16358 16359WHERE 16360 WR1 : SIZEOF(QUERY(pdr <* property_definition_representation | 16361 NOT surface_condition_correlation(pdr.definition, pdr.used_representation) ))=0; 16362END_RULE; 16363 16364RULE restrict_shape_aspect_subtypes FOR (primary_orientation_feature, secondary_orientation_feature, tertiary_orientation_feature); 16365LOCAL 16366 temp: SET OF shape_aspect := primary_orientation_feature + secondary_orientation_feature + tertiary_orientation_feature; 16367 pass : BOOLEAN := TRUE; 16368END_LOCAL; 16369REPEAT i := 1 to SIZEOF(temp) BY 1; 16370IF SIZEOF([ 16371 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PACKAGE_BODY', 16372 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DERIVED_SHAPE_ASPECT', 16373 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIONAL_BOUNDARY', 16374 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIONAL_BOUNDARY_MEMBER', 16375 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TOLERANCE_ZONE_BOUNDARY', 16376 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VIEWING_PLANE', 16377 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SEATING_PLANE', 16378 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REFERENCE_GRAPHIC_REGISTRATION_MARK', 16379 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GROUP_SHAPE_ASPECT', 16380 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MOUNTING_RESTRICTION_AREA', 16381 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MOUNTING_RESTRICTION_VOLUME'] * TYPEOF(temp[i])) <> 0 16382THEN 16383pass := FALSE; 16384END_IF; 16385END_REPEAT; 16386WHERE 16387 WR1 : pass; 16388END_RULE; 16389 16390RULE restrict_treatment_result FOR (representation); 16391 LOCAL 16392 treatment_results: SET OF representation := []; 16393 END_LOCAL; 16394 treatment_results:= QUERY( r <* representation | 16395 (r.name = 'treatment result') ); 16396WHERE 16397 WR1 : (SIZEOF( QUERY( r <* treatment_results | (SIZEOF(r.items) > 2) )) = 0) AND 16398 (SIZEOF( QUERY( r <* treatment_results | 16399 (SIZEOF( QUERY( i <* r.items | 16400 NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) > 0) )) = 0); 16401 WR2 : SIZEOF( QUERY( r <* treatment_results | 16402 (SIZEOF( QUERY( i <* r.items | i.name = 'result' )) = 0) )) = 0; 16403 WR3 : SIZEOF( QUERY( r <* treatment_results | 16404 (SIZEOF( QUERY( i <* r.items | i.name = 'purpose' )) > 1) )) = 0; 16405END_RULE; 16406 16407RULE selected_instance_usage_requires_representation FOR (assembly_component_usage); 16408 LOCAL 16409 selected_instance_usages: SET OF assembly_component_usage := QUERY( acr <* assembly_component_usage| 16410 (acr.name = 'selected instance usage')); 16411 END_LOCAL; 16412WHERE 16413 WR1 : SIZEOF ( QUERY ( acr <* selected_instance_usages | 16414 NOT valid_selected_instance_representation(acr) ))=0; 16415END_RULE; 16416 16417RULE shape_representation_requires_origin FOR (shape_representation); 16418 16419WHERE 16420 WR1 : SIZEOF(QUERY ( sr <* shape_representation | NOT( 16421(SIZEOF(QUERY ( it <* sr\representation.items | ( 16422((it\representation_item.name = 'origin') or (it\representation_item.name = 'orientation')) and 16423 (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 16424 'AXIS2_PLACEMENT_2D' in TYPEOF(it)) OR 16425 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 16426 'AXIS2_PLACEMENT_2D' in TYPEOF(it))) 16427))) = 1 16428) 16429OR 16430(SIZEOF(QUERY ( it <* sr\representation.items | ( 16431 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 16432 'STYLED_ITEM' in TYPEOF(it)) 16433))) >= 1 16434) 16435OR 16436(SIZEOF(QUERY ( it <* sr\representation.items | ( 16437((it\representation_item.name = 'origin') or (it\representation_item.name = 'orientation')) and 16438 ((sr\representation.name = 'zone shape') or 16439 (sr.context_of_items\representation_context.context_type = 'connection zone colour')) 16440))) = 0 16441) 16442))) = 0; 16443END_RULE; 16444 16445RULE solution_definition_requires_solution_category FOR (product_definition); 16446 LOCAL 16447 solution_definitions: SET OF product_definition := []; 16448 END_LOCAL; 16449 solution_definitions := QUERY( pd <* product_definition | 16450 (pd.frame_of_reference.name = 'alternative definition')); 16451WHERE 16452 WR1 : SIZEOF( QUERY( pd <* solution_definitions | 16453 (SIZEOF( QUERY( prpc <* USEDIN(pd.formation.of_product, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF' + '.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | 16454 prpc.name = 'alternative solution')) = 0 ) )) = 0; 16455END_RULE; 16456 16457RULE spline_curve_population_constraint FOR (curve); 16458 16459WHERE 16460 WR1 : SIZEOF( QUERY( cu <* curve | 16461('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF(cu)) 16462 )) = 0; 16463END_RULE; 16464 16465RULE stock_material_reference FOR (percentage_ply_definition, make_from_usage_option, product_related_product_category); 16466 LOCAL 16467 i,j,k : INTEGER; 16468 dkuhr : LOGICAL; 16469 nmfuo : INTEGER; 16470 nprpc : INTEGER; 16471 rp : product; 16472 END_LOCAL; 16473 dkuhr := TRUE; 16474 REPEAT i:= LOINDEX (percentage_ply_definition) TO 16475 HIINDEX (percentage_ply_definition); 16476 nmfuo := 0; 16477 REPEAT j:= LOINDEX (make_from_usage_option) TO 16478 HIINDEX (make_from_usage_option); 16479 IF (percentage_ply_definition[i] = 16480 make_from_usage_option[j].relating_product_definition) THEN 16481 rp := make_from_usage_option[j].related_product_definition. 16482 formation.of_product; 16483 nprpc := 0; 16484 REPEAT k:= LOINDEX (product_related_product_category) TO 16485 HIINDEX (product_related_product_category); 16486 IF ((rp IN product_related_product_category[k].products) AND 16487 (product_related_product_category[k].name IN 16488 ['anisotropic material', 'isotropic material', 'stock core', 16489 'filament assembly', 'discontinuous fiber assembly'])) THEN 16490 nprpc := nprpc + 1; 16491 END_IF; 16492 END_REPEAT; 16493 IF (nprpc = 1) THEN 16494 nmfuo := nmfuo + 1; 16495 ELSE 16496 dkuhr := FALSE; 16497 ESCAPE; 16498 END_IF; 16499 END_IF; 16500 END_REPEAT; 16501 IF (dkuhr = FALSE) THEN 16502 ESCAPE; 16503 END_IF; 16504 IF(nmfuo = 0) THEN 16505 dkuhr := FALSE; 16506 ESCAPE; 16507 END_IF; 16508 END_REPEAT; 16509WHERE 16510 WR1 : dkuhr; 16511END_RULE; 16512 16513RULE styled_curve FOR (styled_item); 16514 16515WHERE 16516 WR1 : SIZEOF( QUERY( si <* styled_item | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF (si.item)) AND (SIZEOF (QUERY (psa <* si.styles | (SIZEOF (QUERY (cs <* psa.styles | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF (cs)) )) > 0) )) <> 1) )) = 0; 16517END_RULE; 16518 16519RULE subtype_exclusiveness_geometric_tolerance FOR (geometric_tolerance); 16520 16521WHERE 16522 WR1 : SIZEOF(QUERY (gt <* geometric_tolerance | NOT (type_check_function(gt, ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULARITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COAXIALITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONCENTRICITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CYLINDRICITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FLATNESS_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE_PROFILE_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARALLELISM_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PERPENDICULARITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITION_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDNESS_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRAIGHTNESS_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_PROFILE_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMMETRY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TOTAL_RUNOUT_TOLERANCE'] , 3)))) = 0; 16523END_RULE; 16524 16525RULE subtype_exclusiveness_representation_item FOR (representation_item); 16526 16527WHERE 16528 WR1 : SIZEOF(QUERY (cri <* representation_item | 16529 NOT (type_check_function(cri,['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', 16530 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM', 16531 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOUND_REPRESENTATION_ITEM'] , 3)))) = 0; 16532END_RULE; 16533 16534RULE subtype_mandatory_geometric_tolerance FOR (geometric_tolerance); 16535 16536WHERE 16537 WR1 : SIZEOF(QUERY (gt <* geometric_tolerance | NOT (type_check_function(gt, ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULARITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COAXIALITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONCENTRICITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CYLINDRICITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FLATNESS_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE_PROFILE_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARALLELISM_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PERPENDICULARITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITION_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDNESS_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRAIGHTNESS_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_PROFILE_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMMETRY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TOTAL_RUNOUT_TOLERANCE'] , 0)))) = 0; 16538END_RULE; 16539 16540RULE text_font_usage FOR (externally_defined_text_font, pre_defined_text_font); 16541 16542WHERE 16543 WR1 : SIZEOF (QUERY (pdtf <* pre_defined_text_font | SIZEOF (USEDIN (pdtf, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0; 16544 WR2 : SIZEOF (QUERY (edtf <* externally_defined_text_font | SIZEOF (USEDIN (edtf, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0; 16545END_RULE; 16546 16547RULE thickness_laminate_table_component_select FOR (thickness_laminate_definition, next_assembly_usage_occurrence, product_related_product_category); 16548 LOCAL 16549 i,j,k : INTEGER; 16550 dkuhr : LOGICAL; 16551 nnauo : INTEGER; 16552 nprpc : INTEGER; 16553 rp : product; 16554 END_LOCAL; 16555 dkuhr := TRUE; 16556 REPEAT i:= LOINDEX (thickness_laminate_definition) TO 16557 HIINDEX (thickness_laminate_definition); 16558 nnauo := 0; 16559 REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO 16560 HIINDEX (next_assembly_usage_occurrence); 16561 IF (thickness_laminate_definition[i] = 16562 next_assembly_usage_occurrence[j].relating_product_definition) THEN 16563 rp := next_assembly_usage_occurrence[j].related_product_definition. 16564 formation.of_product; 16565 nprpc := 0; 16566 REPEAT k:= LOINDEX (product_related_product_category) TO 16567 HIINDEX (product_related_product_category); 16568 IF ((rp IN product_related_product_category[k].products) AND 16569 (product_related_product_category[k].name IN 16570 ['ply', 'filament laminate', 'processed core'])) THEN 16571 nprpc := nprpc + 1; 16572 END_IF; 16573 END_REPEAT; 16574 IF (nprpc = 1) THEN 16575 nnauo := nnauo + 1; 16576 ELSE 16577 dkuhr := FALSE; 16578 ESCAPE; 16579 END_IF; 16580 END_IF; 16581 END_REPEAT; 16582 IF (dkuhr = FALSE) THEN 16583 ESCAPE; 16584 END_IF; 16585 IF (nnauo <> 1) THEN 16586 dkuhr := FALSE; 16587 ESCAPE; 16588 END_IF; 16589 END_REPEAT; 16590WHERE 16591 WR1 : dkuhr; 16592END_RULE; 16593 16594RULE validate_dependently_instantiable_entity_data_types FOR (action_method_role, annotation_text, attribute_value_role, auxiliary_geometric_representation_item, binary_numeric_expression, boolean_expression, bounded_curve, bounded_surface, cartesian_transformation_operator, comparison_expression, concept_feature_relationship, concept_feature_relationship_with_condition, connected_edge_set, edge_blended_solid, effectivity_context_role, event_occurrence_role, explicit_procedural_representation_item_relationship, expression, founded_item, generic_expression, generic_variable, indirectly_selected_elements, interval_expression, literal_number, local_time, loop, modified_solid_with_placed_configuration, multiple_arity_boolean_expression, multiple_arity_generic_expression, multiple_arity_numeric_expression, numeric_expression, one_direction_repeat_factor, oriented_open_shell, oriented_path, positioned_sketch, procedural_representation, procedural_representation_sequence, product_definition_context_role, product_definition_effectivity, simple_boolean_expression, simple_generic_expression, simple_numeric_expression, 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, unary_generic_expression, unary_numeric_expression, user_selected_elements, variational_representation_item, view_volume); 16595LOCAL 16596 number_of_input_instances : INTEGER; 16597 previous_in_chain : LIST OF GENERIC := []; 16598 set_of_input_types : SET OF STRING := []; 16599 all_instances : SET OF GENERIC := []; 16600END_LOCAL; 16601 16602 all_instances := all_instances + action_method_role + annotation_text + attribute_value_role + auxiliary_geometric_representation_item + binary_numeric_expression + boolean_expression + bounded_curve + bounded_surface + cartesian_transformation_operator + comparison_expression + concept_feature_relationship + concept_feature_relationship_with_condition + connected_edge_set + edge_blended_solid + effectivity_context_role + event_occurrence_role + explicit_procedural_representation_item_relationship + expression + founded_item + generic_expression + generic_variable + indirectly_selected_elements + interval_expression + literal_number + local_time + loop + modified_solid_with_placed_configuration + multiple_arity_boolean_expression + multiple_arity_generic_expression + multiple_arity_numeric_expression + numeric_expression + one_direction_repeat_factor + oriented_open_shell + oriented_path + positioned_sketch + procedural_representation + procedural_representation_sequence + product_definition_context_role + product_definition_effectivity + simple_boolean_expression + simple_generic_expression + simple_numeric_expression + 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 + unary_generic_expression + unary_numeric_expression + user_selected_elements + variational_representation_item + view_volume;--<make a union of all implicit populations of the FOR-clause> 16603number_of_input_instances := SIZEOF(all_instances); 16604(* Collect all type strings of all FOR instances into one set. *) 16605REPEAT i:=1 TO number_of_input_instances; 16606 set_of_input_types := set_of_input_types + TYPEOF(all_instances[i]); 16607END_REPEAT; 16608WHERE 16609 WR1 : dependently_instantiated(all_instances, set_of_input_types, 16610 previous_in_chain); 16611END_RULE; 16612 16613FUNCTION acyclic 16614 (arg1: generic_expression; arg2: SET [0:?] OF generic_expression) : BOOLEAN; 16615LOCAL 16616 result: BOOLEAN := TRUE; 16617END_LOCAL; 16618 16619IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMPLE_GENERIC_EXPRESSION' 16620 IN TYPEOF (arg1)) 16621THEN 16622 RETURN (TRUE); 16623END_IF; 16624 16625IF arg1 IN arg2 16626THEN 16627 RETURN (FALSE); 16628END_IF; 16629 16630IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNARY_GENERIC_EXPRESSION' 16631 IN TYPEOF (arg1) 16632THEN 16633 RETURN 16634 (acyclic(arg1\unary_generic_expression.operand,arg2+[arg1])); 16635END_IF; 16636 16637IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BINARY_GENERIC_EXPRESSION' 16638 IN TYPEOF (arg1) 16639THEN 16640 RETURN 16641 (acyclic(arg1\binary_generic_expression.operands[1],arg2+[arg1]) 16642 AND 16643 acyclic(arg1\binary_generic_expression.operands[2],arg2+[arg1])); 16644END_IF; 16645 16646IF 16647'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' 16648 IN TYPEOF (arg1) 16649THEN 16650 result := TRUE; 16651 REPEAT i := 1 TO 16652 SIZEOF (arg1\multiple_arity_generic_expression.operands); 16653 result := result AND 16654 acyclic(arg1\multiple_arity_generic_expression.operands[i], arg2+[arg1]); 16655 END_REPEAT; 16656 16657 RETURN (result); 16658END_IF; 16659 RETURN (result); 16660END_FUNCTION; 16661 16662FUNCTION acyclic_composite_text 16663 (start_composite: composite_text; child_text: SET [1:?] OF text_or_character) : LOGICAL; 16664 LOCAL 16665 i : INTEGER; 16666 local_composite_text : SET [0:?] OF composite_text; 16667 local_annotation_text : SET [0:?] OF annotation_text; 16668 local_children : SET [0:?] OF text_or_character; 16669 END_LOCAL; 16670 16671 local_composite_text := QUERY (child <* child_text | 16672 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' 16673 IN TYPEOF (child))); 16674 16675 IF (SIZEOF (local_composite_text) > 0) 16676 THEN 16677 REPEAT i := 1 TO HIINDEX (local_composite_text); 16678 IF (start_composite :=: local_composite_text[i]) 16679 THEN 16680 RETURN (FALSE); 16681 END_IF; 16682 END_REPEAT; 16683 END_IF; 16684 16685 local_children := child_text; 16686 16687 IF (SIZEOF (local_composite_text)) > 0 THEN 16688 REPEAT i := 1 TO HIINDEX (local_composite_text); 16689 local_children := local_children + 16690 local_composite_text[i].collected_text; 16691 END_REPEAT; 16692 END_IF; 16693 16694 local_annotation_text := QUERY (child <* child_text | 16695 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT' 16696 IN TYPEOF (child))); 16697 16698 IF (SIZEOF (local_annotation_text) > 0) THEN 16699 REPEAT i := 1 TO HIINDEX (local_annotation_text); 16700 local_children := local_children + 16701 QUERY (item <* local_annotation_text[i]\mapped_item. 16702 mapping_source.mapped_representation.items | 16703 SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT', 16704 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT'] * 16705 TYPEOF(item)) > 0); 16706 END_REPEAT; 16707 END_IF; 16708 16709 IF (local_children :<>: child_text) THEN 16710 RETURN (acyclic_composite_text (start_composite, local_children)); 16711 ELSE 16712 RETURN (TRUE); 16713 END_IF; 16714END_FUNCTION; 16715 16716FUNCTION acyclic_curve_replica 16717 (rep: curve_replica; parent: curve) : BOOLEAN; 16718IF NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA') IN TYPEOF(parent)) THEN 16719 RETURN (TRUE); 16720 END_IF; 16721 (* Return TRUE if the parent is not of type curve_replica *) 16722 IF (parent :=: rep) THEN 16723 RETURN (FALSE); 16724 (* Return FALSE if the parent is the same curve_replica, otherwise, 16725 call function again with the parents own parent_curve. *) 16726 ELSE 16727 RETURN(acyclic_curve_replica(rep, 16728 parent\curve_replica.parent_curve)); 16729 END_IF; 16730END_FUNCTION; 16731 16732FUNCTION acyclic_mapped_item_usage 16733 (rep: representation) : BOOLEAN; 16734 LOCAL 16735 items : SET OF representation_item; 16736 END_LOCAL; 16737 16738 items := QUERY (item <* rep.items | 16739 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (item)); 16740 IF SIZEOF (items) = 0 16741 THEN 16742 RETURN (FALSE); 16743 ELSE 16744 REPEAT i := 1 TO HIINDEX (items); 16745 IF items[i]\mapped_item.mapping_source.mapped_representation :=: rep 16746 THEN 16747 RETURN (TRUE); 16748 ELSE 16749 RETURN (acyclic_mapped_item_usage(items[i]\ 16750 mapped_item.mapping_source.mapped_representation)); 16751 END_IF; 16752 END_REPEAT; 16753 RETURN (FALSE); 16754 END_IF; 16755END_FUNCTION; 16756 16757FUNCTION acyclic_mapped_representation 16758 (mi: mapped_item) : BOOLEAN; 16759 LOCAL 16760 rms : SET OF representation_map; 16761 mis : SET OF mapped_item; 16762 rs1, rs2 : SET OF representation; 16763 END_LOCAL; 16764 16765 rs1 := using_representations(mi); 16766 rs2 := []; 16767 -- loop as long as there are elements in rs1 16768 REPEAT WHILE SIZEOF(rs1) > 0; 16769 REPEAT i := 1 TO HIINDEX(rs1); 16770 -- Determine the set of representation_map that reference the parent_set 16771 rms := bag_to_set(USEDIN(rs1[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION')); 16772 IF SIZEOF(rms) > 0 THEN 16773 REPEAT j := 1 TO HIINDEX(rms); 16774 mis := bag_to_set(USEDIN(rms[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE')); 16775 IF SIZEOF(mis) > 0 THEN 16776 REPEAT j := 1 TO HIINDEX(mis); 16777 -- check mis members for instance equal with mi. If so then there is a cycle 16778 IF mis[i] :=: mi THEN 16779 RETURN (FALSE); 16780 END_IF; 16781 rs2 := rs2 + using_representations(mis[i]); 16782 END_REPEAT; 16783 END_IF; 16784 END_REPEAT; 16785 END_IF; 16786 END_REPEAT; 16787 rs1 := rs2; 16788 rs2 := []; 16789 END_REPEAT; 16790 RETURN (TRUE); 16791END_FUNCTION; 16792 16793FUNCTION acyclic_point_replica 16794 (rep: point_replica; parent: point) : BOOLEAN; 16795IF NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_REPLICA') IN TYPEOF(parent)) THEN 16796 RETURN (TRUE); 16797 END_IF; 16798 (* Return TRUE if the parent is not of type point_replica *) 16799 IF (parent :=: rep) THEN 16800 RETURN (FALSE); 16801 (* Return FALSE if the parent is the same point_replica, otherwise, 16802 call function again with the parents own parent_pt. *) 16803 ELSE RETURN(acyclic_point_replica(rep, parent\point_replica.parent_pt)); 16804 END_IF; 16805END_FUNCTION; 16806 16807FUNCTION acyclic_product_definition_relationship 16808 (relation: product_definition_relationship; relatives: SET [1:?] OF product_definition; specific_relation: STRING) : BOOLEAN; 16809 LOCAL 16810 x : SET OF product_definition_relationship; 16811 END_LOCAL; 16812 16813 IF relation.relating_product_definition IN relatives THEN 16814 RETURN (FALSE); 16815 END_IF; 16816 x := QUERY(pd <* bag_to_set(USEDIN(relation.relating_product_definition, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION')) | specific_relation IN TYPEOF(pd)); 16817 REPEAT i := 1 TO HIINDEX(x); 16818 IF NOT acyclic_product_definition_relationship(x[i], relatives + relation.relating_product_definition, specific_relation) THEN 16819 RETURN (FALSE); 16820 END_IF; 16821 END_REPEAT; 16822 RETURN (TRUE); 16823END_FUNCTION; 16824 16825FUNCTION acyclic_representation_relationship 16826 (relation: representation_relationship; relatives: SET [1:?] OF representation; specific_relation: STRING) : BOOLEAN; 16827 LOCAL 16828 x : SET OF representation_relationship; 16829 END_LOCAL; 16830 16831 IF relation.rep_1 IN relatives THEN 16832 RETURN (FALSE); 16833 END_IF; 16834 x := QUERY(r <* bag_to_set(USEDIN(relation.rep_1, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2')) | specific_relation IN TYPEOF(r)); 16835 REPEAT i := 1 TO HIINDEX(x); 16836 IF NOT acyclic_representation_relationship(x[i], relatives + relation.rep_1, specific_relation) THEN 16837 RETURN (FALSE); 16838 END_IF; 16839 END_REPEAT; 16840 RETURN (TRUE); 16841END_FUNCTION; 16842 16843FUNCTION acyclic_shape_aspect_relationship 16844 (relation: shape_aspect_relationship; relatives: SET [1:?] OF shape_aspect; specific_relation: STRING) : BOOLEAN; 16845 LOCAL 16846 x : SET OF shape_aspect_relationship; 16847 END_LOCAL; 16848 16849 IF relation.relating_shape_aspect IN relatives THEN 16850 RETURN (FALSE); 16851 END_IF; 16852 x := QUERY(sa <* bag_to_set(USEDIN(relation.relating_shape_aspect, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT')) | specific_relation IN TYPEOF(sa)); 16853 REPEAT i := 1 TO HIINDEX(x); 16854 IF NOT acyclic_shape_aspect_relationship(x[i], relatives + relation.relating_shape_aspect, specific_relation) THEN 16855 RETURN (FALSE); 16856 END_IF; 16857 END_REPEAT; 16858 RETURN (TRUE); 16859END_FUNCTION; 16860 16861FUNCTION acyclic_solid_replica 16862 (rep: solid_replica; parent: solid_model) : BOOLEAN; 16863IF NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_REPLICA') IN TYPEOF(parent)) THEN 16864 RETURN (TRUE); 16865 END_IF; 16866 (* Return TRUE if the parent is not of type solid_replica. *) 16867 IF (parent :=: rep) THEN 16868 RETURN (FALSE); 16869 (* Return FALSE if the parent is the same solid_replica, otherwise, 16870 call function again with the parents own parent_solid. *) 16871 ELSE RETURN(acyclic_solid_replica(rep, 16872 parent\solid_replica.parent_solid)); 16873 END_IF; 16874END_FUNCTION; 16875 16876FUNCTION acyclic_surface_replica 16877 (rep: surface_replica; parent: surface) : BOOLEAN; 16878IF NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_REPLICA') IN TYPEOF(parent)) THEN 16879 RETURN (TRUE); 16880 END_IF; 16881 (* Return TRUE if the parent is not of type surface_replica *) 16882 IF (parent :=: rep) THEN 16883 RETURN (FALSE); 16884 (* Return FALSE if the parent is the same surface_replica, otherwise, 16885 call function again with the parents own parent_surface. *) 16886 ELSE RETURN(acyclic_surface_replica(rep, 16887 parent\surface_replica.parent_surface)); 16888 END_IF; 16889END_FUNCTION; 16890 16891FUNCTION advanced_face_properties 16892 (testface: face) : BOOLEAN; 16893IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF(testface) THEN 16894 RETURN (TRUE); 16895END_IF; 16896(* if testface is a subface recursively test the parent_face, 16897return FALSE for all other types of face *) 16898IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(testface)) THEN 16899 RETURN(advanced_face_properties(testface\subface.parent_face)); 16900 ELSE RETURN (FALSE); 16901END_IF; 16902END_FUNCTION; 16903 16904FUNCTION apeaid_is_base 16905 (input: area_component) : LOGICAL; 16906LOCAL 16907 pd : SET OF property_definition := bag_to_set(QUERY(pd <* USEDIN(input,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | 16908 pd\property_definition.name = 'is base')); 16909END_LOCAL; 16910 RETURN(pd[1].description = 'true'); 16911END_FUNCTION; 16912 16913FUNCTION aspect_ratio 16914 (p: planar_box) : positive_ratio_measure; 16915IF (p.size_in_x > 0.) AND (p.size_in_y > 0.) THEN 16916 RETURN (p.size_in_x / p.size_in_y); 16917 ELSE 16918 RETURN (?); 16919 END_IF; 16920END_FUNCTION; 16921 16922FUNCTION associated_surface 16923 (arg: pcurve_or_surface) : surface; 16924 LOCAL 16925 surf : surface; 16926 END_LOCAL; 16927 16928 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(arg) THEN 16929 surf := arg\pcurve.basis_surface; 16930 ELSE 16931 surf := arg; 16932 END_IF; 16933 RETURN(surf); 16934END_FUNCTION; 16935 16936FUNCTION bag_to_set 16937 (the_bag: BAG [0:?] OF GENERIC: intype) : SET [0:?] OF GENERIC: intype; 16938 LOCAL 16939 the_set : SET OF GENERIC:intype := []; 16940 END_LOCAL; 16941 16942 IF SIZEOF(the_bag) > 0 THEN 16943 REPEAT i := 1 TO HIINDEX(the_bag); 16944 the_set := the_set + the_bag[i]; 16945 END_REPEAT; 16946 END_IF; 16947 RETURN (the_set); 16948END_FUNCTION; 16949 16950FUNCTION base_axis 16951 (dim: INTEGER; axis1: direction; axis2: direction; axis3: direction) : LIST [2:3] OF direction; 16952 LOCAL 16953 u : LIST [2:3] OF direction; 16954 factor : REAL; 16955 d1, d2 : direction; 16956 END_LOCAL; 16957 16958 IF (dim = 3) THEN 16959 d1 := NVL(normalise(axis3), dummy_gri || direction([0.0,0.0,1.0])); 16960 d2 := first_proj_axis(d1,axis1); 16961 u := [d2, second_proj_axis(d1,d2,axis2), d1]; 16962 ELSE 16963 IF EXISTS(axis1) THEN 16964 d1 := normalise(axis1); 16965 u := [d1, orthogonal_complement(d1)]; 16966 IF EXISTS(axis2) THEN 16967 factor := dot_product(axis2,u[2]); 16968 IF (factor < 0.0) THEN 16969 u[2].direction_ratios[1] := -u[2].direction_ratios[1]; 16970 u[2].direction_ratios[2] := -u[2].direction_ratios[2]; 16971 END_IF; 16972 END_IF; 16973 ELSE 16974 IF EXISTS(axis2) THEN 16975 d1 := normalise(axis2); 16976 u := [orthogonal_complement(d1), d1]; 16977 u[1].direction_ratios[1] := -u[1].direction_ratios[1]; 16978 u[1].direction_ratios[2] := -u[1].direction_ratios[2]; 16979 ELSE 16980 u := [dummy_gri || direction([1.0, 0.0]), dummy_gri || 16981 direction([0.0, 1.0])]; 16982 END_IF; 16983 END_IF; 16984 END_IF; 16985 RETURN(u); 16986END_FUNCTION; 16987 16988FUNCTION boolean_choose 16989 (b: BOOLEAN; choice1: GENERIC: item; choice2: GENERIC: item) : GENERIC: item; 16990IF b THEN 16991 RETURN (choice1); 16992 ELSE 16993 RETURN (choice2); 16994 END_IF; 16995END_FUNCTION; 16996 16997FUNCTION build_2axes 16998 (ref_direction: direction) : LIST [2:2] OF direction; 16999 LOCAL 17000 d : direction := NVL(normalise(ref_direction), 17001 dummy_gri || direction([1.0,0.0])); 17002 END_LOCAL; 17003 17004 RETURN([d, orthogonal_complement(d)]); 17005END_FUNCTION; 17006 17007FUNCTION build_axes 17008 (axis: direction; ref_direction: direction) : LIST [3:3] OF direction; 17009 LOCAL 17010 d1, d2 : direction; 17011 END_LOCAL; 17012 d1 := NVL(normalise(axis), dummy_gri || direction([0.0,0.0,1.0])); 17013 d2 := first_proj_axis(d1, ref_direction); 17014 RETURN([d2, normalise(cross_product(d1,d2))\vector.orientation, d1]); 17015END_FUNCTION; 17016 17017FUNCTION categories_of_product 17018 (obj: product) : SET [0:?] OF STRING; 17019LOCAL 17020 category_assignments: BAG OF product_category; 17021 categories: SET OF STRING:=[]; 17022END_LOCAL; 17023category_assignments := USEDIN(obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS'); 17024REPEAT i := LOINDEX(category_assignments) TO HIINDEX(category_assignments) BY 1; 17025 categories := categories + category_assignments[i].name; 17026END_REPEAT; 17027RETURN(categories); 17028END_FUNCTION; 17029 17030FUNCTION cc_design_person_and_organization_correlation 17031 (e: cc_design_person_and_organization_assignment) : BOOLEAN; 17032 LOCAL 17033 po_role : STRING; 17034 END_LOCAL; 17035 po_role := e\person_and_organization_assignment.role.name; 17036 CASE po_role OF 17037 'request_recipient' : IF SIZEOF (e.items) <> 17038 SIZEOF (QUERY (x <* e.items | 17039 SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 17040 'CHANGE_REQUEST', 17041 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 17042 'START_REQUEST'] * 17043 TYPEOF (x)) = 1)) 17044 THEN RETURN(FALSE); 17045 END_IF; 17046 'initiator' : IF SIZEOF (e.items) <> 17047 SIZEOF (QUERY (x <* e.items | 17048 SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 17049 'CHANGE_REQUEST', 17050 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 17051 'START_REQUEST', 17052 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 17053 'START_WORK', 17054 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 17055 'CHANGE'] * 17056 TYPEOF (x)) = 1)) 17057 THEN RETURN(FALSE); 17058 END_IF; 17059 'creator' : IF SIZEOF (e.items) <> 17060 SIZEOF (QUERY (x <* e.items | 17061 SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 17062 'PRODUCT_DEFINITION_FORMATION', 17063 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 17064 'PRODUCT_DEFINITION'] * 17065 TYPEOF (x)) = 1)) 17066 THEN RETURN (FALSE); 17067 END_IF; 17068 'part_supplier' : IF SIZEOF (e.items) <> 17069 SIZEOF (QUERY (x <* e.items | 17070 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 17071 'PRODUCT_DEFINITION_FORMATION' 17072 IN TYPEOF (x))) 17073 THEN RETURN(FALSE); 17074 END_IF; 17075 'design_supplier' : IF SIZEOF (e.items) <> 17076 SIZEOF (QUERY (x <* e.items | 17077 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 17078 'PRODUCT_DEFINITION_FORMATION' 17079 IN TYPEOF (x))) 17080 THEN RETURN(FALSE); 17081 END_IF; 17082 'design_owner' : IF SIZEOF (e.items) <> 17083 SIZEOF (QUERY (x <* e.items | 17084 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT' 17085 IN TYPEOF (x))) 17086 THEN RETURN(FALSE); 17087 END_IF; 17088 'configuration_manager' : IF SIZEOF (e.items) <> 17089 SIZEOF (QUERY (x <* e.items | 17090 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 17091 'CONFIGURATION_ITEM' 17092 IN TYPEOF (x))) 17093 THEN RETURN(FALSE); 17094 END_IF; 17095 'contractor' : IF SIZEOF (e.items) <> 17096 SIZEOF (QUERY (x <* e.items | 17097 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONTRACT' 17098 IN TYPEOF (x))) 17099 THEN RETURN(FALSE); 17100 END_IF; 17101 'classification_officer' : IF SIZEOF (e.items) <> 17102 SIZEOF (QUERY (x <* e.items | 17103 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 17104 'SECURITY_CLASSIFICATION' 17105 IN TYPEOF (x))) THEN 17106 RETURN(FALSE); 17107 END_IF; 17108 OTHERWISE : RETURN(TRUE); 17109 END_CASE; 17110 RETURN (TRUE); 17111END_FUNCTION; 17112 17113FUNCTION check_continuous_edges 17114 (edges: LIST [0:?] OF UNIQUE edge_curve) : BOOLEAN; 17115 LOCAL 17116 i : INTEGER; 17117 next_vertex : vertex; 17118 END_LOCAL; 17119 17120 -- first check whether there is only one edge in the list: in this 17121 -- case there is no connectivity to be checked. 17122 17123 IF (SIZEOF(edges) = 1) 17124 THEN RETURN(TRUE); 17125 END_IF; 17126 17127 -- otherwise, establish the matching vertices of edges 1 and 2 in 17128 -- the list, and determine the vertex of edge 2 to which edge 3, 17129 -- must be connected, if there are more than two edges in the list. 17130 17131 IF ((edges[2].edge_start :=: edges[1].edge_end) 17132 XOR (edges[2].edge_start :=: edges[1].edge_start)) 17133 THEN next_vertex := edges[2].edge_end; 17134 ELSE 17135 IF ((edges[2].edge_end :=: edges[1].edge_end) 17136 XOR (edges[2].edge_end :=: edges[1].edge_start)) 17137 THEN next_vertex := edges[2].edge_start; 17138 ELSE RETURN(FALSE); -- no match between any vertices of edges 1 and 2 17139 END_IF; 17140 END_IF; 17141 17142 -- exit if there are only two edges and they are connected 17143 17144 IF (SIZEOF(edges) = 2) 17145 THEN RETURN(TRUE); 17146 END_IF; 17147 17148 -- otherwise, check that any remaining edges are connected in list order. 17149 17150 REPEAT i := 3 TO HIINDEX(edges); 17151 IF (edges[i].edge_start :=: next_vertex) 17152 THEN next_vertex := edges[i].edge_end; 17153 ELSE 17154 IF (edges[i].edge_end :=: next_vertex) 17155 THEN next_vertex := edges[i].edge_start; 17156 ELSE RETURN(FALSE); -- no match is found. 17157 END_IF; 17158 END_IF; 17159 END_REPEAT; 17160 RETURN(TRUE); 17161END_FUNCTION; 17162 17163FUNCTION check_text_alignment 17164 (ct: composite_text) : BOOLEAN; 17165 LOCAL 17166 a : SET OF text_alignment := []; 17167 END_LOCAL; 17168 17169 -- create a set of all the alignments 17170 REPEAT i := 1 TO HIINDEX (ct.collected_text); 17171 a := a + [ct.collected_text[i]\text_literal.alignment]; 17172 END_REPEAT; 17173 17174 -- if there is more than one element in the set 17175 -- then not all alignments were the same 17176 RETURN (SIZEOF(a) = 1); 17177END_FUNCTION; 17178 17179FUNCTION check_text_font 17180 (ct: composite_text) : BOOLEAN; 17181 LOCAL 17182 f : SET OF font_select := []; 17183 END_LOCAL; 17184 17185 -- build a set of all the fonts 17186 REPEAT i := 1 TO HIINDEX (ct.collected_text); 17187 f := f + [ct.collected_text[i]\text_literal.font]; 17188 END_REPEAT; 17189 17190 -- if there is more than one element in the set 17191 -- then not all fonts were the same 17192 RETURN (SIZEOF(f) <= 1); 17193END_FUNCTION; 17194 17195FUNCTION class_assignment_is_valid 17196 (aia: applied_classification_assignment) : BOOLEAN; 17197LOCAL 17198 item: classification_item; 17199 role: classification_role; 17200END_LOCAL; 17201 17202role:= aia\classification_assignment.role; 17203IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'CLASS_SYSTEM' IN TYPEOF(aia\classification_assignment.assigned_class)) THEN 17204 IF(role\classification_role.name <> 'class system membership') THEN 17205 RETURN(FALSE); 17206 END_IF; 17207 REPEAT i:=LOINDEX(aia\applied_classification_assignment.items) TO HIINDEX(aia\applied_classification_assignment.items); 17208 item:= aia\applied_classification_assignment.items[i]; 17209 17210 IF (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CLASS_SYSTEM_ITEM'] * TYPEOF(item))=0) THEN 17211-- item invalid if item does not belong to the types that may have a class_system 17212 RETURN(FALSE); 17213 END_IF; 17214 END_REPEAT; 17215END_IF; 17216 17217IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'CHARACTERIZED_CLASS' IN TYPEOF(aia\classification_assignment.assigned_class)) THEN 17218 IF NOT(role\classification_role.name IN ['definitional','non-definitional','']) THEN 17219 RETURN(FALSE); 17220 END_IF; 17221 17222 17223 REPEAT i:=LOINDEX(aia\applied_classification_assignment.items) TO HIINDEX(aia\applied_classification_assignment.items); 17224 item:= aia\applied_classification_assignment.items[i]; 17225 17226 IF (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CLASSIFIED_ITEM'] * TYPEOF(item))=0) THEN 17227-- item invalid if item does not belong to the types that may have a characterized_class 17228 RETURN(FALSE); 17229 END_IF; 17230 END_REPEAT; 17231END_IF; 17232 17233 IF 17234 (role\classification_role.name = 'definitional') 17235 THEN 17236 IF NOT 17237 (SIZEOF(QUERY(it <* aia\applied_classification_assignment.items | NOT 17238 (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION'] * TYPEOF(it)) = 1) 17239 )) = 0 ) 17240 THEN 17241 RETURN(FALSE); 17242 END_IF; 17243 END_IF; 17244 17245RETURN(TRUE); 17246END_FUNCTION; 17247 17248FUNCTION closed_shell_reversed 17249 (a_shell: closed_shell) : oriented_closed_shell; 17250 LOCAL 17251 the_reverse : oriented_closed_shell; 17252 END_LOCAL; 17253 IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (a_shell) ) THEN 17254 the_reverse := dummy_tri || 17255 connected_face_set ( 17256 a_shell\connected_face_set.cfs_faces) || 17257 closed_shell () || oriented_closed_shell( 17258 a_shell\oriented_closed_shell.closed_shell_element, 17259 NOT(a_shell\oriented_closed_shell.orientation)); 17260 ELSE 17261 the_reverse := dummy_tri || 17262 connected_face_set ( 17263 a_shell\connected_face_set.cfs_faces) || 17264 closed_shell () || oriented_closed_shell (a_shell, FALSE); 17265 END_IF; 17266 RETURN (the_reverse); 17267END_FUNCTION; 17268 17269FUNCTION compute_total_depth 17270 (swsrh: solid_with_stepped_round_hole) : positive_length_measure; 17271LOCAL 17272i : positive_integer; 17273n : positive_integer := swsrh.segments; 17274td : positive_length_measure := swsrh.segment_depths[1]; 17275END_LOCAL; 17276 17277IF n = 1 17278THEN RETURN(td); 17279ELSE 17280 REPEAT i := 2 TO n; 17281 td := td + swsrh.segment_depths[i]; 17282 END_REPEAT; 17283END_IF; 17284RETURN(td); 17285END_FUNCTION; 17286 17287FUNCTION conditional_reverse 17288 (p: BOOLEAN; an_item: reversible_topology) : reversible_topology; 17289IF p THEN 17290 RETURN (an_item); 17291 ELSE 17292 RETURN (topology_reversed (an_item)); 17293 END_IF; 17294END_FUNCTION; 17295 17296FUNCTION constraints_composite_curve_on_surface 17297 (c: composite_curve_on_surface) : BOOLEAN; 17298 LOCAL 17299 n_segments : INTEGER := SIZEOF(c.segments); 17300 END_LOCAL; 17301 17302 REPEAT k := 1 TO n_segments; 17303 IF (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN 17304 TYPEOF(c\composite_curve.segments[k].parent_curve))) AND 17305 (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN 17306 TYPEOF(c\composite_curve.segments[k].parent_curve))) AND 17307 (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN 17308 TYPEOF(c\composite_curve.segments[k].parent_curve))) THEN 17309 RETURN (FALSE); 17310 END_IF; 17311 END_REPEAT; 17312 RETURN(TRUE); 17313END_FUNCTION; 17314 17315FUNCTION constraints_geometry_shell_based_surface_model 17316 (m: shell_based_surface_model) : BOOLEAN; 17317 LOCAL 17318 result : BOOLEAN := TRUE; 17319 END_LOCAL; 17320 17321 REPEAT j := 1 TO SIZEOF(m.sbsm_boundary); 17322 IF (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_SHELL' IN 17323 TYPEOF(m.sbsm_boundary[j])) AND 17324 (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_SHELL' IN 17325 TYPEOF(m.sbsm_boundary[j])))) 17326 THEN 17327 result := FALSE; 17328 RETURN(result); 17329 (* A surface model is composed of OPEN_ and CLOSED_SHELLs. *) 17330 END_IF; 17331 END_REPEAT; 17332 RETURN(result); 17333END_FUNCTION; 17334 17335FUNCTION constraints_geometry_shell_based_wireframe_model 17336 (m: shell_based_wireframe_model) : BOOLEAN; 17337 LOCAL 17338 result : BOOLEAN := TRUE; 17339 END_LOCAL; 17340 17341 REPEAT j := 1 TO SIZEOF(m.sbwm_boundary); 17342 IF (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN 17343 TYPEOF(m.sbwm_boundary[j])) AND 17344 (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_SHELL' IN 17345 TYPEOF(m.sbwm_boundary[j])))) 17346 THEN 17347 result := FALSE; 17348 RETURN(result); 17349 (* A wireframe model is composed of WIRE_ and VERTEX_SHELLs *) 17350 END_IF; 17351 END_REPEAT; 17352 RETURN(result); 17353END_FUNCTION; 17354 17355FUNCTION constraints_param_b_spline 17356 (degree: INTEGER; up_knots: INTEGER; up_cp: INTEGER; knot_mult: LIST [0:?] OF INTEGER; knots: LIST [0:?] OF parameter_value) : BOOLEAN; 17357 LOCAL 17358 result : BOOLEAN := TRUE; 17359 k, sum : INTEGER; 17360 END_LOCAL; 17361 17362 (* Find sum of knot multiplicities. *) 17363 sum := knot_mult[1]; 17364 17365 REPEAT i := 2 TO up_knots; 17366 sum := sum + knot_mult[i]; 17367 END_REPEAT; 17368 17369 (* Check limits holding for all B-spline parametrisations *) 17370 IF (degree < 1) OR (up_knots < 2) OR (up_cp < degree) OR 17371 (sum <> (degree + up_cp + 2)) THEN 17372 result := FALSE; 17373 RETURN(result); 17374 END_IF; 17375 17376 k := knot_mult[1]; 17377 17378 IF (k < 1) OR (k > degree + 1) THEN 17379 result := FALSE; 17380 RETURN(result); 17381 END_IF; 17382 17383 REPEAT i := 2 TO up_knots; 17384 IF (knot_mult[i] < 1) OR (knots[i] <= knots[i-1]) THEN 17385 result := FALSE; 17386 RETURN(result); 17387 END_IF; 17388 17389 k := knot_mult[i]; 17390 17391 IF (i < up_knots) AND (k > degree) THEN 17392 result := FALSE; 17393 RETURN(result); 17394 END_IF; 17395 17396 IF (i = up_knots) AND (k > degree + 1) THEN 17397 result := FALSE; 17398 RETURN(result); 17399 END_IF; 17400 END_REPEAT; 17401 RETURN(result); 17402END_FUNCTION; 17403 17404FUNCTION constraints_rectangular_composite_surface 17405 (s: rectangular_composite_surface) : BOOLEAN; 17406REPEAT i := 1 TO s.n_u; 17407 REPEAT j := 1 TO s.n_v; 17408 IF NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF 17409 (s.segments[i][j].parent_surface)) OR 17410 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_TRIMMED_SURFACE' IN TYPEOF 17411 (s.segments[i][j].parent_surface))) THEN 17412 RETURN(FALSE); 17413 END_IF; 17414 END_REPEAT; 17415 END_REPEAT; 17416 17417 (* Check the transition codes, omitting the last row or column *) 17418 REPEAT i := 1 TO s.n_u-1; 17419 REPEAT j := 1 TO s.n_v; 17420 IF s.segments[i][j].u_transition = discontinuous THEN 17421 RETURN(FALSE); 17422 END_IF; 17423 END_REPEAT; 17424 END_REPEAT; 17425 17426 REPEAT i := 1 TO s.n_u; 17427 REPEAT j := 1 TO s.n_v-1; 17428 IF s.segments[i][j].v_transition = discontinuous THEN 17429 RETURN(FALSE); 17430 END_IF; 17431 END_REPEAT; 17432 END_REPEAT; 17433 RETURN(TRUE); 17434END_FUNCTION; 17435 17436FUNCTION control_characters_free 17437 (s: STRING) : BOOLEAN; 17438 LOCAL 17439 ch : STRING; 17440 END_LOCAL; 17441 17442 REPEAT i:=1 TO LENGTH(s); 17443 ch := s[i]; 17444 IF (ch = '\x9') OR (ch = '\xA') OR (ch = '\xD') THEN 17445 RETURN(FALSE); 17446 END_IF; 17447 END_REPEAT; 17448 RETURN (TRUE); 17449END_FUNCTION; 17450 17451FUNCTION cross_product 17452 (arg1: direction; arg2: direction) : vector; 17453 LOCAL 17454 mag : REAL; 17455 res : direction; 17456 v1,v2 : LIST[3:3] OF REAL; 17457 result : vector; 17458 END_LOCAL; 17459 17460 IF ( NOT EXISTS (arg1) OR (arg1.dim = 2)) OR 17461 ( NOT EXISTS (arg2) OR (arg2.dim = 2)) THEN 17462 RETURN(?); 17463 ELSE 17464 BEGIN 17465 v1 := normalise(arg1).direction_ratios; 17466 v2 := normalise(arg2).direction_ratios; 17467 res := dummy_gri || direction([(v1[2]*v2[3] - v1[3]*v2[2]), 17468 (v1[3]*v2[1] - v1[1]*v2[3]), (v1[1]*v2[2] - v1[2]*v2[1])]); 17469 mag := 0.0; 17470 REPEAT i := 1 TO 3; 17471 mag := mag + res.direction_ratios[i]*res.direction_ratios[i]; 17472 END_REPEAT; 17473 IF (mag > 0.0) THEN 17474 result := dummy_gri || vector(res, SQRT(mag)); 17475 ELSE 17476 result := dummy_gri || vector(arg1, 0.0); 17477 END_IF; 17478 RETURN(result); 17479 END; 17480 END_IF; 17481END_FUNCTION; 17482 17483FUNCTION curve_weights_positive 17484 (b: rational_b_spline_curve) : BOOLEAN; 17485 LOCAL 17486 result : BOOLEAN := TRUE; 17487 END_LOCAL; 17488 17489 REPEAT i := 0 TO b.upper_index_on_control_points; 17490 IF b.weights[i] <= 0.0 THEN 17491 result := FALSE; 17492 RETURN(result); 17493 END_IF; 17494 END_REPEAT; 17495 RETURN(result); 17496END_FUNCTION; 17497 17498FUNCTION default_tolerance_table_cell_wr2 17499 (agg: compound_item_definition) : BOOLEAN; 17500BEGIN 17501IF SIZEOF(agg) <= 5 THEN 17502 RETURN(TRUE); 17503ELSE 17504 RETURN(FALSE); 17505END_IF; 17506END; 17507END_FUNCTION; 17508 17509FUNCTION default_tolerance_table_cell_wr3 17510 (agg: compound_item_definition) : BOOLEAN; 17511BEGIN 17512IF (SIZEOF(QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) 17513 AND (i\representation_item.name = 'significant number of digits')) )) = 1) OR 17514((SIZEOF(QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND 17515 (i\representation_item.name = 'lower limit')) )) = 1) AND 17516(SIZEOF( QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND 17517 (i\representation_item.name = 'upper limit')) )) = 1)) THEN 17518 RETURN(TRUE); 17519ELSE 17520 RETURN(FALSE); 17521END_IF; 17522END; 17523END_FUNCTION; 17524 17525FUNCTION default_tolerance_table_cell_wr4 17526 (agg: compound_item_definition) : BOOLEAN; 17527BEGIN 17528IF (SIZEOF(QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND 17529 (i\representation_item.name = 'plus minus tolerance value')) )) = 1) OR 17530((SIZEOF(QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ( 17531 i\representation_item.name = 'lower tolerance value')) )) = 1) AND 17532(SIZEOF( QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ( 17533 i\representation_item.name = 'upper tolerance value')) )) = 1)) THEN 17534 RETURN(TRUE); 17535ELSE 17536 RETURN(FALSE); 17537END_IF; 17538END; 17539END_FUNCTION; 17540 17541FUNCTION default_tolerance_table_cell_wr5 17542 (agg: compound_item_definition) : BOOLEAN; 17543BEGIN 17544IF (SIZEOF(QUERY ( i <* agg | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) <= 1) AND 17545(SIZEOF(QUERY ( i <* agg | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) = 17546 SIZEOF(QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND 17547 (i\representation_item.name = 'cell description'))) )) 17548THEN 17549 RETURN(TRUE); 17550ELSE 17551 RETURN(FALSE); 17552END_IF; 17553END; 17554END_FUNCTION; 17555 17556FUNCTION dependently_instantiated 17557 (set_of_input_instances: SET [0:?] OF GENERIC: igen; set_of_input_types: SET [0:?] OF STRING; previous_in_chain: LIST [0:?] OF GENERIC: cgen) : BOOLEAN; 17558LOCAL 17559 number_of_input_instances : INTEGER; 17560 number_of_referring_instances : INTEGER; 17561 bag_of_referring_instances : BAG OF GENERIC:igen := []; 17562 dependently_instantiated_flag : BOOLEAN; 17563 previous_in_chain_plus : LIST OF GENERIC:cgen := []; 17564 result : BOOLEAN := true; 17565 set_of_types : SET OF STRING := []; 17566END_LOCAL; 17567 17568IF EXISTS(set_of_input_instances) THEN 17569 number_of_input_instances := SIZEOF(set_of_input_instances); 17570 (* Add the declared type of bag_of_referring_instances to the set of 17571 types of the REFERENCEd instances for the subset comparison later. 17572 *) 17573 set_of_input_types := set_of_input_types + 'GENERIC'; 17574 REPEAT i:=1 TO number_of_input_instances; 17575 (* Determine all references to the current input instance. *) 17576 bag_of_referring_instances := USEDIN (set_of_input_instances[i] , ''); 17577 IF EXISTS(bag_of_referring_instances) THEN 17578 number_of_referring_instances := SIZEOF(bag_of_referring_instances); 17579 dependently_instantiated_flag := false; 17580 REPEAT j:=1 TO number_of_referring_instances; 17581 (* Determine the type strings of the current referencing instance. 17582 *) 17583 set_of_types := TYPEOF(bag_of_referring_instances[j]); 17584 (* If the referencing instance is of one of the types of the 17585 only dependently instantiable select items, the current input 17586 instance may still be invalidly instantiated. 17587 Otherwise it is OK, and the next input instance is tested. 17588 *) 17589 IF set_of_types <= set_of_input_types THEN -- subset operator 17590 (* The referring instance is of one of the restricted types. 17591 However, it may itself be referred to by a valid instance; 17592 then also the current instance would be valid. 17593 Thus, call this function recursively with the referring 17594 instance as input. 17595 To avoid an infinite loop in case a set of instances 17596 reference each other in a closed loop, test first whether 17597 the current referencing instance is in the list of 17598 previously processed chain members. 17599 *) 17600 IF NOT (bag_of_referring_instances[j] IN previous_in_chain) THEN 17601 previous_in_chain_plus := previous_in_chain + 17602 set_of_input_instances[i]; 17603 IF dependently_instantiated([bag_of_referring_instances[j]], 17604 set_of_input_types, 17605 previous_in_chain_plus) THEN 17606 dependently_instantiated_flag := true; 17607 ESCAPE; -- dependently instantiated; next input instance 17608 ELSE 17609 (* Not dependently instantiated: go to next referring 17610 instance. *) 17611 SKIP; 17612 END_IF; 17613 END_IF; 17614 ELSE 17615 dependently_instantiated_flag := true; 17616 ESCAPE; -- dependently instantiated; take next input instance 17617 END_IF; 17618 END_REPEAT; 17619 IF NOT dependently_instantiated_flag THEN 17620 RETURN(false); 17621 END_IF; 17622 ELSE 17623 RETURN(false); -- not referenced at all => invalidly instantiated 17624 END_IF; 17625 END_REPEAT; 17626ELSE 17627 RETURN(false); -- no input 17628END_IF; 17629 17630RETURN(true); 17631END_FUNCTION; 17632 17633FUNCTION derive_angle 17634 (placement_1: axis2_placement_3d; placement_2: axis2_placement_3d) : plane_angle_measure; 17635 LOCAL 17636 v1 : direction; 17637 v2 : direction; 17638 mag_v1 : REAL; 17639 mag_v2 : REAL; 17640 theta : plane_angle_measure; 17641 END_LOCAL; 17642 v1 := placement_1.p[1]; 17643 v2 := placement_2.p[1]; 17644 mag_v1 := SQRT (v1.direction_ratios[1]*v1.direction_ratios[1] + 17645 v1.direction_ratios[2]*v1.direction_ratios[2]); 17646 mag_v2 := SQRT (v2.direction_ratios[1]*v2.direction_ratios[1] + 17647 v2.direction_ratios[2]*v2.direction_ratios[2]); 17648 IF ((mag_v1 = 0.0) OR (mag_v2 = 0.0)) THEN 17649 theta := 0.0; 17650 RETURN (theta); 17651 END_IF; 17652 theta := ACOS ((v1.direction_ratios[1]*v2.direction_ratios[1] + 17653 v1.direction_ratios[2]*v2.direction_ratios[2]) / 17654 (mag_v1*mag_v2)); 17655 RETURN (theta); 17656END_FUNCTION; 17657 17658FUNCTION derive_dimensional_exponents 17659 (x: unit) : dimensional_exponents; 17660 LOCAL 17661 result : dimensional_exponents := dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); 17662 END_LOCAL; 17663 17664 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DERIVED_UNIT' IN TYPEOF(x) THEN 17665 REPEAT i := LOINDEX(x\derived_unit.elements) TO HIINDEX(x\derived_unit.elements); 17666 result.length_exponent := result.length_exponent + 17667 (x\derived_unit.elements[i]\derived_unit_element.exponent * 17668 x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.length_exponent); 17669 result.mass_exponent := result.mass_exponent + 17670 (x\derived_unit.elements[i]\derived_unit_element.exponent * 17671 x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.mass_exponent); 17672 result.time_exponent := result.time_exponent + 17673 (x\derived_unit.elements[i]\derived_unit_element.exponent * 17674 x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.time_exponent); 17675 result.electric_current_exponent := result.electric_current_exponent + 17676 (x\derived_unit.elements[i]\derived_unit_element.exponent * 17677 x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.electric_current_exponent); 17678 result.thermodynamic_temperature_exponent := result.thermodynamic_temperature_exponent + 17679 (x\derived_unit.elements[i]\derived_unit_element.exponent * 17680 x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.thermodynamic_temperature_exponent); 17681 result.amount_of_substance_exponent := result.amount_of_substance_exponent + 17682 (x\derived_unit.elements[i]\derived_unit_element.exponent * 17683 x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.amount_of_substance_exponent); 17684 result.luminous_intensity_exponent := result.luminous_intensity_exponent + 17685 (x\derived_unit.elements[i]\derived_unit_element.exponent * 17686 x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.luminous_intensity_exponent); 17687 END_REPEAT; 17688 ELSE 17689 result := x\named_unit.dimensions; 17690 END_IF; 17691 RETURN (result); 17692END_FUNCTION; 17693 17694FUNCTION dimension_of 17695 (item: geometric_representation_item) : dimension_count; 17696 LOCAL 17697 x : SET OF representation; 17698 y : representation_context; 17699 dim : dimension_count; 17700 END_LOCAL; 17701 -- For cartesian_point, direction, or vector dimension is determined by 17702 -- counting components. 17703 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF(item) THEN 17704 dim := SIZEOF(item\cartesian_point.coordinates); 17705 RETURN(dim); 17706 END_IF; 17707 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION' IN TYPEOF(item) THEN 17708 dim := SIZEOF(item\direction.direction_ratios); 17709 RETURN(dim); 17710 END_IF; 17711 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF(item) THEN 17712 dim := SIZEOF(item\vector.orientation\direction.direction_ratios); 17713 RETURN(dim); 17714 END_IF; 17715 -- For all other types of geometric_representation_item dim is obtained 17716 -- via context. 17717 -- Find the set of representation in which the item is used. 17718 17719 x := using_representations(item); 17720 17721 -- Determines the dimension_count of the 17722 -- geometric_representation_context. Note that the 17723 -- RULE compatible_dimension ensures that the context_of_items 17724 -- is of type geometric_representation_context and has 17725 -- the same dimension_count for all values of x. 17726 -- The SET x is non-empty since this is required by WR1 of 17727 -- representation_item. 17728 y := x[1].context_of_items; 17729 dim := y\geometric_representation_context.coordinate_space_dimension; 17730 RETURN (dim); 17731END_FUNCTION; 17732 17733FUNCTION dimensions_for_si_unit 17734 (n: si_unit_name) : dimensional_exponents; 17735CASE n OF 17736 metre: 17737 RETURN (dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); 17738 gram: 17739 RETURN (dimensional_exponents(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0)); 17740 second: 17741 RETURN (dimensional_exponents(0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0)); 17742 ampere: 17743 RETURN (dimensional_exponents(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0)); 17744 kelvin: 17745 RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0)); 17746 mole: 17747 RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0)); 17748 candela: 17749 RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); 17750 radian: 17751 RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); 17752 steradian: 17753 RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); 17754 hertz: 17755 RETURN (dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0)); 17756 newton: 17757 RETURN (dimensional_exponents(1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); 17758 pascal: 17759 RETURN (dimensional_exponents(-1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); 17760 joule: 17761 RETURN (dimensional_exponents(2.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); 17762 watt: 17763 RETURN (dimensional_exponents(2.0, 1.0, -3.0, 0.0, 0.0, 0.0, 0.0)); 17764 coulomb: 17765 RETURN (dimensional_exponents(0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0)); 17766 volt: 17767 RETURN (dimensional_exponents(2.0, 1.0, -3.0, -1.0, 0.0, 0.0, 0.0)); 17768 farad: 17769 RETURN (dimensional_exponents(-2.0, -1.0, 4.0, 1.0, 0.0, 0.0, 0.0)); 17770 ohm: 17771 RETURN (dimensional_exponents(2.0, 1.0, -3.0, -2.0, 0.0, 0.0, 0.0)); 17772 siemens: 17773 RETURN (dimensional_exponents(-2.0, -1.0, 3.0, 2.0, 0.0, 0.0, 0.0)); 17774 weber: 17775 RETURN (dimensional_exponents(2.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0)); 17776 tesla: 17777 RETURN (dimensional_exponents(0.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0)); 17778 henry: 17779 RETURN (dimensional_exponents(2.0, 1.0, -2.0, -2.0, 0.0, 0.0, 0.0)); 17780 degree_Celsius: 17781 RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0)); 17782 lumen: 17783 RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); 17784 lux: 17785 RETURN (dimensional_exponents(-2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); 17786 becquerel: 17787 RETURN (dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0)); 17788 gray: 17789 RETURN (dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0)); 17790 sievert: 17791 RETURN (dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0)); 17792 OTHERWISE: 17793 RETURN (?); 17794 END_CASE; 17795END_FUNCTION; 17796 17797FUNCTION dot_product 17798 (arg1: direction; arg2: direction) : REAL; 17799 LOCAL 17800 scalar : REAL; 17801 vec1, vec2: direction; 17802 ndim : INTEGER; 17803 END_LOCAL; 17804 17805 IF NOT EXISTS (arg1) OR NOT EXISTS (arg2) THEN 17806 scalar := ?; 17807 (* When function is called with invalid data an indeterminate result 17808 is returned *) 17809 ELSE 17810 IF (arg1.dim <> arg2.dim) THEN 17811 scalar := ?; 17812 (* When function is called with invalid data an indeterminate result 17813 is returned *) 17814 ELSE 17815 BEGIN 17816 vec1 := normalise(arg1); 17817 vec2 := normalise(arg2); 17818 ndim := arg1.dim; 17819 scalar := 0.0; 17820 REPEAT i := 1 TO ndim; 17821 scalar := scalar + 17822 vec1.direction_ratios[i]*vec2.direction_ratios[i]; 17823 END_REPEAT; 17824 END; 17825 END_IF; 17826 END_IF; 17827 RETURN (scalar); 17828END_FUNCTION; 17829 17830FUNCTION edge_reversed 17831 (an_edge: edge) : oriented_edge; 17832 LOCAL 17833 the_reverse : oriented_edge; 17834 END_LOCAL; 17835 17836 IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_EDGE' IN TYPEOF (an_edge) ) THEN 17837 the_reverse := dummy_tri || 17838 edge(an_edge.edge_end, an_edge.edge_start) || 17839 oriented_edge(an_edge\oriented_edge.edge_element, 17840 NOT (an_edge\oriented_edge.orientation)) ; 17841 ELSE 17842 the_reverse := dummy_tri || 17843 edge(an_edge.edge_end, an_edge.edge_start) || 17844 oriented_edge(an_edge, FALSE); 17845 END_IF; 17846 RETURN (the_reverse); 17847END_FUNCTION; 17848 17849FUNCTION external_version_assignment_is_valid 17850 (aia: applied_external_identification_assignment) : BOOLEAN; 17851 LOCAL 17852 item: identification_item; 17853 role: identification_role; 17854 END_LOCAL; 17855 role:= aia.role; 17856 IF role.name='version' THEN 17857 REPEAT i:=LOINDEX(aia.items) TO HIINDEX(aia.items); 17858 item:= aia.items[i]; 17859 IF (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EXTERNALLY_VERSIONED_ITEM']*TYPEOF(item))=0) THEN 17860 -- item invalid if item does not belong to versionable types 17861 RETURN(FALSE); 17862 END_IF; 17863 END_REPEAT; 17864 RETURN(TRUE); 17865 ELSE -- case where aia does not convey a version id 17866 RETURN(TRUE); 17867 END_IF; 17868END_FUNCTION; 17869 17870FUNCTION face_bound_reversed 17871 (a_face_bound: face_bound) : face_bound; 17872 LOCAL 17873 the_reverse : face_bound ; 17874 END_LOCAL; 17875 IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF (a_face_bound) ) THEN 17876 the_reverse := dummy_tri || 17877 face_bound(a_face_bound\face_bound.bound, 17878 NOT (a_face_bound\face_bound.orientation)) 17879 || face_outer_bound() ; 17880 ELSE 17881 the_reverse := dummy_tri || 17882 face_bound(a_face_bound.bound, NOT(a_face_bound.orientation)); 17883 END_IF; 17884 RETURN (the_reverse); 17885END_FUNCTION; 17886 17887FUNCTION face_reversed 17888 (a_face: face) : oriented_face; 17889 LOCAL 17890 the_reverse : oriented_face ; 17891 END_LOCAL; 17892 IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF (a_face) ) THEN 17893 the_reverse := dummy_tri || 17894 face(set_of_topology_reversed(a_face.bounds)) || 17895 oriented_face(a_face\oriented_face.face_element, 17896 NOT (a_face\oriented_face.orientation)) ; 17897 ELSE 17898 the_reverse := dummy_tri || 17899 face(set_of_topology_reversed(a_face.bounds)) || 17900 oriented_face(a_face, FALSE) ; 17901 END_IF; 17902 RETURN (the_reverse); 17903END_FUNCTION; 17904 17905FUNCTION first_proj_axis 17906 (z_axis: direction; arg: direction) : direction; 17907 LOCAL 17908 x_axis : direction; 17909 v : direction; 17910 z : direction; 17911 x_vec : vector; 17912 END_LOCAL; 17913 17914 IF (NOT EXISTS(z_axis)) THEN 17915 RETURN (?) ; 17916 ELSE 17917 z := normalise(z_axis); 17918 IF NOT EXISTS(arg) THEN 17919 IF ((z.direction_ratios <> [1.0,0.0,0.0]) AND 17920 (z.direction_ratios <> [-1.0,0.0,0.0])) THEN 17921 v := dummy_gri || direction([1.0,0.0,0.0]); 17922 ELSE 17923 v := dummy_gri || direction([0.0,1.0,0.0]); 17924 END_IF; 17925 ELSE 17926 IF (arg.dim <> 3) THEN 17927 RETURN (?) ; 17928 END_IF; 17929 IF ((cross_product(arg,z).magnitude) = 0.0) THEN 17930 RETURN (?); 17931 ELSE 17932 v := normalise(arg); 17933 END_IF; 17934 END_IF; 17935 x_vec := scalar_times_vector(dot_product(v, z), z); 17936 x_axis := vector_difference(v, x_vec).orientation; 17937 x_axis := normalise(x_axis); 17938 END_IF; 17939 RETURN(x_axis); 17940END_FUNCTION; 17941 17942FUNCTION gbsf_check_curve 17943 (cv: representation_item) : BOOLEAN; 17944IF SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN 17945 RETURN (FALSE); 17946 END_IF; 17947 IF SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE'] * TYPEOF(cv)) = 1 THEN 17948 RETURN (TRUE); 17949 ELSE 17950 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF(cv)) AND (cv\b_spline_curve.self_intersect = FALSE) OR (cv\b_spline_curve.self_intersect = UNKNOWN)) THEN 17951 RETURN (TRUE); 17952 ELSE 17953 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF(cv)) AND (cv\composite_curve.self_intersect = FALSE) OR (cv\composite_curve.self_intersect = UNKNOWN)) THEN 17954 RETURN (SIZEOF(QUERY(seg <* cv\composite_curve.segments | NOT (gbsf_check_curve(seg.parent_curve)))) = 0); 17955 ELSE 17956 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN 17957 RETURN (gbsf_check_curve(cv\curve_replica.parent_curve)); 17958 ELSE 17959 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF(cv)) AND ((cv\offset_curve_3d.self_intersect = FALSE) OR (cv\offset_curve_3d.self_intersect = UNKNOWN)) AND (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF(cv\offset_curve_3d.basis_curve)))) THEN 17960 RETURN (gbsf_check_curve(cv\offset_curve_3d.basis_curve)); 17961 ELSE 17962 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(cv) THEN 17963 RETURN ((gbsf_check_curve(cv\pcurve.reference_to_curve\representation.items[1])) AND (gbsf_check_surface(cv\pcurve.basis_surface))); 17964 ELSE 17965 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN 17966 IF (SIZEOF(cv\polyline.points) >= 3) THEN 17967 RETURN (TRUE); 17968 END_IF; 17969 ELSE 17970 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN 17971 IF gbsf_check_curve(cv\surface_curve.curve_3d) THEN 17972 REPEAT i := 1 TO SIZEOF(cv\surface_curve.associated_geometry); 17973 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF(cv\surface_curve.associated_geometry[i]) THEN 17974 IF NOT gbsf_check_surface(cv\surface_curve.associated_geometry[i]) THEN 17975 RETURN (FALSE); 17976 END_IF; 17977 ELSE 17978 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(cv\surface_curve.associated_geometry[i]) THEN 17979 IF NOT gbsf_check_curve(cv\surface_curve.associated_geometry[i]) THEN 17980 RETURN (FALSE); 17981 END_IF; 17982 END_IF; 17983 END_IF; 17984 END_REPEAT; 17985 RETURN (TRUE); 17986 END_IF; 17987 END_IF; 17988 END_IF; 17989 END_IF; 17990 END_IF; 17991 END_IF; 17992 END_IF; 17993 END_IF; 17994 END_IF; 17995 RETURN (FALSE); 17996END_FUNCTION; 17997 17998FUNCTION gbsf_check_point 17999 (pnt: point) : BOOLEAN; 18000IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF(pnt) THEN 18001 RETURN (TRUE); 18002 ELSE 18003 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' IN TYPEOF(pnt) THEN 18004 RETURN (gbsf_check_curve(pnt\point_on_curve.basis_curve)); 18005 ELSE 18006 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE' IN TYPEOF(pnt) THEN 18007 RETURN (gbsf_check_surface(pnt\point_on_surface.basis_surface)); 18008 ELSE 18009 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE' IN TYPEOF(pnt) THEN 18010 RETURN ((gbsf_check_curve(pnt\degenerate_pcurve.reference_to_curve\representation.items[1])) AND (gbsf_check_surface(pnt\degenerate_pcurve.basis_surface))); 18011 END_IF; 18012 END_IF; 18013 END_IF; 18014 END_IF; 18015 RETURN (FALSE); 18016END_FUNCTION; 18017 18018FUNCTION gbsf_check_surface 18019 (sf: surface) : BOOLEAN; 18020IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(sf)) AND (sf\b_spline_surface.self_intersect = FALSE) OR (sf\b_spline_surface.self_intersect = UNKNOWN)) THEN 18021 RETURN (TRUE); 18022 ELSE 18023 IF SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPHERICAL_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TOROIDAL_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_TRIMMED_SURFACE'] * TYPEOF(sf)) = 1 THEN 18024 RETURN (TRUE); 18025 ELSE 18026 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF(sf)) AND (sf\offset_surface.self_intersect = FALSE) OR (sf\offset_surface.self_intersect = UNKNOWN)) THEN 18027 RETURN (gbsf_check_surface(sf\offset_surface.basis_surface)); 18028 ELSE 18029 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_COMPOSITE_SURFACE' IN TYPEOF(sf) THEN 18030 REPEAT i := 1 TO SIZEOF(sf\rectangular_composite_surface.segments); 18031 REPEAT j := 1 TO SIZEOF(sf\rectangular_composite_surface.segments[i]); 18032 IF NOT (gbsf_check_surface(sf\rectangular_composite_surface.segments[i][j].parent_surface)) THEN 18033 RETURN (FALSE); 18034 END_IF; 18035 END_REPEAT; 18036 END_REPEAT; 18037 RETURN (TRUE); 18038 ELSE 18039 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF(sf) THEN 18040 RETURN (gbsf_check_surface(sf\surface_replica.parent_surface)); 18041 ELSE 18042 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF(sf) THEN 18043 RETURN (gbsf_check_curve(sf\swept_surface.swept_curve)); 18044 END_IF; 18045 END_IF; 18046 END_IF; 18047 END_IF; 18048 END_IF; 18049 END_IF; 18050 RETURN (FALSE); 18051END_FUNCTION; 18052 18053FUNCTION get_basis_surface 18054 (c: curve_on_surface) : SET [0:2] OF surface; 18055 LOCAL 18056 surfs : SET[0:2] OF surface; 18057 n : INTEGER; 18058 END_LOCAL; 18059 surfs := []; 18060 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF (c) THEN 18061 surfs := [c\pcurve.basis_surface]; 18062 ELSE 18063 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF (c) THEN 18064 n := SIZEOF(c\surface_curve.associated_geometry); 18065 REPEAT i := 1 TO n; 18066 surfs := surfs + 18067 associated_surface(c\surface_curve.associated_geometry[i]); 18068 END_REPEAT; 18069 END_IF; 18070 END_IF; 18071 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF (c) THEN 18072 (* For a composite_curve_on_surface the basis_surface is the intersection 18073 of the basis_surfaces of all the segments. *) 18074 n := SIZEOF(c\composite_curve.segments); 18075 surfs := get_basis_surface( 18076 c\composite_curve.segments[1].parent_curve); 18077 IF n > 1 THEN 18078 REPEAT i := 2 TO n; 18079 surfs := surfs * get_basis_surface( 18080 c\composite_curve.segments[i].parent_curve); 18081 END_REPEAT; 18082 END_IF; 18083 18084 END_IF; 18085 RETURN(surfs); 18086END_FUNCTION; 18087 18088FUNCTION get_description_value 18089 (obj: description_attribute_select) : text; 18090 LOCAL 18091 description_bag : BAG OF description_attribute := (USEDIN(obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + 'DESCRIBED_ITEM')); 18092 END_LOCAL; 18093 18094 IF SIZEOF(description_bag) = 1 THEN 18095 RETURN (description_bag[1].attribute_value); 18096 ELSE 18097 RETURN (?); 18098 END_IF; 18099END_FUNCTION; 18100 18101FUNCTION get_id_value 18102 (obj: id_attribute_select) : identifier; 18103 LOCAL 18104 id_bag : BAG OF id_attribute := (USEDIN(obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + 'IDENTIFIED_ITEM')); 18105 END_LOCAL; 18106 18107 IF SIZEOF(id_bag) = 1 THEN 18108 RETURN (id_bag[1].attribute_value); 18109 ELSE 18110 RETURN (?); 18111 END_IF; 18112END_FUNCTION; 18113 18114FUNCTION get_name_value 18115 (obj: name_attribute_select) : label; 18116 LOCAL 18117 name_bag : BAG OF name_attribute := (USEDIN(obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + 'NAMED_ITEM')); 18118 END_LOCAL; 18119 18120 IF SIZEOF(name_bag) = 1 THEN 18121 RETURN (name_bag[1].attribute_value); 18122 ELSE 18123 RETURN (?); 18124 END_IF; 18125END_FUNCTION; 18126 18127FUNCTION get_role 18128 (obj: role_select) : object_role; 18129 LOCAL 18130 role_bag : BAG OF role_association := (USEDIN(obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + 'ITEM_WITH_ROLE')); 18131 END_LOCAL; 18132 18133 IF SIZEOF(role_bag) = 1 THEN 18134 RETURN (role_bag[1].role); 18135 ELSE 18136 RETURN (?); 18137 END_IF; 18138END_FUNCTION; 18139 18140FUNCTION get_shape_aspect_property_definition_representations 18141 (s_a_instance: shape_aspect) : SET [0:?] OF property_definition_representation; 18142LOCAL 18143pd_set : SET OF property_definition := []; 18144pdr_set : SET OF property_definition_representation := [] ; 18145END_LOCAL; 18146pd_set := bag_to_set(USEDIN(s_a_instance, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')); 18147IF (SIZEOF(pd_set) < 1) THEN 18148RETURN (pdr_set); 18149END_IF; 18150REPEAT i := 1 TO HIINDEX(pd_set); 18151pdr_set := pdr_set + (QUERY(pdr <* USEDIN(pd_set[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'DEFINITION') | 18152'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr))); 18153END_REPEAT; 18154RETURN (pdr_set); 18155END_FUNCTION; 18156 18157FUNCTION is_acyclic 18158 (arg: generic_expression) : BOOLEAN; 18159RETURN (acyclic (arg, [])); 18160END_FUNCTION; 18161 18162FUNCTION is_int_expr 18163 (arg: numeric_expression) : LOGICAL; 18164LOCAL 18165 i: INTEGER := 0; 18166END_LOCAL; 18167 18168IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_LITERAL' IN TYPEOF(arg) 18169THEN 18170 RETURN (TRUE); 18171END_IF; 18172IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REAL_LITERAL' IN TYPEOF(arg) 18173THEN 18174 RETURN (FALSE); 18175END_IF; 18176IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF(arg) 18177THEN 18178 RETURN (TRUE); 18179END_IF; 18180IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF(arg) 18181THEN 18182 RETURN (FALSE); 18183END_IF; 18184IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg) 18185THEN 18186 RETURN (is_int_expr(arg\unary_numeric_expression.operand)); 18187END_IF; 18188IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg) 18189THEN 18190 RETURN (is_int_expr(arg\unary_numeric_expression.operand)); 18191END_IF; 18192IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg)) 18193 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COS_FUNCTION' IN TYPEOF(arg)) 18194 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg)) 18195 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg)) 18196 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg)) 18197 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg)) 18198 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg)) 18199 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg)) 18200 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg)) 18201 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg)) 18202 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_ROOT_FUNCTION' 18203 IN TYPEOF(arg)) 18204THEN 18205 RETURN (FALSE); 18206END_IF; 18207IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg)) 18208 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULT_EXPRESSION' 18209 IN TYPEOF(arg)) 18210 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAXIMUM_FUNCTION' 18211 IN TYPEOF(arg)) 18212 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINIMUM_FUNCTION' 18213 IN TYPEOF(arg)) 18214THEN 18215 REPEAT i :=1 TO SIZEOF ( 18216 arg\multiple_arity_numeric_expression.operands); 18217 IF NOT 18218 is_int_expr(arg\multiple_arity_numeric_expression.operands[i]) 18219 THEN 18220 RETURN (FALSE); 18221 END_IF; 18222 END_REPEAT; 18223 RETURN (TRUE); 18224END_IF; 18225IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg)) 18226 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POWER_EXPRESSION' 18227 IN TYPEOF(arg)) 18228THEN 18229 RETURN (is_int_expr(arg\binary_numeric_expression.operands[1]) 18230 AND is_int_expr(arg\binary_numeric_expression.operands[2])); 18231END_IF; 18232IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg)) 18233 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg)) 18234THEN 18235 RETURN(TRUE); 18236END_IF; 18237IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLASH_EXPRESSION' IN TYPEOF(arg) 18238THEN 18239 RETURN (FALSE); 18240END_IF; 18241IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_FUNCTION' IN TYPEOF(arg) 18242THEN 18243 RETURN (TRUE); 18244END_IF; 18245IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg) 18246THEN 18247 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_VALUE_FUNCTION' 18248 IN TYPEOF(arg) 18249 THEN 18250 RETURN (TRUE); 18251 ELSE 18252 RETURN (FALSE); 18253 END_IF; 18254END_IF; 18255IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INTEGER_DEFINED_FUNCTION' 18256 IN TYPEOF(arg) 18257THEN 18258 RETURN(TRUE) ; 18259END_IF; 18260IF'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REAL_DEFINED_FUNCTION' IN TYPEOF(arg) 18261THEN 18262 RETURN(FALSE) ; 18263END_IF ; 18264IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_DEFINED_FUNCTION' 18265 IN TYPEOF(arg) 18266THEN 18267 RETURN(FALSE) ; 18268END_IF ; 18269IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_DEFINED_FUNCTION' 18270 IN TYPEOF(arg) 18271THEN 18272 RETURN (FALSE) ; 18273END_IF ; 18274 18275RETURN (FALSE); 18276END_FUNCTION; 18277 18278FUNCTION is_SQL_mappable 18279 (arg: expression) : LOGICAL; 18280LOCAL 18281 i: INTEGER; 18282END_LOCAL; 18283 18284IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMPLE_NUMERIC_EXPRESSION' 18285 IN TYPEOF (arg) 18286THEN 18287 RETURN (TRUE); 18288END_IF; 18289IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQL_MAPPABLE_DEFINED_FUNCTION' 18290 IN TYPEOF (arg) 18291THEN 18292 RETURN (TRUE); 18293END_IF; 18294IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg) 18295THEN 18296 RETURN (is_SQL_mappable(arg\unary_numeric_expression.operand)); 18297END_IF; 18298IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg)) 18299 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg)) 18300 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COS_FUNCTION' IN TYPEOF(arg)) 18301 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg)) 18302 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg)) 18303 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg)) 18304 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg)) 18305 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg)) 18306 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg)) 18307 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg)) 18308 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg)) 18309 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_ROOT_FUNCTION' 18310 IN TYPEOF(arg)) 18311 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg)) 18312 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_FUNCTION' 18313 IN TYPEOF(arg)) 18314THEN 18315 RETURN (FALSE); 18316END_IF; 18317IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg)) 18318 OR('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULT_EXPRESSION' IN TYPEOF(arg)) 18319 OR('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAXIMUM_FUNCTION' 18320 IN TYPEOF(arg)) 18321 OR('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINIMUM_FUNCTION' 18322 IN TYPEOF(arg)) 18323THEN 18324 REPEAT i :=1 TO SIZEOF ( 18325 arg\multiple_arity_numeric_expression.operands); 18326 IF NOT is_SQL_mappable( 18327 arg\multiple_arity_numeric_expression.operands[i]) 18328 THEN 18329 RETURN (FALSE); 18330 END_IF; 18331 END_REPEAT; 18332RETURN (TRUE); 18333END_IF; 18334IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg)) 18335 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLASH_EXPRESSION' IN 18336 TYPEOF(arg)) 18337THEN 18338 RETURN (is_SQL_mappable( 18339 arg\binary_numeric_expression.operands[1]) 18340 AND is_SQL_mappable(arg\binary_numeric_expression.operands[2])); 18341END_IF; 18342IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg)) 18343 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg)) 18344 OR('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POWER_EXPRESSION' 18345 IN TYPEOF(arg)) 18346THEN 18347 RETURN (FALSE); 18348END_IF; 18349IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMPLE_BOOLEAN_EXPRESSION' 18350 IN TYPEOF (arg) 18351THEN 18352 RETURN (TRUE); 18353END_IF; 18354IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NOT_EXPRESSION' IN TYPEOF (arg) 18355THEN 18356 RETURN (is_SQL_mappable (arg\UNARY_GENERIC_EXPRESSION.OPERAND)); 18357END_IF; 18358IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ODD_FUNCTION'IN TYPEOF (arg)) 18359 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.XOR_EXPRESSION' 18360 IN TYPEOF (arg)) 18361THEN 18362 RETURN (FALSE); 18363END_IF; 18364IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AND_EXPRESSION' IN TYPEOF (arg)) 18365 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OR_EXPRESSION' IN TYPEOF (arg)) 18366THEN 18367 REPEAT i:=1 TO SIZEOF ( 18368 arg\MULTIPLE_ARITY_BOOLEAN_EXPRESSION.OPERANDS); 18369 IF NOT is_SQL_mappable ( 18370 arg\MULTIPLE_ARITY_BOOLEAN_EXPRESSION.OPERANDS[i]) 18371 THEN 18372 RETURN (FALSE); 18373 END_IF; 18374 END_REPEAT; 18375 RETURN (TRUE); 18376END_IF; 18377IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EQUALS_EXPRESSION' IN TYPEOF (arg) 18378THEN 18379 RETURN(is_SQL_mappable ( 18380 arg\BINARY_GENERIC_EXPRESSION.OPERANDS [1]) 18381 AND is_SQL_mappable( 18382 arg\BINARY_GENERIC_EXPRESSION.OPERANDS [2])); 18383END_IF; 18384IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_EQUAL' IN TYPEOF (arg)) 18385 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_GREATER' 18386 IN TYPEOF (arg)) 18387 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_GREATER_EQUAL' 18388 IN TYPEOF (arg)) 18389 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_LESS' 18390 IN TYPEOF (arg)) 18391 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_LESS_EQUAL' 18392 IN TYPEOF (arg)) 18393 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_NOT_EQUAL' 18394 IN TYPEOF (arg)) 18395 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LIKE_EXPRESSION' 18396 IN TYPEOF (arg)) 18397THEN 18398 RETURN (is_SQL_mappable (arg\COMPARISON_EXPRESSION.OPERANDS[1]) 18399 AND is_SQL_mappable (arg\COMPARISON_EXPRESSION.OPERANDS[2])); 18400END_IF; 18401IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INTERVAL_EXPRESSION' IN TYPEOF(arg) 18402THEN 18403 RETURN (is_SQL_mappable(arg\interval_expression.interval_low) 18404 AND is_SQL_mappable(arg\interval_expression.interval_high) 18405 AND is_SQL_mappable(arg\interval_expression.interval_item)); 18406END_IF; 18407IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_DEFINED_FUNCTION' 18408 IN TYPEOF(arg)) 18409 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_DEFINED_FUNCTION' 18410 IN TYPEOF(arg)) 18411 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_DEFINED_FUNCTION' 18412 IN TYPEOF(arg)) 18413THEN 18414 RETURN (FALSE) ; 18415END_IF; 18416 18417IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMPLE_STRING_EXPRESSION' 18418 IN TYPEOF(ARG) 18419THEN 18420 RETURN (TRUE); 18421END_IF; 18422IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INDEX_EXPRESSION' IN TYPEOF(arg)) 18423 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBSTRING_EXPRESSION' 18424 IN TYPEOF(arg)) 18425 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONCAT_EXPRESSION' 18426 IN TYPEOF(arg)) 18427 OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FORMAT_FUNCTION' 18428 IN TYPEOF(arg)) 18429THEN 18430 RETURN (FALSE); 18431END_IF; 18432 18433 RETURN (FALSE); 18434END_FUNCTION; 18435 18436FUNCTION item_in_context 18437 (item: representation_item; cntxt: representation_context) : BOOLEAN; 18438 LOCAL 18439 y : BAG OF representation_item; 18440 END_LOCAL; 18441 -- If there is one or more representation using both the item 18442 -- and cntxt return true. 18443 IF SIZEOF(USEDIN(item,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS') 18444 * cntxt.representations_in_context) > 0 THEN 18445 RETURN (TRUE); 18446 -- Determine the bag of representation_items that reference 18447 -- item 18448 ELSE y := QUERY(z <* USEDIN (item , '') | 18449 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z)); 18450 -- Ensure that the bag is not empty 18451 IF SIZEOF(y) > 0 THEN 18452 -- For each element in the bag 18453 REPEAT i := 1 TO HIINDEX(y); 18454 -- Check to see it is an item in the input cntxt. 18455 IF item_in_context(y[i], cntxt) THEN 18456 RETURN (TRUE); 18457 END_IF; 18458 END_REPEAT; 18459 END_IF; 18460 END_IF; 18461 -- Return false when all possible branches have been checked 18462 -- with no success. 18463 RETURN (FALSE); 18464END_FUNCTION; 18465 18466FUNCTION leap_year 18467 (year: year_number) : BOOLEAN; 18468IF ((((year MOD 4) = 0) AND ((year MOD 100) <> 0)) OR ((year MOD 400) = 0)) THEN 18469 RETURN (TRUE); 18470 ELSE 18471 RETURN (FALSE); 18472 END_IF; 18473END_FUNCTION; 18474 18475FUNCTION list_face_loops 18476 (f: face) : LIST [0:?] OF loop; 18477 LOCAL 18478 loops : LIST[0:?] OF loop := []; 18479 END_LOCAL; 18480 18481 REPEAT i := 1 TO SIZEOF(f.bounds); 18482 loops := loops +(f.bounds[i].bound); 18483 END_REPEAT; 18484 18485 RETURN(loops); 18486END_FUNCTION; 18487 18488FUNCTION list_of_topology_reversed 18489 (a_list: list_of_reversible_topology_item) : list_of_reversible_topology_item; 18490 LOCAL 18491 the_reverse : list_of_reversible_topology_item; 18492 END_LOCAL; 18493 18494 the_reverse := []; 18495 REPEAT i := 1 TO SIZEOF (a_list); 18496 the_reverse := topology_reversed (a_list [i]) + the_reverse; 18497 END_REPEAT; 18498 18499 RETURN (the_reverse); 18500END_FUNCTION; 18501 18502FUNCTION list_to_array 18503 (lis: LIST [0:?] OF GENERIC: T; low: INTEGER; u: INTEGER) : ARRAY [low:u] OF GENERIC: T; 18504 LOCAL 18505 n : INTEGER; 18506 res : ARRAY [low:u] OF GENERIC : T; 18507 END_LOCAL; 18508 18509 n := SIZEOF(lis); 18510 IF (n <> (u-low +1)) THEN 18511 RETURN(?); 18512 ELSE 18513 res := [lis[1] : n]; 18514 REPEAT i := 2 TO n; 18515 res[low+i-1] := lis[i]; 18516 END_REPEAT; 18517 RETURN(res); 18518 END_IF; 18519END_FUNCTION; 18520 18521FUNCTION list_to_set 18522 (l: LIST [0:?] OF GENERIC: T) : SET [0:?] OF GENERIC: T; 18523 LOCAL 18524 s : SET OF GENERIC:T := []; 18525 END_LOCAL; 18526 18527 REPEAT i := 1 TO SIZEOF(l); 18528 s := s + l[i]; 18529 END_REPEAT; 18530 18531 RETURN(s); 18532END_FUNCTION; 18533 18534FUNCTION make_array_of_array 18535 (lis: LIST [1:?] OF LIST [1:?] OF GENERIC: T; low1: INTEGER; u1: INTEGER; low2: INTEGER; u2: INTEGER) : ARRAY [low1:u1] OF ARRAY [low2:u2] OF GENERIC: T; 18536 LOCAL 18537 res : ARRAY[low1:u1] OF ARRAY [low2:u2] OF GENERIC : T; 18538 END_LOCAL; 18539 18540(* Check input dimensions for consistency *) 18541 IF (u1-low1+1) <> SIZEOF(lis) THEN 18542 RETURN (?); 18543 END_IF; 18544 IF (u2 - low2 + 1 ) <> SIZEOF(lis[1]) THEN 18545 RETURN (?) ; 18546 END_IF; 18547(* Initialise res with values from lis[1] *) 18548 res := [list_to_array(lis[1], low2, u2) : (u1-low1 + 1)]; 18549 REPEAT i := 2 TO HIINDEX(lis); 18550 IF (u2-low2+1) <> SIZEOF(lis[i]) THEN 18551 RETURN (?); 18552 END_IF; 18553 res[low1+i-1] := list_to_array(lis[i], low2, u2); 18554 END_REPEAT; 18555 18556 RETURN (res); 18557END_FUNCTION; 18558 18559FUNCTION mixed_loop_type_set 18560 (l: SET [0:?] OF loop) : LOGICAL; 18561 LOCAL 18562 poly_loop_type: LOGICAL; 18563 END_LOCAL; 18564 IF(SIZEOF(l) <= 1) THEN 18565 RETURN(FALSE); 18566 END_IF; 18567 poly_loop_type := ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLY_LOOP' IN TYPEOF(l[1])); 18568 REPEAT i := 2 TO SIZEOF(l); 18569 IF(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLY_LOOP' IN TYPEOF(l[i])) <> poly_loop_type) 18570 THEN 18571 RETURN(TRUE); 18572 END_IF; 18573 END_REPEAT; 18574 RETURN(FALSE); 18575END_FUNCTION; 18576 18577FUNCTION msb_shells 18578 (brep: manifold_solid_brep) : SET [1:?] OF closed_shell; 18579 LOCAL 18580 return_set: SET[1:?] OF closed_shell := [brep.outer]; 18581 END_LOCAL; 18582 18583 IF SIZEOF(QUERY(msbtype <* TYPEOF(brep) | 18584 msbtype LIKE '*BREP_WITH_VOIDS')) >= 1 18585 THEN 18586 return_set := return_set + brep\brep_with_voids.voids; 18587 END_IF; 18588 RETURN(return_set); 18589END_FUNCTION; 18590 18591FUNCTION msf_curve_check 18592 (cv: representation_item) : BOOLEAN; 18593IF SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE', 18594 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 18595 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 18596 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN 18597 RETURN(FALSE); 18598END_IF; 18599 18600(* b_spline_curves shall not self-intersect 18601 *) 18602IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (cv)) AND 18603 (cv\b_spline_curve.self_intersect = FALSE)OR 18604 (cv\b_spline_curve.self_intersect = UNKNOWN)) THEN 18605 RETURN(TRUE); 18606ELSE 18607 18608 (* conics and lines are valid curve types 18609 *) 18610 IF SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE'] 18611 * TYPEOF (cv)) = 1 THEN 18612 RETURN(TRUE); 18613 ELSE 18614 18615 (* a curve_replica shall reference a valid curve 18616 *) 18617 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN 18618 RETURN (msf_curve_check(cv\curve_replica.parent_curve)); 18619 ELSE 18620 18621 (* an offset_curve_3d shall not self-intersect and 18622 shall reference a valid curve; a polyline is not a 18623 valid basis_curve 18624 *) 18625 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (cv)) 18626 AND 18627 ((cv\offset_curve_3d.self_intersect = FALSE) OR 18628 (cv\offset_curve_3d.self_intersect = UNKNOWN)) 18629 AND 18630 (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF 18631 (cv\offset_curve_3d.basis_curve)))) THEN 18632 RETURN (msf_curve_check(cv\offset_curve_3d.basis_curve)); 18633 ELSE 18634 18635 (* a pcurve shall reference a valid curve and a valid 18636 basis_surface 18637 *) 18638 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(cv) THEN 18639 RETURN ((msf_curve_check 18640 (cv\pcurve.reference_to_curve\representation.items[1])) AND 18641 (msf_surface_check(cv\pcurve.basis_surface))); 18642 ELSE 18643 18644 (* a surface_curve references a curve_3d and one or 18645 two pcurves or one or two surfaces or one of 18646 each; all of these references shall be valid 18647 *) 18648 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN 18649 18650 (* if the curve reference is correct, check also the rest 18651 *) 18652 IF msf_curve_check(cv\surface_curve.curve_3d) THEN 18653 REPEAT i := 1 TO SIZEOF 18654 (cv\surface_curve.associated_geometry); 18655 18656 (* do for one or two associated_geometrys: 18657 *) 18658 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN 18659 TYPEOF (cv\surface_curve.associated_geometry[i]) THEN 18660 IF NOT msf_surface_check 18661 (cv\surface_curve.associated_geometry[i]) THEN 18662 RETURN(FALSE); 18663 END_IF; 18664 ELSE 18665 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF 18666 (cv\surface_curve.associated_geometry[i]) THEN 18667 IF NOT msf_curve_check 18668 (cv\surface_curve.associated_geometry[i]) THEN 18669 RETURN(FALSE); 18670 END_IF; 18671 END_IF; 18672 END_IF; 18673 END_REPEAT; 18674 RETURN(TRUE); 18675 END_IF; 18676 ELSE 18677 18678 (* a polyline shall have at least 3 points 18679 *) 18680 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN 18681 IF (SIZEOF (cv\polyline.points) >= 3) THEN RETURN (TRUE); 18682 END_IF; 18683 END_IF; 18684 END_IF; 18685 END_IF; 18686 END_IF; 18687 END_IF; 18688 END_IF; 18689END_IF; 18690(* FALSE is returned if the input parameter cv is not a valid curve. 18691 *) 18692RETURN (FALSE); 18693END_FUNCTION; 18694 18695FUNCTION msf_surface_check 18696 (surf: surface) : BOOLEAN; 18697IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN 18698 RETURN(TRUE); 18699 ELSE 18700 18701 (* a swept_surface shall have a valid sweeping curve 18702 *) 18703 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (surf) THEN 18704 RETURN (msf_curve_check(surf\swept_surface.swept_curve)); 18705 ELSE 18706 18707 (* an offset_surface shall not self-intersect and shall 18708 reference a valid surface 18709 *) 18710 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF (surf)) AND 18711 (surf\offset_surface.self_intersect = FALSE) OR 18712 (surf\offset_surface.self_intersect = UNKNOWN)) THEN 18713 RETURN (msf_surface_check(surf\offset_surface.basis_surface)); 18714 ELSE 18715 18716 (* a surface_replica shall have a valid parent surface 18717 *) 18718 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF(surf) THEN 18719 RETURN(msf_surface_check(surf\surface_replica.parent_surface)); 18720 ELSE 18721 18722 (* a b_spline_surface shall not self-intersect 18723 *) 18724 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(surf)) AND 18725 (surf\b_spline_surface.self_intersect = FALSE) OR 18726 (surf\b_spline_surface.self_intersect = UNKNOWN)) THEN 18727 RETURN(TRUE); 18728 END_IF; 18729 END_IF; 18730 END_IF; 18731 END_IF; 18732 END_IF; 18733 RETURN(FALSE); 18734END_FUNCTION; 18735 18736FUNCTION nmsf_curve_check 18737 (cv: representation_item) : BOOLEAN; 18738IF SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE', 18739 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 18740 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA', 18741 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 18742 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 18743 THEN RETURN(FALSE); 18744 ELSE 18745 18746 (* b_spline_curves shall not self-intersect 18747 *) 18748 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (cv)) AND 18749 (cv\b_spline_curve.self_intersect = FALSE) OR 18750 (cv\b_spline_curve.self_intersect = UNKNOWN)) 18751 THEN RETURN(TRUE); 18752 ELSE 18753 18754 (* conics and lines are valid curve types 18755 *) 18756 IF SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 18757 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE'] * TYPEOF (cv)) = 1 THEN 18758 RETURN(TRUE); 18759 ELSE 18760 18761 (* a curve_replica shall reference a valid curve 18762 *) 18763 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN 18764 RETURN (nmsf_curve_check(cv\curve_replica.parent_curve)); 18765 ELSE 18766 18767 (* an offset_curve_3d shall not self-intersect and 18768 shall reference a valid curve; a polyline is not a 18769 valid basis_curve 18770 *) 18771 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (cv)) 18772 AND 18773 ((cv\offset_curve_3d.self_intersect = FALSE) OR 18774 (cv\offset_curve_3d.self_intersect = UNKNOWN)) 18775 AND 18776 (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF 18777 (cv\offset_curve_3d.basis_curve)))) THEN 18778 RETURN (nmsf_curve_check(cv\offset_curve_3d.basis_curve)); 18779 ELSE 18780 18781 (* a pcurve shall reference a valid curve and a valid 18782 basis_surface 18783 *) 18784 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(cv) THEN 18785 RETURN ((nmsf_curve_check 18786 (cv\pcurve.reference_to_curve\representation.items[1])) 18787 AND 18788 (nmsf_surface_check(cv\pcurve.basis_surface))); 18789 ELSE 18790 18791 (* a surface_curve references a curve_3d and one or 18792 two pcurves or one or two surfaces or one of 18793 each; all of these references shall be valid 18794 *) 18795 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN 18796 18797 (* if the curve reference is correct, check also the rest 18798 *) 18799 IF nmsf_curve_check(cv\surface_curve.curve_3d) THEN 18800 REPEAT i := 1 TO SIZEOF 18801 (cv\surface_curve.associated_geometry); 18802 18803 (* do for one or two associated_geometrys: 18804 *) 18805 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN 18806 TYPEOF (cv\surface_curve.associated_geometry[i]) THEN 18807 IF NOT nmsf_surface_check 18808 (cv\surface_curve.associated_geometry[i]) THEN 18809 RETURN(FALSE); 18810 END_IF; 18811 ELSE 18812 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF 18813 (cv\surface_curve.associated_geometry[i]) THEN 18814 IF NOT nmsf_curve_check 18815 (cv\surface_curve.associated_geometry[i]) THEN 18816 RETURN(FALSE); 18817 END_IF; 18818 END_IF; 18819 END_IF; 18820 END_REPEAT; 18821 RETURN(TRUE); 18822 END_IF; 18823 ELSE 18824 18825 (* a polyline shall have at least 3 points 18826 *) 18827 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN 18828 IF (SIZEOF (cv\polyline.points) >= 3) THEN RETURN (TRUE); 18829 END_IF; 18830 END_IF; 18831 END_IF; 18832 END_IF; 18833 END_IF; 18834 END_IF; 18835 END_IF; 18836 END_IF; 18837 END_IF; 18838 (* FALSE is returned if the input parameter cv is not a valid curve. 18839 *) 18840 RETURN (FALSE); 18841END_FUNCTION; 18842 18843FUNCTION nmsf_surface_check 18844 (surf: surface) : BOOLEAN; 18845IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN 18846 RETURN(TRUE); 18847 ELSE 18848 18849 (* a swept_surface shall have a valid sweeping curve 18850 *) 18851 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (surf) THEN 18852 RETURN (nmsf_curve_check(surf\swept_surface.swept_curve)); 18853 ELSE 18854 18855 (* an offset_surface shall not self-intersect and shall 18856 reference a valid surface 18857 *) 18858 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF (surf)) AND 18859 (surf\offset_surface.self_intersect = FALSE) OR 18860 (surf\offset_surface.self_intersect = UNKNOWN)) THEN 18861 RETURN (nmsf_surface_check(surf\offset_surface.basis_surface)); 18862 ELSE 18863 18864 (* a surface_replica shall have a valid parent surface 18865 *) 18866 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF(surf) THEN 18867 RETURN(nmsf_surface_check(surf\surface_replica.parent_surface)); 18868 ELSE 18869 18870 (* a b_spline_surface shall not self-intersect 18871 *) 18872 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(surf)) 18873 AND 18874 (surf\b_spline_surface.self_intersect = FALSE) OR 18875 (surf\b_spline_surface.self_intersect = UNKNOWN)) THEN 18876 RETURN(TRUE); 18877 END_IF; 18878 END_IF; 18879 END_IF; 18880 END_IF; 18881 END_IF; 18882 RETURN(FALSE); 18883END_FUNCTION; 18884 18885FUNCTION normalise 18886 (arg: vector_or_direction) : vector_or_direction; 18887 LOCAL 18888 ndim : INTEGER; 18889 v : direction; 18890 result : vector_or_direction; 18891 vec : vector; 18892 mag : REAL; 18893 END_LOCAL; 18894 18895 IF NOT EXISTS (arg) THEN 18896 result := ?; 18897 (* When function is called with invalid data a NULL result is returned *) 18898 ELSE 18899 ndim := arg.dim; 18900 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF(arg) THEN 18901 BEGIN 18902 v := dummy_gri || direction(arg\vector.orientation.direction_ratios); 18903 IF arg\vector.magnitude = 0.0 THEN 18904 RETURN(?); 18905 ELSE 18906 vec := dummy_gri || vector (v, 1.0); 18907 END_IF; 18908 END; 18909 ELSE 18910 v := dummy_gri || direction (arg.direction_ratios); 18911 END_IF; 18912 mag := 0.0; 18913 REPEAT i := 1 TO ndim; 18914 mag := mag + v.direction_ratios[i]*v.direction_ratios[i]; 18915 END_REPEAT; 18916 IF mag > 0.0 THEN 18917 mag := SQRT(mag); 18918 REPEAT i := 1 TO ndim; 18919 v.direction_ratios[i] := v.direction_ratios[i]/mag; 18920 END_REPEAT; 18921 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF(arg) THEN 18922 vec.orientation := v; 18923 result := vec; 18924 ELSE 18925 result := v; 18926 END_IF; 18927 ELSE 18928 RETURN(?); 18929 END_IF; 18930 END_IF; 18931 RETURN (result); 18932END_FUNCTION; 18933 18934FUNCTION open_path_based_inner_boundary 18935 (input: SET [0:?] OF primitive_2d) : BOOLEAN; 18936 LOCAL 18937 pass : BOOLEAN := TRUE; 18938 END_LOCAL; 18939 REPEAT i := 1 TO SIZEOF(input); 18940 IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_AREA_WITH_PARAMETERS' IN TYPEOF(input[i])) 18941 AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_CURVE' IN TYPEOF(input[i]\mapped_item.mapping_source)) 18942 THEN 18943 pass := FALSE; 18944 END_IF; 18945 END_REPEAT; 18946 RETURN(pass); 18947END_FUNCTION; 18948 18949FUNCTION open_shell_reversed 18950 (a_shell: open_shell) : oriented_open_shell; 18951 LOCAL 18952 the_reverse : oriented_open_shell; 18953 END_LOCAL; 18954 IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_OPEN_SHELL' IN TYPEOF (a_shell) ) THEN 18955 the_reverse := dummy_tri || 18956 connected_face_set ( 18957 a_shell\connected_face_set.cfs_faces) || 18958 open_shell () || oriented_open_shell( 18959 a_shell\oriented_open_shell.open_shell_element, 18960 (NOT (a_shell\oriented_open_shell.orientation))); 18961 ELSE 18962 the_reverse := dummy_tri || 18963 connected_face_set ( 18964 a_shell\connected_face_set.cfs_faces) || 18965 open_shell () || oriented_open_shell (a_shell, FALSE); 18966 END_IF; 18967 RETURN (the_reverse); 18968END_FUNCTION; 18969 18970FUNCTION orthogonal_complement 18971 (vec: direction) : direction; 18972 LOCAL 18973 result : direction ; 18974 END_LOCAL; 18975 18976 IF (vec.dim <> 2) OR NOT EXISTS (vec) THEN 18977 RETURN(?); 18978 ELSE 18979 result := dummy_gri || direction([-vec.direction_ratios[2], 18980 vec.direction_ratios[1]]); 18981 RETURN(result); 18982 END_IF; 18983END_FUNCTION; 18984 18985FUNCTION path_head_to_tail 18986 (a_path: path) : LOGICAL; 18987 LOCAL 18988 n : INTEGER; 18989 p : LOGICAL := TRUE; 18990 END_LOCAL; 18991 18992 n := SIZEOF (a_path.edge_list); 18993 REPEAT i := 2 TO n; 18994 p := p AND (a_path.edge_list[i-1].edge_end :=: 18995 a_path.edge_list[i].edge_start); 18996 END_REPEAT; 18997 18998 RETURN (p); 18999END_FUNCTION; 19000 19001FUNCTION path_reversed 19002 (a_path: path) : oriented_path; 19003 LOCAL 19004 the_reverse : oriented_path ; 19005 END_LOCAL; 19006 IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF (a_path) ) THEN 19007 the_reverse := dummy_tri || 19008 path(list_of_topology_reversed (a_path.edge_list)) || 19009 oriented_path(a_path\oriented_path.path_element, 19010 NOT(a_path\oriented_path.orientation)) ; 19011 ELSE 19012 the_reverse := dummy_tri || 19013 path(list_of_topology_reversed (a_path.edge_list)) || 19014 oriented_path(a_path, FALSE); 19015 END_IF; 19016 19017 RETURN (the_reverse); 19018END_FUNCTION; 19019 19020FUNCTION scalar_times_vector 19021 (scalar: REAL; vec: vector_or_direction) : vector; 19022 LOCAL 19023 v : direction; 19024 mag : REAL; 19025 result : vector; 19026 END_LOCAL; 19027 19028 IF NOT EXISTS (scalar) OR NOT EXISTS (vec) THEN 19029 RETURN (?) ; 19030 ELSE 19031 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF (vec) THEN 19032 v := dummy_gri || direction(vec\vector.orientation.direction_ratios); 19033 mag := scalar * vec\vector.magnitude; 19034 ELSE 19035 v := dummy_gri || direction(vec.direction_ratios); 19036 mag := scalar; 19037 END_IF; 19038 IF (mag < 0.0 ) THEN 19039 REPEAT i := 1 TO SIZEOF(v.direction_ratios); 19040 v.direction_ratios[i] := -v.direction_ratios[i]; 19041 END_REPEAT; 19042 mag := -mag; 19043 END_IF; 19044 result := dummy_gri || vector(normalise(v), mag); 19045 END_IF; 19046 RETURN (result); 19047END_FUNCTION; 19048 19049FUNCTION second_proj_axis 19050 (z_axis: direction; x_axis: direction; arg: direction) : direction; 19051 LOCAL 19052 y_axis : vector; 19053 v : direction; 19054 temp : vector; 19055 END_LOCAL; 19056 19057 IF NOT EXISTS(arg) THEN 19058 v := dummy_gri || direction([0.0,1.0,0.0]); 19059 ELSE 19060 v := arg; 19061 END_IF; 19062 19063 temp := scalar_times_vector(dot_product(v, z_axis), z_axis); 19064 y_axis := vector_difference(v, temp); 19065 temp := scalar_times_vector(dot_product(v, x_axis), x_axis); 19066 y_axis := vector_difference(y_axis, temp); 19067 y_axis := normalise(y_axis); 19068 RETURN(y_axis.orientation); 19069END_FUNCTION; 19070 19071FUNCTION set_of_topology_reversed 19072 (a_set: set_of_reversible_topology_item) : set_of_reversible_topology_item; 19073 LOCAL 19074 the_reverse : set_of_reversible_topology_item; 19075 END_LOCAL; 19076 19077 the_reverse := []; 19078 REPEAT i := 1 TO SIZEOF (a_set); 19079 the_reverse := the_reverse + topology_reversed (a_set [i]); 19080 END_REPEAT; 19081 19082 RETURN (the_reverse); 19083END_FUNCTION; 19084 19085FUNCTION shell_reversed 19086 (a_shell: shell) : shell; 19087IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_SHELL' IN TYPEOF (a_shell) ) THEN 19088 RETURN (open_shell_reversed (a_shell)); 19089 ELSE 19090 IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_SHELL' IN TYPEOF (a_shell) ) THEN 19091 RETURN (closed_shell_reversed (a_shell)); 19092 ELSE 19093 RETURN (?); 19094 END_IF; 19095 END_IF; 19096END_FUNCTION; 19097 19098FUNCTION surface_condition_correlation 19099 (pd: property_definition; rep: representation) : LOGICAL; 19100CASE pd.name OF 19101 'visual appearance', 'tactile appearance', 'contact ratio', 'hardness', 'treatment result', 'surface texture' : 19102 RETURN(pd.name = rep.name); 19103 OTHERWISE : RETURN(UNKNOWN); 19104 END_CASE; 19105END_FUNCTION; 19106 19107FUNCTION surface_weights_positive 19108 (b: rational_b_spline_surface) : BOOLEAN; 19109 LOCAL 19110 result : BOOLEAN := TRUE; 19111 END_LOCAL; 19112 19113 REPEAT i := 0 TO b.u_upper; 19114 REPEAT j := 0 TO b.v_upper; 19115 IF (b.weights[i][j] <= 0.0) THEN 19116 result := FALSE; 19117 RETURN(result); 19118 END_IF; 19119 END_REPEAT; 19120 END_REPEAT; 19121 RETURN(result); 19122END_FUNCTION; 19123 19124FUNCTION topology_reversed 19125 (an_item: reversible_topology) : reversible_topology; 19126IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE' IN TYPEOF (an_item)) THEN 19127 RETURN (edge_reversed (an_item)); 19128 END_IF; 19129 19130 IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH' IN TYPEOF (an_item)) THEN 19131 RETURN (path_reversed (an_item)); 19132 END_IF; 19133 19134 IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BOUND' IN TYPEOF (an_item)) THEN 19135 RETURN (face_bound_reversed (an_item)); 19136 END_IF; 19137 19138 IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE' IN TYPEOF (an_item)) THEN 19139 RETURN (face_reversed (an_item)); 19140 END_IF; 19141 19142 IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL' IN TYPEOF (an_item)) THEN 19143 RETURN (shell_reversed (an_item)); 19144 END_IF; 19145 19146 IF ('SET' IN TYPEOF (an_item)) THEN 19147 RETURN (set_of_topology_reversed (an_item)); 19148 END_IF; 19149 19150 IF ('LIST' IN TYPEOF (an_item)) THEN 19151 RETURN (list_of_topology_reversed (an_item)); 19152 END_IF; 19153 19154 RETURN (?); 19155END_FUNCTION; 19156 19157FUNCTION type_check_function 19158 (the_type: GENERIC; sub_names: SET [0:?] OF STRING; criterion: INTEGER) : LOGICAL; 19159IF ((NOT EXISTS(the_type)) OR (NOT ({0 <= criterion <= 3})) OR (SIZEOF(sub_names) = 0)) THEN 19160 RETURN (UNKNOWN); 19161 ELSE 19162 CASE criterion OF 19163 0: 19164 RETURN (SIZEOF(sub_names * TYPEOF(the_type)) > 0); 19165 1: 19166 RETURN (SIZEOF(sub_names * TYPEOF(the_type)) = 0); 19167 2: 19168 RETURN (SIZEOF(sub_names * TYPEOF(the_type)) = 1); 19169 3: 19170 RETURN (SIZEOF(sub_names * TYPEOF(the_type)) <= 1); 19171 END_CASE; 19172 END_IF; 19173END_FUNCTION; 19174 19175FUNCTION using_items 19176 (item: founded_item_select; checked_items: SET [0:?] OF founded_item_select) : SET [0:?] OF founded_item_select; 19177 LOCAL 19178 new_check_items : SET OF founded_item_select; 19179 result_items : SET OF founded_item_select; 19180 next_items : SET OF founded_item_select; 19181 END_LOCAL; 19182 result_items := []; 19183 new_check_items := checked_items + item; 19184 -- Find the set of representation_items or founded_items 19185 -- in which item is used directly. 19186 next_items := QUERY(z <* bag_to_set( USEDIN(item , '')) | 19187 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z)) OR 19188 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FOUNDED_ITEM' IN TYPEOF(z))); 19189 -- If the set of next_items is not empty; 19190 IF SIZEOF(next_items) > 0 THEN 19191 -- For each element in the set, find the using_items recursively 19192 REPEAT i := 1 TO HIINDEX(next_items); 19193 -- Check for loop in data model, i.e. one of the next_items 19194 -- occurred earlier in the set of check_items; 19195 IF NOT(next_items[i] IN new_check_items) THEN 19196 result_items := result_items + next_items[i] + 19197 using_items(next_items[i],new_check_items); 19198 END_IF; 19199 END_REPEAT; 19200 END_IF; 19201 -- return the set of representation_items or founded_items 19202 -- in which the input item is used directly and indirectly. 19203 RETURN (result_items); 19204END_FUNCTION; 19205 19206FUNCTION using_representations 19207 (item: founded_item_select) : SET [0:?] OF representation; 19208 LOCAL 19209 results : SET OF representation; 19210 result_bag : BAG OF representation; 19211 intermediate_items : SET OF founded_item_select; 19212 END_LOCAL; 19213 -- Find the representations in which the item is used and add to the 19214 -- results set. 19215 results := []; 19216 result_bag := USEDIN(item,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS'); 19217 IF SIZEOF(result_bag) > 0 THEN 19218 REPEAT i := 1 TO HIINDEX(result_bag); 19219 results := results + result_bag[i]; 19220 END_REPEAT; 19221 END_IF; 19222 -- Find all representation_items or founded_items 19223 -- by which item is referenced directly or indirectly. 19224 intermediate_items := using_items(item,[]); 19225 -- If the set of intermediate items is not empty; 19226 IF SIZEOF(intermediate_items) > 0 THEN 19227 -- For each element in the set, add the 19228 -- representations of that element. 19229 REPEAT i := 1 TO HIINDEX(intermediate_items); 19230 result_bag := USEDIN(intermediate_items[i], 19231 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS'); 19232 IF SIZEOF(result_bag) > 0 THEN 19233 REPEAT j := 1 TO HIINDEX(result_bag); 19234 results := results + result_bag[j]; 19235 END_REPEAT; 19236 END_IF; 19237 END_REPEAT; 19238 END_IF; 19239 -- Return the set of representation in which the input item is 19240 -- used directly and indirectly (through intervening 19241 -- representation_items or founded items). 19242 RETURN (results); 19243END_FUNCTION; 19244 19245FUNCTION valid_2d_wireframe_edge_curve 19246 (crv: curve; schma: STRING) : BOOLEAN; 19247IF SIZEOF ([schma + '.LINE', 19248 schma + '.B_SPLINE_CURVE', 19249 schma + '.CIRCLE', 19250 schma + '.HYPERBOLA', 19251 schma + '.ELLIPSE', 19252 schma + '.PARABOLA', 19253 schma + '.POLYLINE'] * TYPEOF (crv)) = 1 19254 THEN RETURN (TRUE); 19255 ELSE 19256 -- recursively check for valid basic curves for curve_replicas 19257 IF (schma + '.CURVE_REPLICA') IN TYPEOF (crv) 19258 THEN RETURN (valid_2d_wireframe_edge_curve 19259 (crv\curve_replica.parent_curve, schma)); 19260 -- recursively check for valid basis curves for offset_curves 19261 ELSE 19262 IF (schma + '.OFFSET_CURVE_2D') IN TYPEOF (crv) 19263 THEN RETURN (valid_2d_wireframe_edge_curve 19264 (crv\offset_curve_2d.basis_curve, schma)); 19265 END_IF; 19266 END_IF; 19267 END_IF; 19268 RETURN (FALSE); 19269END_FUNCTION; 19270 19271FUNCTION valid_basis_curve_in_2d_wireframe 19272 (crv: curve) : BOOLEAN; 19273IF SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', 19274 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', 19275 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE', 19276 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE'] * 19277 TYPEOF (crv)) = 1 19278 THEN RETURN (TRUE); 19279 ELSE 19280 -- if the curve is a trimmed_curve 19281 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE') 19282 IN TYPEOF (crv)) THEN 19283 -- if a line, parabola, or hyperbola is being trimmed, then valid 19284 IF SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 19285 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARABOLA', 19286 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HYPERBOLA'] * 19287 TYPEOF(crv\trimmed_curve.basis_curve)) = 1 19288 THEN RETURN (TRUE); 19289 -- otherwise, recursively check basis_curve 19290 ELSE RETURN (valid_basis_curve_in_2d_wireframe 19291 (crv\trimmed_curve.basis_curve)); 19292 END_IF; 19293 ELSE 19294 -- recursively check the offset_curve basis curve 19295 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_2D') 19296 IN TYPEOF (crv)) 19297 THEN RETURN (valid_basis_curve_in_2d_wireframe 19298 (crv\offset_curve_2d.basis_curve)); 19299 ELSE 19300 -- recursively check the curve_replica parent curve 19301 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA') 19302 IN TYPEOF (crv)) 19303 THEN RETURN (valid_basis_curve_in_2d_wireframe 19304 (crv\curve_replica.parent_curve)); 19305 ELSE 19306 -- recursively check the composite_curve segments 19307 IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE') 19308 IN TYPEOF (crv)) THEN 19309 RETURN (SIZEOF (QUERY (ccs <* crv\composite_curve.segments | 19310 NOT (valid_basis_curve_in_2d_wireframe 19311 (ccs.parent_curve)))) = 0); 19312 END_IF; 19313 END_IF; 19314 END_IF; 19315 END_IF; 19316 END_IF; 19317 RETURN (FALSE); 19318END_FUNCTION; 19319 19320FUNCTION valid_calendar_date 19321 (date: calendar_date) : LOGICAL; 19322CASE date.month_component OF 19323 1 : RETURN({ 1 <= date.day_component <= 31 }); 19324 2 : BEGIN 19325 IF (leap_year(date.year_component)) THEN 19326 RETURN({ 1 <= date.day_component <= 29 }); 19327 ELSE 19328 RETURN({ 1 <= date.day_component <= 28 }); 19329 END_IF; 19330 END; 19331 3 : RETURN({ 1 <= date.day_component <= 31 }); 19332 4 : RETURN({ 1 <= date.day_component <= 30 }); 19333 5 : RETURN({ 1 <= date.day_component <= 31 }); 19334 6 : RETURN({ 1 <= date.day_component <= 30 }); 19335 7 : RETURN({ 1 <= date.day_component <= 31 }); 19336 8 : RETURN({ 1 <= date.day_component <= 31 }); 19337 9 : RETURN({ 1 <= date.day_component <= 30 }); 19338 10 : RETURN({ 1 <= date.day_component <= 31 }); 19339 11 : RETURN({ 1 <= date.day_component <= 30 }); 19340 12 : RETURN({ 1 <= date.day_component <= 31 }); 19341 END_CASE; 19342 RETURN (FALSE); 19343END_FUNCTION; 19344 19345FUNCTION valid_csg_2d_primitives 19346 (input: csg_solid_2d) : BOOLEAN; 19347CASE TRUE OF 19348 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D' IN TYPEOF(input\csg_solid_2d.tree_root_expression)) : 19349 BEGIN 19350 IF (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_AREA', 19351 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPLEX_AREA', 19352 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPTIC_AREA', 19353 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYGONAL_AREA', 19354 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY', 19355 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_AREA'] * TYPEOF(input\csg_solid_2d.tree_root_expression)) > 0) 19356 THEN 19357 RETURN(TRUE); 19358 ELSE 19359 RETURN(FALSE); 19360 END_IF; 19361 END; 19362 19363 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_RESULT_2D' IN TYPEOF(input\csg_solid_2d.tree_root_expression)) : 19364 RETURN (valid_csg_2d_primitives(input\csg_solid_2d.tree_root_expression\boolean_result_2d.first_operand) 19365 AND valid_csg_2d_primitives(input\csg_solid_2d.tree_root_expression\boolean_result_2d.second_operand)); 19366 19367 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HALF_SPACE_2D' IN TYPEOF(input\csg_solid_2d.tree_root_expression)) : RETURN(TRUE); 19368 19369 OTHERWISE : RETURN(FALSE); 19370END_CASE; 19371END_FUNCTION; 19372 19373FUNCTION valid_datum_target_parameters 19374 (pdf: placed_datum_target_feature) : BOOLEAN; 19375LOCAL 19376 19377rep_set : SET OF representation := [] ; 19378 19379parameter_representations: SET OF representation; 19380END_LOCAL; 19381 19382 19383REPEAT i := 1 TO HIINDEX(pdf.representation_associations); 19384rep_set := rep_set + pdf.representation_associations[i].used_representation; 19385END_REPEAT; 19386 19387parameter_representations := QUERY(rep <* rep_set | 19388('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN 19389TYPEOF(rep))); 19390 19391 19392IF (SIZEOF( QUERY( srwp <* parameter_representations | 19393 (SIZEOF( QUERY( i <* srwp.items | 19394 (i.name='orientation') AND 19395 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF(i)))) = 1))) <> 1) THEN 19396 RETURN(FALSE); 19397END_IF; 19398 19399CASE pdf\shape_aspect.description OF 19400'point': RETURN(SIZEOF(QUERY( srwp <* parameter_representations | 19401 (SIZEOF(srwp.items) = 1))) = 1); 19402 19403'circle': RETURN((SIZEOF( QUERY( srwp <* parameter_representations | 19404 (SIZEOF(srwp.items) = 2))) = 1) AND 19405 (SIZEOF( QUERY( srwp <* parameter_representations | 19406 (SIZEOF( QUERY( i <* srwp.items | 19407 (i.name='target diameter') AND 19408 (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', 19409 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) 19410 ) = 2) )) = 1))) = 1)); 19411 19412'line': RETURN(SIZEOF( QUERY( srwp <* parameter_representations | 19413 (SIZEOF( QUERY( i <* srwp.items | 19414 (i.name='target length') AND 19415 (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', 19416 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) 19417 ) = 2) )) = 1))) = 1); 19418 19419'rectangle': RETURN((SIZEOF( QUERY( srwp <* parameter_representations | 19420 (SIZEOF(srwp.items)= 3))) = 1) AND 19421 (SIZEOF( QUERY( srwp <* parameter_representations | 19422 (SIZEOF( QUERY( i <* srwp.items | 19423 (i.name='target length') AND 19424 (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', 19425 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) 19426 ) = 2))) = 1))) = 1) AND 19427 (SIZEOF( QUERY( srwp <* parameter_representations | 19428 (SIZEOF( QUERY( i <* srwp.items | 19429 (i.name='target width') AND 19430 (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', 19431 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) 19432 ) = 2))) = 1) )) = 1)); 19433OTHERWISE : RETURN(FALSE); 19434END_CASE; 19435END_FUNCTION; 19436 19437FUNCTION valid_geometrically_bounded_wf_curve 19438 (crv: curve) : BOOLEAN; 19439IF SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' ] * TYPEOF (crv)) = 1 THEN 19440 RETURN (TRUE); 19441 ELSE 19442 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF (crv) THEN 19443 IF SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARABOLA', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HYPERBOLA' ] * TYPEOF (crv\trimmed_curve.basis_curve)) = 1 THEN 19444 RETURN (TRUE); 19445 ELSE 19446 RETURN (valid_geometrically_bounded_wf_curve(crv\trimmed_curve.basis_curve)); 19447 END_IF ; 19448 ELSE 19449 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (crv) THEN 19450 RETURN (valid_geometrically_bounded_wf_curve(crv\offset_curve_3d.basis_curve)); 19451 ELSE 19452 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN 19453 RETURN (valid_geometrically_bounded_wf_curve(crv\curve_replica.parent_curve)); 19454 ELSE 19455 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (crv) THEN 19456 RETURN ( SIZEOF ( 19457QUERY ( ccs <* crv\composite_curve.segments| NOT valid_geometrically_bounded_wf_curve(ccs.parent_curve) )) = 0); 19458 END_IF ; 19459 END_IF ; 19460 END_IF ; 19461 END_IF ; 19462 END_IF ; 19463 RETURN (FALSE); 19464END_FUNCTION; 19465 19466FUNCTION valid_geometrically_bounded_wf_point 19467 (pnt: point) : BOOLEAN; 19468IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN 19469 RETURN (TRUE); 19470 ELSE 19471 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' IN TYPEOF (pnt) THEN 19472 RETURN (valid_geometrically_bounded_wf_curve(pnt\point_on_curve.basis_curve)); 19473 ELSE 19474 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_REPLICA' IN TYPEOF (pnt) THEN 19475 RETURN (valid_geometrically_bounded_wf_point(pnt\point_replica.parent_pt)); 19476 END_IF ; 19477 END_IF ; 19478 END_IF ; 19479 RETURN (FALSE); 19480END_FUNCTION; 19481 19482FUNCTION valid_measure_value 19483 (m: measure_value) : BOOLEAN; 19484IF ('REAL' IN TYPEOF (m)) THEN 19485 RETURN (m > 0.0); 19486 ELSE 19487 IF ('INTEGER' IN TYPEOF (m)) THEN 19488 RETURN (m > 0); 19489 ELSE 19490 RETURN (TRUE); 19491 END_IF; 19492 END_IF; 19493END_FUNCTION; 19494 19495FUNCTION valid_selected_instance_representation 19496 (pd: product_definition_or_assembly_relationship) : LOGICAL; 19497 LOCAL 19498 properties: SET OF property_definition := bag_to_set(QUERY( prd<* USEDIN ( pd ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | 19499 (prd.name = 'occurrence selection' ))); 19500 property_definition_representations: SET OF property_definition_representation := bag_to_set(QUERY ( pdr <* USEDIN ( properties[1] , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | 19501 ( pdr.used_representation.name = 'selection criteria' ))); 19502 selected_representation: representation; 19503 END_LOCAL; 19504 IF (SIZEOF( properties)<>1) THEN 19505 RETURN(FALSE); 19506 END_IF; 19507 IF (SIZEOF(property_definition_representations)<>1) THEN 19508 RETURN(FALSE); 19509 END_IF; 19510 selected_representation := property_definition_representations[1]\property_definition_representation.used_representation; 19511 IF (SIZEOF(selected_representation\representation.items) <1) OR (SIZEOF(selected_representation\representation.items) >2) THEN 19512 RETURN(FALSE); 19513 END_IF; 19514 IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items | 19515 ( SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , 19516 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_RANGE']* TYPEOF ( i ) ) = 1) AND 19517 ( i.name = 'selection quantity' ))) <> 1 ) THEN 19518 RETURN(FALSE); 19519 END_IF; 19520 IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items | 19521 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND 19522 ( i.name = 'selection control' )))> 1) THEN 19523 RETURN(FALSE); 19524 END_IF; --the selection control is not specified then the quantity shall be a qualified_representation_item or a value_range 19525 IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items | 19526 ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND 19527 ( i.name = 'selection control' ) ))= 0) AND 19528 (SIZEOF ( QUERY ( i <* selected_representation\representation.items | 19529 ( i.name = 'selection quantity' ) AND 19530 ( SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.QUALIFIED_REPRESENTATION_ITEM' , 19531 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_RANGE']* TYPEOF ( i ) ) =0 ))) > 0 ) THEN 19532 RETURN(FALSE); 19533 END_IF; 19534 RETURN(TRUE); 19535END_FUNCTION; 19536 19537FUNCTION valid_time 19538 (time: local_time) : BOOLEAN; 19539IF EXISTS(time.second_component) THEN 19540 RETURN (EXISTS(time.minute_component)); 19541 ELSE 19542 RETURN (TRUE); 19543 END_IF; 19544END_FUNCTION; 19545 19546FUNCTION valid_units 19547 (m: measure_with_unit) : BOOLEAN; 19548IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF(m.value_component) THEN 19549 IF derive_dimensional_exponents(m.unit_component) <> 19550 dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN 19551 RETURN (FALSE); 19552 END_IF; 19553 END_IF; 19554 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MASS_MEASURE' IN TYPEOF(m.value_component) THEN 19555 IF derive_dimensional_exponents(m.unit_component) <> 19556 dimensional_exponents(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN 19557 RETURN (FALSE); 19558 END_IF; 19559 END_IF; 19560 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TIME_MEASURE' IN TYPEOF(m.value_component) THEN 19561 IF derive_dimensional_exponents(m.unit_component) <> 19562 dimensional_exponents(0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) THEN 19563 RETURN (FALSE); 19564 END_IF; 19565 END_IF; 19566 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_CURRENT_MEASURE' IN TYPEOF(m.value_component) THEN 19567 IF derive_dimensional_exponents(m.unit_component) <> 19568 dimensional_exponents(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) THEN 19569 RETURN (FALSE); 19570 END_IF; 19571 END_IF; 19572 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_MEASURE' IN TYPEOF(m.value_component) THEN 19573 IF derive_dimensional_exponents(m.unit_component) <> 19574 dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) THEN 19575 RETURN (FALSE); 19576 END_IF; 19577 END_IF; 19578 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CELSIUS_TEMPERATURE_MEASURE' IN TYPEOF(m.value_component) THEN 19579 IF derive_dimensional_exponents(m.unit_component) <> 19580 dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) THEN 19581 RETURN (FALSE); 19582 END_IF; 19583 END_IF; 19584 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AMOUNT_OF_SUBSTANCE_MEASURE' IN TYPEOF(m.value_component) THEN 19585 IF derive_dimensional_exponents(m.unit_component) <> 19586 dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) THEN 19587 RETURN (FALSE); 19588 END_IF; 19589 END_IF; 19590 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LUMINOUS_INTENSITY_MEASURE' IN TYPEOF(m.value_component) THEN 19591 IF derive_dimensional_exponents(m.unit_component) <> 19592 dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) THEN 19593 RETURN (FALSE); 19594 END_IF; 19595 END_IF; 19596 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN 19597 IF derive_dimensional_exponents(m.unit_component) <> 19598 dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN 19599 RETURN (FALSE); 19600 END_IF; 19601 END_IF; 19602 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN 19603 IF derive_dimensional_exponents(m.unit_component) <> 19604 dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN 19605 RETURN (FALSE); 19606 END_IF; 19607 END_IF; 19608 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' IN TYPEOF(m.value_component) THEN 19609 IF derive_dimensional_exponents(m.unit_component) <> 19610 dimensional_exponents(2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN 19611 RETURN (FALSE); 19612 END_IF; 19613 END_IF; 19614 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VOLUME_MEASURE' IN TYPEOF(m.value_component) THEN 19615 IF derive_dimensional_exponents(m.unit_component) <> 19616 dimensional_exponents(3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN 19617 RETURN (FALSE); 19618 END_IF; 19619 END_IF; 19620 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE' IN TYPEOF(m.value_component) THEN 19621 IF derive_dimensional_exponents(m.unit_component) <> 19622 dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN 19623 RETURN (FALSE); 19624 END_IF; 19625 END_IF; 19626 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF(m.value_component) THEN 19627 IF derive_dimensional_exponents(m.unit_component) <> 19628 dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN 19629 RETURN (FALSE); 19630 END_IF; 19631 END_IF; 19632 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_PLANE_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN 19633 IF derive_dimensional_exponents(m.unit_component) <> 19634 dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN 19635 RETURN (FALSE); 19636 END_IF; 19637 END_IF; 19638 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACCELERATION_MEASURE' IN TYPEOF(m.value_component) THEN 19639 IF derive_dimensional_exponents(m.unit_component) <> 19640 dimensional_exponents( 1.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN 19641 RETURN (FALSE); 19642 END_IF; 19643 END_IF; 19644 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAPACITANCE_MEASURE' IN TYPEOF(m.value_component) THEN 19645 IF derive_dimensional_exponents(m.unit_component) <> 19646 dimensional_exponents( -2.0, -1.0, 4.0, 1.0, 0.0, 0.0, 0.0 ) THEN 19647 RETURN (FALSE); 19648 END_IF; 19649 END_IF; 19650 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_CHARGE_MEASURE' IN TYPEOF(m.value_component) THEN 19651 IF derive_dimensional_exponents(m.unit_component) <> 19652 dimensional_exponents( 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0 ) THEN 19653 RETURN (FALSE); 19654 END_IF; 19655 END_IF; 19656 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONDUCTANCE_MEASURE' IN TYPEOF(m.value_component) THEN 19657 IF derive_dimensional_exponents(m.unit_component) <> 19658 dimensional_exponents( -2.0, -1.0, 3.0, 2.0, 0.0, 0.0, 0.0 ) THEN 19659 RETURN (FALSE); 19660 END_IF; 19661 END_IF; 19662 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_POTENTIAL_MEASURE' IN TYPEOF(m.value_component) THEN 19663 IF derive_dimensional_exponents(m.unit_component) <> 19664 dimensional_exponents( 2.0, 1.0, -3.0, -1.0, 0.0, 0.0, 0.0 ) THEN 19665 RETURN (FALSE); 19666 END_IF; 19667 END_IF; 19668 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ENERGY_MEASURE' IN TYPEOF(m.value_component) THEN 19669 IF derive_dimensional_exponents(m.unit_component) <> 19670 dimensional_exponents( 2.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN 19671 RETURN (FALSE); 19672 END_IF; 19673 END_IF; 19674 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FORCE_MEASURE' IN TYPEOF(m.value_component) THEN 19675 IF derive_dimensional_exponents(m.unit_component) <> 19676 dimensional_exponents( 1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN 19677 RETURN (FALSE); 19678 END_IF; 19679 END_IF; 19680 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FREQUENCY_MEASURE' IN TYPEOF(m.value_component) THEN 19681 IF derive_dimensional_exponents(m.unit_component) <> 19682 dimensional_exponents( 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ) THEN 19683 RETURN (FALSE); 19684 END_IF; 19685 END_IF; 19686 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ILLUMINANCE_MEASURE' IN TYPEOF(m.value_component) THEN 19687 IF derive_dimensional_exponents(m.unit_component) <> 19688 dimensional_exponents( -2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 ) THEN 19689 RETURN (FALSE); 19690 END_IF; 19691 END_IF; 19692 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INDUCTANCE_MEASURE' IN TYPEOF(m.value_component) THEN 19693 IF derive_dimensional_exponents(m.unit_component) <> 19694 dimensional_exponents( 2.0, 1.0, -2.0, -2.0, 0.0, 0.0, 0.0 ) THEN 19695 RETURN (FALSE); 19696 END_IF; 19697 END_IF; 19698 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LUMINOUS_FLUX_MEASURE' IN TYPEOF(m.value_component) THEN 19699 IF derive_dimensional_exponents(m.unit_component) <> 19700 dimensional_exponents( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 ) THEN 19701 RETURN (FALSE); 19702 END_IF; 19703 END_IF; 19704 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAGNETIC_FLUX_MEASURE' IN TYPEOF(m.value_component) THEN 19705 IF derive_dimensional_exponents(m.unit_component) <> 19706 dimensional_exponents( 2.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0 ) THEN 19707 RETURN (FALSE); 19708 END_IF; 19709 END_IF; 19710 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAGNETIC_FLUX_DENSITY_MEASURE' IN TYPEOF(m.value_component) THEN 19711 IF derive_dimensional_exponents(m.unit_component) <> 19712 dimensional_exponents( 0.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0 ) THEN 19713 RETURN (FALSE); 19714 END_IF; 19715 END_IF; 19716 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POWER_MEASURE' IN TYPEOF(m.value_component) THEN 19717 IF derive_dimensional_exponents(m.unit_component) <> 19718 dimensional_exponents( 2.0, 1.0, -3.0, 0.0, 0.0, 0.0, 0.0 ) THEN 19719 RETURN (FALSE); 19720 END_IF; 19721 END_IF; 19722 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESSURE_MEASURE' IN TYPEOF(m.value_component) THEN 19723 IF derive_dimensional_exponents(m.unit_component) <> 19724 dimensional_exponents( -1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN 19725 RETURN (FALSE); 19726 END_IF; 19727 END_IF; 19728 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RESISTANCE_MEASURE' IN TYPEOF(m.value_component) THEN 19729 IF derive_dimensional_exponents(m.unit_component) <> 19730 dimensional_exponents( 2.0, 1.0, -3.0, -2.0, 0.0, 0.0, 0.0 ) THEN 19731 RETURN (FALSE); 19732 END_IF; 19733 END_IF; 19734 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VELOCITY_MEASURE' IN TYPEOF(m.value_component) THEN 19735 IF derive_dimensional_exponents(m.unit_component) <> 19736 dimensional_exponents( 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ) THEN 19737 RETURN (FALSE); 19738 END_IF; 19739 END_IF; 19740 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIOACTIVITY_MEASURE' IN TYPEOF(m.value_component) THEN 19741 IF derive_dimensional_exponents(m.unit_component) <> 19742 dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0) THEN 19743 RETURN (FALSE); 19744 END_IF; 19745 END_IF; 19746 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ABSORBED_DOSE_MEASURE' IN TYPEOF(m.value_component) THEN 19747 IF derive_dimensional_exponents(m.unit_component) <> 19748 dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN 19749 RETURN (FALSE); 19750 END_IF; 19751 END_IF; 19752 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DOSE_EQUIVALENT_MEASURE' IN TYPEOF(m.value_component) THEN 19753 IF derive_dimensional_exponents(m.unit_component) <> 19754 dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN 19755 RETURN (FALSE); 19756 END_IF; 19757 END_IF; 19758 RETURN (TRUE); 19759END_FUNCTION; 19760 19761FUNCTION valid_wireframe_edge_curve 19762 (crv: curve) : BOOLEAN; 19763IF SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' ] * TYPEOF (crv)) = 1 THEN 19764 RETURN (TRUE); 19765 ELSE 19766 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN 19767 RETURN (valid_wireframe_edge_curve(crv\curve_replica.parent_curve)); 19768 ELSE 19769 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (crv) THEN 19770 RETURN (valid_wireframe_edge_curve(crv\offset_curve_3d.basis_curve)); 19771 END_IF ; 19772 END_IF ; 19773 END_IF ; 19774 RETURN (FALSE); 19775END_FUNCTION; 19776 19777FUNCTION valid_wireframe_vertex_point 19778 (pnt: point) : BOOLEAN; 19779IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN 19780 RETURN (TRUE); 19781 ELSE 19782 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_REPLICA' IN TYPEOF (pnt) THEN 19783 RETURN (valid_wireframe_vertex_point(pnt\point_replica.parent_pt)); 19784 END_IF ; 19785 END_IF ; 19786 RETURN (FALSE); 19787END_FUNCTION; 19788 19789FUNCTION validate_countersink_radii 19790 (cskhole: solid_with_stepped_round_hole_and_conical_transitions) : BOOLEAN; 19791 LOCAL 19792 i,j : INTEGER; 19793 n : INTEGER := 1 + 19794 cskhole\solid_with_stepped_round_hole.segments; 19795 smaller, larger : positive_length_measure; 19796 END_LOCAL; 19797 19798 REPEAT i := 1 TO SIZEOF(cskhole.conical_transitions); 19799 19800 -- First check whether transition i applies to the entry of the hole or 19801 -- the exit of a through hole - those cases only need to be checked for 19802 -- the sign of the cone apex angle. 19803 19804 IF (((cskhole.conical_transitions[i].transition_number = 1) 19805 AND (cskhole.conical_transitions[i].cone_apex_angle < 0)) 19806 XOR ((cskhole.conical_transitions[i].transition_number = n) 19807 AND (cskhole.conical_transitions[i].cone_apex_angle > 0))) 19808 THEN RETURN(FALSE); 19809 ELSE 19810 IF ((cskhole.conical_transitions[i].transition_number <> 1) 19811 AND (cskhole.conical_transitions[i].transition_number <> n)) 19812 THEN 19813 19814 -- For all remaining transitions, check that the cone base radius 19815 -- lies in the range of validity. 19816 19817 19818 BEGIN 19819 j := cskhole.conical_transitions[i].transition_number; 19820 IF cskhole\solid_with_stepped_round_hole.segment_radii[j] 19821 > cskhole\solid_with_stepped_round_hole.segment_radii[j-1] 19822 THEN 19823 BEGIN 19824 IF (cskhole.conical_transitions[i].cone_apex_angle > 0) 19825 THEN RETURN(FALSE); 19826 END_IF; 19827 larger 19828 := cskhole\solid_with_stepped_round_hole.segment_radii[j]; 19829 smaller 19830 := cskhole\solid_with_stepped_round_hole.segment_radii[j-1]; 19831 END; 19832 ELSE 19833 BEGIN 19834 IF (cskhole.conical_transitions[i].cone_apex_angle < 0) 19835 THEN RETURN(FALSE); 19836 END_IF; 19837 larger 19838 := cskhole\solid_with_stepped_round_hole.segment_radii[j-1]; 19839 smaller 19840 := cskhole\solid_with_stepped_round_hole.segment_radii[j]; 19841 END; 19842 END_IF; 19843 IF ((cskhole.conical_transitions[i].cone_base_radius > larger) 19844 OR (cskhole.conical_transitions[i].cone_base_radius < smaller)) 19845 THEN RETURN(FALSE); 19846 END_IF; 19847 END; 19848 END_IF; 19849 END_IF; 19850 END_REPEAT; 19851 RETURN(TRUE); 19852END_FUNCTION; 19853 19854FUNCTION value_range_aggregate_rep_item 19855 (agg: AGGREGATE OF representation_item) : BOOLEAN; 19856BEGIN 19857 IF (SIZEOF(QUERY(i1 <* agg | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i1)) )) = 6) THEN 19858 RETURN (TRUE); 19859 ELSE 19860 RETURN (FALSE); 19861 END_IF; 19862 END; 19863END_FUNCTION; 19864 19865FUNCTION value_range_wr1 19866 (agg: compound_item_definition) : BOOLEAN; 19867BEGIN 19868 IF (SIZEOF(agg) = 2) AND ((SIZEOF(QUERY (i1 <* agg | ( 19869 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF 19870 (i1)))) = 2) OR 19871 (SIZEOF(QUERY (i2 <* agg | ( 19872 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF 19873 (i2)))) = 2)) 19874 THEN 19875 RETURN(TRUE); 19876 ELSE 19877 RETURN(FALSE); 19878 END_IF; 19879 END; 19880END_FUNCTION; 19881 19882FUNCTION value_range_wr2 19883 (agg: compound_item_definition) : BOOLEAN; 19884BEGIN 19885 IF ((SIZEOF(QUERY (i <* agg | (i\representation_item.name = 'upper limit'))) = 1) 19886 AND (SIZEOF(QUERY (i <* agg | (i\representation_item.name = 'lower limit'))) = 1)) 19887 THEN 19888 RETURN(TRUE); 19889 ELSE 19890 RETURN(FALSE); 19891 END_IF; 19892 END; 19893END_FUNCTION; 19894 19895FUNCTION value_range_wr3 19896 (agg: compound_item_definition) : BOOLEAN; 19897BEGIN 19898 IF (SIZEOF(QUERY(i1 <* agg | 19899 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND 19900 (SIZEOF (QUERY (i2 <* agg | 19901 ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i2)) AND 19902 (i1 :<>: i2) AND (i1\measure_with_unit.unit_component :=: i2\measure_with_unit.unit_component))) = 1))) = 2) 19903 THEN 19904 RETURN (TRUE); 19905 ELSE 19906 RETURN (FALSE); 19907 END_IF; 19908 END; 19909END_FUNCTION; 19910 19911FUNCTION vector_difference 19912 (arg1: vector_or_direction; arg2: vector_or_direction) : vector; 19913 LOCAL 19914 result : vector; 19915 res, vec1, vec2 : direction; 19916 mag, mag1, mag2 : REAL; 19917 ndim : INTEGER; 19918 END_LOCAL; 19919 19920 IF ((NOT EXISTS (arg1)) OR (NOT EXISTS (arg2))) OR (arg1.dim <> arg2.dim) 19921 THEN 19922 RETURN (?) ; 19923 ELSE 19924 BEGIN 19925 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF(arg1) THEN 19926 mag1 := arg1\vector.magnitude; 19927 vec1 := arg1\vector.orientation; 19928 ELSE 19929 mag1 := 1.0; 19930 vec1 := arg1; 19931 END_IF; 19932 IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF(arg2) THEN 19933 mag2 := arg2\vector.magnitude; 19934 vec2 := arg2\vector.orientation; 19935 ELSE 19936 mag2 := 1.0; 19937 vec2 := arg2; 19938 END_IF; 19939 vec1 := normalise (vec1); 19940 vec2 := normalise (vec2); 19941 ndim := SIZEOF(vec1.direction_ratios); 19942 mag := 0.0; 19943 res := dummy_gri || direction(vec1.direction_ratios); 19944 REPEAT i := 1 TO ndim; 19945 res.direction_ratios[i] := mag1*vec1.direction_ratios[i] - 19946 mag2*vec2.direction_ratios[i]; 19947 mag := mag + (res.direction_ratios[i]*res.direction_ratios[i]); 19948 END_REPEAT; 19949 IF (mag > 0.0 ) THEN 19950 result := dummy_gri || vector( res, SQRT(mag)); 19951 ELSE 19952 result := dummy_gri || vector( vec1, 0.0); 19953 END_IF; 19954 END; 19955 END_IF; 19956 RETURN (result); 19957END_FUNCTION; 19958 19959END_SCHEMA; 19960 19961