Application module: Assembly component placement requirements | ISO/TS 10303-1634:2018-11(E) © ISO |
(*
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