|
ENTITY Package SUBTYPE OF (Part_usage_view); mounting_technology : OPTIONAL mounting_technology_type; maximum_seating_plane_installation_offset : OPTIONAL Length_data_element; nominal_mounting_lead_pitch : OPTIONAL Length_data_element; nominal_mounting_lead_span : OPTIONAL Length_data_element; maximum_body_height_above_seating_plane : OPTIONAL Length_data_element; maximum_body_height_below_seating_plane : OPTIONAL Length_data_element; body_clearance_above_seating_plane : OPTIONAL Length_tolerance_characteristic; body_clearance_below_seating_plane : OPTIONAL Length_tolerance_characteristic; maximum_lead_length_below_seating_plane : OPTIONAL Length_data_element; least_lead_length_below_seating_plane : OPTIONAL Length_data_element; DERIVE maximum_package_total_vertical_extent : Length_data_element := max_data_element( add_data_element(maximum_body_height_above_seating_plane,maximum_body_height_below_seating_plane), add_data_element(maximum_body_height_above_seating_plane,maximum_lead_length_below_seating_plane)); cutout_required : LOGICAL := (maximum_body_height_below_seating_plane\Value_with_unit.value_component > 0.0); maximum_installed_height : Length_data_element := add_data_element(maximum_body_height_above_seating_plane,maximum_seating_plane_installation_offset); one_orientation_feature : LOGICAL := (SIZEOF(orientation_feature) = 1); two_orientation_features : LOGICAL := (SIZEOF(orientation_feature) = 2); three_orientation_features : LOGICAL := (SIZEOF(orientation_feature) = 3); package_seating_plane : SET [0:?] OF Seating_plane := bag_to_set(QUERY(nfse <* USEDIN(SELF, 'NON_FEATURE_SHAPE_ELEMENT_ARM.NON_FEATURE_SHAPE_ELEMENT.SCOPE')| 'NON_FEATURE_SHAPE_ELEMENT_ARM.SEATING_PLANE' IN TYPEOF(nfse))); interface_plane : SET [0:?] OF Interface_plane := bag_to_set(QUERY(nfse <* USEDIN(SELF, 'NON_FEATURE_SHAPE_ELEMENT_ARM.NON_FEATURE_SHAPE_ELEMENT.SCOPE')| 'NON_FEATURE_SHAPE_ELEMENT_ARM.INTERFACE_PLANE' IN TYPEOF(nfse))); INVERSE body : SET [0:1] OF Package_body FOR associated_definition; package_accesses : SET [0:?] OF Package_terminal FOR associated_definition; package_polarity_indication : SET [0:1] OF Polarity_indication_feature FOR associated_definition; orientation_feature : SET [0:3] OF Package_orientation_feature FOR associated_definition; WHERE WR1: NOT (mounting_technology = surface_mount) OR (NOT (EXISTS(maximum_lead_length_below_seating_plane) OR EXISTS(least_lead_length_below_seating_plane))); WR2: NOT (EXISTS(maximum_lead_length_below_seating_plane)) OR (maximum_lead_length_below_seating_plane\Value_with_unit.value_component > 0.0); WR3: NOT (EXISTS(least_lead_length_below_seating_plane)) OR (least_lead_length_below_seating_plane\Value_with_unit.value_component > 0.0); WR4: NOT EXISTS(mounting_technology) OR (SIZEOF(package_seating_plane) = 1); WR5: SIZEOF(QUERY(pa <* package_accesses | 'PACKAGE_ARM.PRIMARY_REFERENCE_TERMINAL' IN TYPEOF(pa))) = 1; WR6: SIZEOF(QUERY(nt <* package_accesses | EXISTS(nt\Part_feature.precedent_feature) )) = (SIZEOF(package_accesses) - 1); WR7: SIZEOF(QUERY(nt <* package_accesses | (SIZEOF(nt\Part_feature.subsequent_feature) = 1) )) = (SIZEOF(package_accesses) - 1); WR8: NOT one_orientation_feature OR ('PACKAGE_ARM.PRIMARY_ORIENTATION_FEATURE' IN TYPEOF(orientation_feature[1])); WR9: NOT two_orientation_features OR ((SIZEOF(QUERY(orf <* orientation_feature | ('PACKAGE_ARM.PRIMARY_ORIENTATION_FEATURE' IN TYPEOF(orf)))) = 1) AND (SIZEOF(QUERY(orf <* orientation_feature | ('PACKAGE_ARM.SECONDARY_ORIENTATION_FEATURE' IN TYPEOF(orf)))) = 1)); WR10: NOT three_orientation_features OR ((SIZEOF(QUERY(orf <* orientation_feature | ('PACKAGE_ARM.PRIMARY_ORIENTATION_FEATURE' IN TYPEOF(orf)))) = 1) AND (SIZEOF(QUERY(orf <* orientation_feature | ('PACKAGE_ARM.SECONDARY_ORIENTATION_FEATURE' IN TYPEOF(orf)))) = 1) AND (SIZEOF(QUERY(orf <* orientation_feature | ('PACKAGE_ARM.TERTIARY_ORIENTATION_FEATURE' IN TYPEOF(orf)))) = 1)); END_ENTITY; -- Package |
Entity data types and their attributesProduct_view_definition(OPT) id: STRING; (OPT) name: STRING; (OPT) additional_characterization: STRING; initial_context: View_definition_context; additional_contexts: SET [0:?] OF View_definition_context; defined_version: Product_version; Part_view_definition (RT) defined_version: Part_version; Item_shape (OPT) id: STRING; (OPT) description: STRING; described_element: shapeable_item; Part_usage_view (RT) (DER) described_element: shapeable_item; Package (OPT) mounting_technology: mounting_technology_type; (OPT) maximum_seating_plane_installation_offset: Length_data_element; (OPT) nominal_mounting_lead_pitch: Length_data_element; (OPT) nominal_mounting_lead_span: Length_data_element; (OPT) maximum_body_height_above_seating_plane: Length_data_element; (OPT) maximum_body_height_below_seating_plane: Length_data_element; (OPT) body_clearance_above_seating_plane: Length_tolerance_characteristic; (OPT) body_clearance_below_seating_plane: Length_tolerance_characteristic; (OPT) maximum_lead_length_below_seating_plane: Length_data_element; (OPT) least_lead_length_below_seating_plane: Length_data_element; (DER) maximum_package_total_vertical_extent: Length_data_element; (DER) cutout_required: LOGICAL; (DER) maximum_installed_height: Length_data_element; (DER) one_orientation_feature: LOGICAL; (DER) two_orientation_features: LOGICAL; (DER) three_orientation_features: LOGICAL; (DER) package_seating_plane: SET [0:?] OF Seating_plane; (DER) interface_plane: SET [0:?] OF Interface_plane; (INV) body: SET [0:1] OF Package_body FOR associated_definition; (INV) package_accesses: SET [0:?] OF Package_terminal FOR associated_definition; (INV) package_polarity_indication: SET [0:1] OF Polarity_indication_feature FOR associated_definition; (INV) orientation_feature: SET [0:3] OF Package_orientation_feature FOR associated_definition; |
| Altered_package (Altered_package_arm) |
Global rules for this entity data type- |