Application module: Assembly component placement requirements ISO/TS 10303-1634:2018-11(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definitions
   4.3 ARM entity definitions
   4.4 ARM subtype constraint definition
   4.5 ARM function definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definitions
     5.2.2 MIM entity definitions
     5.2.3 MIM subtype constraint definition

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

(*
ISO/TC 184/SC 4/WG 12 N9399 - ISO/TS 10303-1634 Assembly component placement requirements - EXPRESS ARM
Supersedes ISO/TC 184/SC 4/WG 12 N8083
*)



SCHEMA Assembly_component_placement_requirements_arm;

USE FROM Assembly_module_with_interconnect_component_arm;    -- ISO/TS 10303-1643

REFERENCE FROM Requirement_decomposition_arm   -- ISO/TS 10303-1740
  (get_rvd);

REFERENCE FROM Support_resource_arm   -- ISO/TS 10303-1800
  (bag_to_set);


TYPE acpr_requirement_assignment_item = SELECT BASED_ON requirement_assignment_item WITH
   (restriction_basis_item,
    Placement_group_requirement_definition);
END_TYPE;

TYPE assembly_component_or_component_feature = SELECT
   (Assembly_component,
    Component_feature);
END_TYPE;

TYPE assembly_product_design_object_category = EXTENSIBLE ENUMERATION OF
   (assembly_component_category,
    assembly_module_component_category,
    assembly_module_component_terminal_category,
    assembly_module_macro_component_category,
    assembly_module_macro_component_join_terminal_category,
    bare_die_component_category,
    bare_die_component_terminal_category,
    buried_via_category,
    cable_component_category,
    component_feature_category,
    component_termination_passage_category,
    conductive_interconnect_element_with_pre_defined_transitions_category,
    cutout_category,
    cutout_edge_segment_category,
    dielectric_material_passage_category,
    embedded_physical_component_terminal_category,
    fiducial_category,
    fill_area_category,
    inter_stratum_feature_category,
    interconnect_component_interface_terminal_category,
    interconnect_component_join_terminal_category,
    interconnect_module_component_category,
    interconnect_module_component_stratum_based_terminal_category,
    interconnect_module_component_surface_feature_category,
    interconnect_module_component_terminal_category,
    interconnect_module_edge_category,
    interconnect_module_edge_segment_category,
    interconnect_module_macro_component_category,
    interconnect_module_macro_component_join_terminal_category,
    interface_access_material_removal_laminate_component_category,
    interface_access_stratum_feature_template_component_category,
    interface_component_category,
    interfacial_connection_category,
    internal_probe_access_area_category,
    laminate_component_category,
    minimally_defined_component_terminal_category,
    packaged_component_category,
    packaged_component_join_terminal_category,
    packaged_connector_component_category,
    packaged_connector_component_interface_terminal_category,
    physical_component_category,
    plated_passage_or_unsupported_passage_category,
    routed_interconnect_component_category,
    routed_physical_component_category,
    stratum_feature_category,
    via_category);
END_TYPE;

TYPE assembly_product_design_object_category_or_group = SELECT
   (assembly_product_design_object_category,
    Group);
END_TYPE;

TYPE assembly_spacing_type = EXTENSIBLE ENUMERATION OF
   (nearest_boundary,
    centroid,
    furthest_boundary);
END_TYPE;

TYPE restriction_basis_item = EXTENSIBLE GENERIC_ENTITY SELECT
   (Predefined_requirement_view_definition,
    Part_feature);
END_TYPE;

ENTITY Assembly_group_spacing_requirement
  SUBTYPE OF (Predefined_requirement_view_definition);
  dependent_group : Placement_group_requirement_definition;
  of_spacing_type : assembly_spacing_type;
  reference_group : Placement_group_requirement_definition;
  SELF\Predefined_requirement_view_definition.required_characteristic : Length_tolerance_characteristic;
END_ENTITY;

ENTITY Assembly_spacing_requirement
  SUBTYPE OF (Predefined_requirement_view_definition);
  reference_design_object_category : assembly_product_design_object_category_or_group;
  dependent_design_object_category : assembly_product_design_object_category_or_group;
  SELF\Predefined_requirement_view_definition.required_characteristic : Length_tolerance_characteristic;
  of_spacing_type : assembly_spacing_type;
END_ENTITY;

ENTITY Component_group_assignment;
  associated_group : Placement_group_requirement_definition;
  assigned_component : assembly_component_or_component_feature;
END_ENTITY;

ENTITY Component_placement_restriction_assignment;
  maximum_negative_component_height : OPTIONAL Length_tolerance_characteristic;
  maximum_positive_component_height : OPTIONAL Length_tolerance_characteristic;
  area : OPTIONAL Mounting_restriction_area;
  volume : OPTIONAL Mounting_restriction_volume;
  requirement : Item_restricted_requirement;
  components_permitted : BOOLEAN;
  mounting_clearance : OPTIONAL Length_tolerance_characteristic;
WHERE
  WR1: EXISTS(area) OR EXISTS(volume);
END_ENTITY;

ENTITY Item_restricted_requirement
  SUBTYPE OF (Predefined_requirement_view_definition);
  basis : restriction_basis_item;
WHERE
  WR1: SELF :<>: basis;
END_ENTITY;

ENTITY Mounting_restriction_area
  SUBTYPE OF (Non_feature_shape_element);
  mounting_surface : Interconnect_module_component_surface_feature;
  SELF\Non_feature_shape_element.associated_definition : Assembly_module_design_view;
WHERE
  WR1: (SIZEOF(SELF\Non_feature_shape_element.element_shape) = 0) OR (SIZEOF(QUERY(es <* SELF\Non_feature_shape_element.element_shape | NOT ('CONSTRUCTION_GEOMETRY_ARM.CONSTRUCTIVE_GEOMETRY' IN TYPEOF(es)) )) = 0);
END_ENTITY;

ENTITY Mounting_restriction_volume
  SUBTYPE OF (Non_feature_shape_element);
  mounting_surface : Interconnect_module_component_surface_feature;
  SELF\Non_feature_shape_element.associated_definition : Assembly_module_design_view;
INVERSE
  volume : Non_feature_shape_model FOR associated_element;
END_ENTITY;

ENTITY Placement_group_area_assignment;
  placed_group : Placement_group_requirement_definition;
  area : Mounting_restriction_area;
END_ENTITY;

ENTITY Placement_group_requirement_definition
  SUBTYPE OF (Requirement_view_definition);
  design_specific_usage : STRING;
DERIVE
  requirement_relationship : SET[0:?] OF Requirement_view_definition_relationship := bag_to_set((QUERY(rvdr <* USEDIN (SELF, 'REQUIREMENT_VIEW_DEFINITION_RELATIONSHIP_ARM.'+ 'REQUIREMENT_VIEW_DEFINITION_RELATIONSHIP.PRIMARY') | (rvdr.relation_type = 'derived_from'))));
  requirement : SET[0:?] OF Requirement_view_definition := get_acpr_rvd(requirement_relationship);
INVERSE
  composition : SET[1:?] OF Component_group_assignment FOR associated_group;
WHERE
  WR1: EXISTS (requirement) AND (SIZEOF(requirement) >= 1);
  WR2: NOT EXISTS (SELF\Product_view_definition.name);
END_ENTITY;

ENTITY Placement_group_volume_assignment;
  placed_group : Placement_group_requirement_definition;
  volume : Mounting_restriction_volume;
END_ENTITY;

SUBTYPE_CONSTRAINT acpr_predefined_requirement_view_definition_subtypes FOR Predefined_requirement_view_definition;
  ONEOF (Assembly_spacing_requirement,
         Assembly_group_spacing_requirement,
         Item_restricted_requirement);
END_SUBTYPE_CONSTRAINT;

FUNCTION get_acpr_rvd
 (input : SET[0:?] OF Requirement_view_definition_relationship) : SET[0:?] OF Requirement_view_definition;
LOCAL
	rvd : SET[0:?] OF Requirement_view_definition := [];  --this gives us access to the information base
END_LOCAL;
	-- iterate over input
	REPEAT i := 1 to SIZEOF(input) by 1;
		rvd := rvd + input[i]\requirement_view_definition_relationship.secondary;
	END_REPEAT;

	RETURN(rvd);
END_FUNCTION;

END_SCHEMA;  -- Assembly_component_placement_requirements_arm


© ISO 2018 — All rights reserved