Application module: Physical unit design view ISO/TS 10303-1728: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 definitions
   4.5 ARM function definition
   4.6 ARM rule 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

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

4 Information requirements

This clause specifies the information requirements for the Physical unit design view application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.

NOTE 1  A graphical representation of the information requirements is given in Annex C.

NOTE 2  The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.

This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Physical_unit_design_view_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Physical_unit_design_view_arm;
(*

4.1 Required AM ARMs

The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.

EXPRESS specification:

*)
USE FROM Assembly_component_arm;    --  ISO/TS 10303-1802

USE FROM Interface_component_arm;    --  ISO/TS 10303-1691

USE FROM Part_template_arm;    --  ISO/TS 10303-1722

USE FROM Physical_unit_usage_view_arm;    --  ISO/TS 10303-1732

USE FROM Specification_document_arm;    --  ISO/TS 10303-1747

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

NOTE 1   The schemas referenced above are specified in the following part of ISO 10303:

Assembly_component_arm ISO/TS 10303-1802
Interface_component_arm ISO/TS 10303-1691
Part_template_arm ISO/TS 10303-1722
Physical_unit_usage_view_arm ISO/TS 10303-1732
Specification_document_arm ISO/TS 10303-1747
Support_resource_arm ISO/TS 10303-1800

NOTE 2   See Annex C, Figures C.1, C.2and C.3 for a graphical representation of this schema.

4.2 ARM type definitions

This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.

4.2.1 assembly_component_or_item_number   EXPRESS-G

The assembly_component_or_item_number type allows for the designation of the data types Assembly_item_number, and Assembly_component_relationship.

EXPRESS specification:

*)
TYPE assembly_component_or_item_number = SELECT
   (Assembly_item_number,
    Assembly_component_relationship);
END_TYPE;
(*

4.2.2 assembly_item_number_or_process_specification   EXPRESS-G

The assembly_item_number_or_process_specification type allows for the designation of the data types Assembly_item_number, and Process_specification.

EXPRESS specification:

*)
TYPE assembly_item_number_or_process_specification = SELECT
   (Assembly_item_number,
    Process_specification);
END_TYPE;
(*

4.2.3 bonding_or_coating   EXPRESS-G

The bonding_or_coating lists the values of role.

EXPRESS specification:

*)
TYPE bonding_or_coating = ENUMERATION OF
   (bonding,
    coating);
END_TYPE;
(*

Enumerated item definitions:

bonding: specifies the role is bonding.

coating: specifies the role is coating.

4.2.4 pudv_extended_value_with_unit   EXPRESS-G

The pudv_extended_value_with_unit type is an extension of the extended_value_with_unit type. It adds the data type textual_quantity_specification to the list of alternate data types.

NOTE  The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE pudv_extended_value_with_unit = EXTENSIBLE SELECT BASED_ON extended_value_with_unit WITH
   (textual_quantity_specification);
END_TYPE;
(*

4.2.5 pudv_groupable_item   EXPRESS-G

The pudv_groupable_item type is an extension of the groupable_item type. It adds the data types Assembly_component, and Assembly_component_relationship to the list of alternate data types.

EXPRESS specification:

*)
TYPE pudv_groupable_item = SELECT BASED_ON groupable_item WITH
   (Assembly_component,
    Assembly_component_relationship);
END_TYPE;
(*

4.2.6 pudv_physical_unit   EXPRESS-G

The pudv_physical_unit type is an extension of the physical_unit type. It adds the data type Part_design_view to the list of alternate data types.

EXPRESS specification:

*)
TYPE pudv_physical_unit = SELECT BASED_ON physical_unit WITH
   (Part_design_view);
END_TYPE;
(*

4.2.7 pudv_requirement_assignment_item   EXPRESS-G

The pudv_requirement_assignment_item type is an extension of the requirement_assignment_item type. It adds the data types Assembly_item_number, Assembly_component_relationship, and Component_material_relationship to the list of alternate data types.

NOTE  The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE pudv_requirement_assignment_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON requirement_assignment_item WITH
   (Assembly_item_number,
    Assembly_component_relationship,
    Component_material_relationship);
END_TYPE;
(*

4.2.8 textual_quantity_specification   EXPRESS-G

A textual_quantity_specification is a value that is a number and that is not specific of a particular kind of quantity.

EXPRESS specification:

*)
TYPE textual_quantity_specification = STRING;
END_TYPE;
(*

4.3 ARM entity definitions

This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.

4.3.1 Assembly_alternate_product   EXPRESS-GMapping table

An Assembly_alternate_product is a type of Alternate_product_relationship where the alternate relationship is limited to the scope of a specific design definition.

NOTE    A product may be an alternate within the context of a consumer product intended for casual use but not within the context of a commercial product that requires guaranteed availability levels.

EXPRESS specification:

*)
ENTITY Assembly_alternate_product
  SUBTYPE OF (Alternate_product_relationship);
  basis_context : Part_design_view;
WHERE
  WR1: NOT EXISTS (SELF\Alternate_product_relationship.criteria);
END_ENTITY;
(*

Attribute definitions:

basis_context: specifies a role of the Part_design_view for the Assembly_alternate_product.

Formal propositions:

WR1: The criteria shall not be populated.

4.3.2 Assembly_item_number   EXPRESS-GMapping table

An Assembly_item_number is an association of a set of Assembly_component_relationship with an identifier in the context of a physical design. The identifier shall not contain any spaces or punctuation. All members of the set of Assembly_component_relationship reference the same part with the consequence that an Assembly_item_number collects all applications of a part in a design into one item.

NOTE 1   Requirements and instructions may apply to a set of Assembly_component_relationship, not just to an individual.

NOTE 2   An INTEGER is normally used as an item number.

EXPRESS specification:

*)
ENTITY Assembly_item_number;
  assembly_usage : SET[1:?] OF Assembly_component_relationship;
  item_number : STRING;
DERIVE
  assembly : Product_view_definition := assembly_usage[1].relating_view;
  part : Product := assembly_usage[1].related_view\Definition_based_product_occurrence.derived_from\Product_view_definition.defined_version.of_product;
UNIQUE
  UR1: assembly, item_number;
WHERE
  WR1: SIZEOF(QUERY(au <* assembly_usage | NOT (au.relating_view\Definition_based_product_occurrence.derived_from\Product_view_definition.defined_version.of_product = Part))) = 0;
  WR2: SIZEOF(QUERY(au <* assembly_usage | NOT (au.relating_view = assembly))) = 0;
END_ENTITY;
(*

Attribute definitions:

assembly_usage: specifies the role of the Assembly_component_relationship for the Assembly_item_number.

item_number: specifies a string to identify Assembly_item_number.

assembly: specifies the role of the Product_view_definition that is in the role of assembly for Assembly_item_number.

part: specifies the role of the Product that is in the role of part for the Assembly_item_number.

Formal propositions:

UR1: The combination of item_number and assembly shall be unique within a population of Assembly_item_numbers.

WR1: The of_product of defined_version of derived_from of relating_view of all members of assembly_usage shall refer same Product and that Product will be in the role of part for Assembly_item_number.

WR2: All members of assembly_usage shall refer same Part_design_view as relating_view and that Part_design_view shall be in the role of assembly for Assembly_item_number.

4.3.3 Component_feature_to_physical_usage_view_assignment   EXPRESS-GMapping table

A Component_feature_to_physical_usage_view_assignment is the association between the Part_feature and the Component_feature. The purpose for this assignment is to link the product data in the design view to the product data in the usage view for traceability purposes.

NOTE 1   In an archive, both a design view and a usage view are archived together, with this relationship populated as necessary to provide linkages between the features in the usage view and the features in the design view. Without this linkage populated, there is no way to guarantee traceability between a design view and a usage view, without evaluating the design view and the usage view in detail.

NOTE 2   In the case where this part of ISO 10303 is used to exchange or store designs that may be used in higher level assemblies, the usage view is provided to the designers of those higher level assemblies, and this entity allows the interface definitions to the next level assemblies to be carefully controlled. Note that the usage view is an as-designed view. The requirements unit of functionality in this part of ISO 10303 supports the as-required view of the interface to the next higher assembly in a top-down design paradigm. This part of ISO 10303 supports explicitly exchanging those data separately so that traceability is provided from requirements to as-designed life-cycle states in the same exchange file.

NOTE 3   This information is provided for the case where a Component_feature is suitable directly as a feature of the assembly.

NOTE 4   Most Component_feature types will be interface types.

EXPRESS specification:

*)
ENTITY Component_feature_to_physical_usage_view_assignment;
  defined_part_feature : Part_feature;
  assigned_design_object : Component_feature;
UNIQUE
  UR1: assigned_design_object;
  UR2: defined_part_feature;
END_ENTITY;
(*

Attribute definitions:

defined_part_feature: specifies the Part_feature for the Component_feature_to_physical_usage_view_assignment.

assigned_design_object: specifies the Component_feature for the Component_feature_to_physical_usage_view_assignment.

Formal propositions:

UR1: the assigned_design_object shall be unique within a population of the Component_feature_to_physical_usage_view_assignment.

UR2: the defined_part_feature shall be unique within a population of the Component_feature_to_physical_usage_view_assignment.

4.3.4 Component_material_relationship   EXPRESS-GMapping table

A Component_material_relationship is a means to provide the ability to relate at a component level a process specific assembly requirement that bonds two items together using a third item as the bonding agent. Each item may be referenced by either it's item number or, in the case of an Assembly_component, by it's Assembly_component_relationship.

NOTE 1   The references are made in the context of a specific design view so will need to be duplicated for revisions of the design in which the same bonding support is required.

EXAMPLE    This AO is primarily intended to state how fluid like or bulk material (tape) is attached to discrete components, either to bond them or to cover them. In the case of two components glued together individually Assembly_group_component might seem to be useful but the problem is that one has to specify the two group members anyway. Also a significant number of situations is the component is glued to the PWB, and we don't want to modify the semantics of Assembly_group_component with respect to movement.

NOTE 2   A keepout shape may support defining the area within which to keep a bonding agent for the case that an explicit shape is inappropriate.

EXPRESS specification:

*)
ENTITY Component_material_relationship;
  associated_design : Part_design_view;
  component_1 : assembly_component_or_item_number;
  component_2 : OPTIONAL assembly_component_or_item_number;
  material : OPTIONAL assembly_component_or_item_number;
  role : bonding_or_coating;
  specification : OPTIONAL assembly_item_number_or_process_specification;
WHERE
  WR1: component_1 <> component_2;
  WR2: component_1 <> material;
  WR3: component_1 <> specification;
  WR4: component_2 <> material;
  WR5: component_2 <> specification;
  WR6: material <> specification;
  WR7: valid_assembly_context_for_bond(associated_design, component_1);
  WR8: valid_assembly_context_for_bond(associated_design, component_2);
  WR9: valid_assembly_context_for_bond(associated_design, material);
  WR10: valid_assembly_context_for_bond(associated_design, specification);
END_ENTITY;
(*

Attribute definitions:

associated_design: specifies a role of the Part_design_view for the Component_material_relationship.

component_1: specifies a role of the assembly_component_or_item_number for the Component_material_relationship.

component_2: specifies a role of the assembly_component_or_item_number for the Component_material_relationship. The value of this attribute need not be specified.

material: specifies a role of the assembly_component_or_item_number for the Component_material_relationship. The value of this attribute need not be specified.

role: specifies the bonding_or_coating for the Component_material_relationship.

specification: specifies a role of the assembly_item_number_or_process_specification for the Component_material_relationship. The value of this attribute need not be specified.

Formal propositions:

WR1: The component_1 shall not be equal to the component_2.

WR2: The component_1 shall not be equal to the material.

WR3: The component_1 shall not be equal to the specification.

WR4: The component_2 shall not be equal to the material.

WR5: The component_2 shall not be equal to the specification.

WR6: The material shall not be equal to the specification.

WR7: Each item number or assembly relationship referenced by component_1 shall relate to the associated_design as the assembly construct in the relationship.

WR8: Each item number or assembly relationship referenced by component_2 shall relate to the associated_design as the assembly construct in the relationship.

WR9: Each item number or assembly relationship referenced by material shall relate to the associated_design as the assembly construct in the relationship.

WR10: Each item number or assembly relationship referenced by specification shall relate to the associated_design as the assembly construct in the relationship.

Informal propositions:

IP1: If a specific feature of a component is fastened to a specific feature of another component, the Assembly_joint shall be provided and this AO shall not be provided.

4.3.5 Component_to_physical_usage_view_assignment   EXPRESS-GMapping table

A Component_to_physical_usage_view_assignment is a type of View_definition_relationship. A Component_to_physical_usage_view_assignment is the association between one Assembly_component and another Assembly_component, where one Assembly_component is in the Assembly_module_design_view (design view) and the other is in the Assembly_module_usage_view.

NOTE    The main use of this concept is to support the identification of the connector in an assembly design view that is related to a connector in a usage view for that assembly. In many cases the reference designator for the usage view is different than that of the design view, and the full details of the connector in the usage view may not be provided. In many cases, the product is not the same product as well, if there are multiple levels of assembly between the design view at which the connector is installed and the product at which the connector is made visible for interface purposes.

EXAMPLE    A connector in a PCA assembly may be J1 in that assembly. The unit in which the PCA is a low level subassembly (with a partial reference designation itself of A1A3A4) may have an access hole in the cover which makes the connector directly visible and may have identification of that connector at the product level of J12. In this case the design organization would know that A1A3A4J1 was represented at the unit level as J12.

EXPRESS specification:

*)
ENTITY Component_to_physical_usage_view_assignment
  SUBTYPE OF (View_definition_relationship);
  SELF\View_definition_relationship.relating_view RENAMED design_view_component : Assembly_component;
  SELF\View_definition_relationship.related_view RENAMED usage_view_component : Assembly_component;
WHERE
  WR1: design_view_component <> usage_view_component;
  WR2: NOT EXISTS(SELF\View_definition_relationship.relation_type);
END_ENTITY;
(*

Attribute definitions:

design_view_component: specifies an Assembly_component for the Component_to_physical_usage_view_assignment.

usage_view_component: specifies an Assembly_component for the Component_to_physical_usage_view_assignment.

Formal propositions:

WR1: The usage_view_component shall not be an ancestor, either directly or indirectly of the design_view_component. The inverse shall also be true.

WR2: The relation_type shall not be populated.

4.3.6 Connection_zone_in_design_view   EXPRESS-GMapping table

A Connection_zone_in_design_view is a type of Connection_zone that is created to support design specific connection areas.

NOTE 1   A Connection_zone_in_design_view usually has a geometric model associated with it. The placement of that geometric model in the design view geometric model is accomplished with a member of Assembly_connection_zone_position_relationship or with a member of Interconnect_connection_zone_position_relationship.

NOTE 2   The terminal that uses the Connection_zone may be discovered by a simple query.

EXAMPLE 1   A wire whose overall length is design specific may have process requirements for soldering to connection areas on the wire ends. In that case a Connection_zone_in_design_view would be provided to indicate the design specific connection area since the geometric placement of the area is only available in the design.

EXAMPLE 2   A trace which is required to be examined under highly detailed constraint conditions may include a connection zone in order to explicitly define the point domain for a connection. In this scenario a member of Connection_zone_in_design_view would be provided.

NOTE 3   An application scenario that includes use of Connection_zone_in_design_view in a layout design should be carefully examined to validate the data requirements because this Application Object is rarely required in usual industrial practice.

EXPRESS specification:

*)
ENTITY Connection_zone_in_design_view
  SUBTYPE OF (Connection_zone);
  SELF\Shape_element.associated_definition : Part_design_view;
WHERE
  WR1: NOT EXISTS(SELF\Shape_element.element_name);
END_ENTITY;
(*

Attribute definitions:

associated_definition: specifies the Part_design_view for which the shape is composed for the Connection_zone_in_design_view.

Formal propositions:

WR1: The element_name shall not be populated.

4.3.7 Next_assembly_usage_occurrence_relationship   EXPRESS-GMapping table

A Next_assembly_usage_occurrence_relationship is a type of Next_assembly_usage that restricts the component to be a Product_occurrence.

EXPRESS specification:

*)
ENTITY Next_assembly_usage_occurrence_relationship
  SUBTYPE OF (Next_assembly_usage);
UNIQUE
  UR1: SELF\Product_occurrence_definition_relationship.relating_view, SELF\Assembly_component_relationship.location_indicator;
END_ENTITY;
(*

Formal propositions:

UR1: The combination of relating_view inherited from Product_occurrence_definition_relationship and location_indicator inherited from Assembly_component_relationship shall be unique within a population of Next_assembly_usage_occurrence_relationships.

4.3.8 Part_design_view   EXPRESS-GMapping table

A Part_design_view is a type of Part_view_definition. A Part_design_view may describe an item in sufficient detail to permit production of that item in a manufacturing process or analysis of that item's response to a simulated environment in a computer based experimental environment. The case of analysis is supported by predefined analysis input and output shape models in addition to the design shape model. Multiple shape models may reference the same Part_design_view. When multiple shape models reference the same Part_design_view, the individual shape models have different purposes in the design process. Multiple shape models may reference one Part_design_view when it is desired to have one set of features to be included in the view. For each part level shape model there would be a separate shape model for the feature in the context of that part level shape model, but the identification of the feature and the relationship of the feature to the Part_design_view is invariant. The version attribute inherited from Product_view_definition need not reference the same product version referenced by the Part_usage_view that this view references in the role of usage_view.

NOTE 1   The decision of how much detail to incorporate in a design view is dependent on the enterprise process, in particular in the case of data sharing in a supply chain. Pre-processor implementations may be required to include information rights, information rights usages, approvals, and additional contextual information inherited from Product_view_definition such as view definition contexts. Pre-processors intended to support analysis may be required to extract partial data when complete data sets would overwhelm analysis applications. Pre-processors intended to support supply chains may be required to convert design intent information into a form less suitable for reverse engineering of the design model. The additional contextual information is not available in CAD layout systems but will need to be provided by other input to the Pre-processor.

NOTE 2   In electrical and electronic design processes, it is common practice to analyse the design information provided to manufacturing in addition to idealizations of the design created for analysis purposes.

EXAMPLE 1   It is typical in a supply chain process not to include template information in the model transmitted to lower tier suppliers but that information is critical to the design organization.

EXAMPLE 2   It is typical in a supply chain process not to include requirement allocation information in the model transmitted to lower tier suppliers but that information is critical to the design organization.

EXAMPLE 3   Figure 1 illustrates an assembly design view.



Figure 1 —  Part_design_view

Figure 1 —  Part_design_view

EXPRESS specification:

*)
ENTITY Part_design_view
  SUBTYPE OF (Part_view_definition);
  usage_view : OPTIONAL Part_usage_view;
WHERE
  WR1: SIZEOF(QUERY(nauo <* USEDIN(SELF, 'PRODUCT_VIEW_DEFINITION_RELATIONSHIP_ARM.VIEW_DEFINITION_RELATIONSHIP.RELATING_VIEW') | (('PHYSICAL_UNIT_DESIGN_VIEW_ARM.NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP' IN TYPEOF(nauo)) XOR ('ASSEMBLY_STRUCTURE_ARM.NEXT_ASSEMBLY_USAGE' IN TYPEOF(nauo))) )) = 0;
END_ENTITY;
(*

Attribute definitions:

usage_view: specifies a role of the Part_usage_view for the Part_design_view. The usage_view provides sufficient detail to allow the Part_usage_view to be utilized in its next assembly, but does not provide sufficient detail to allow reproduction of the physical component. The usage_view specifies the features visible in the next assembly and the terminals of the Part_view_definition, if there are any. The value of this attribute need not be specified.

Formal propositions:

WR1: Each View_definition_relationship that references the Part_design_view as a relating_view shall be a complex of both a Next_assembly_usage and a Next_assembly_usage_occurrence_relationship or the View_definition_relationship shall not be either a Next_assembly_usage or a Next_assembly_usage_occurrence_relationship.

4.4 ARM subtype constraint definitions

This subclause specifies the ARM subtype constraints for this module. Each subtype constraint places constraints on the possible super-type / subtype instantiations. The ARM subtype constraints and definitions are specified below.

4.4.1 pudv_part_view_definition_subtypes   EXPRESS-GMapping table

The pudv_part_view_definition_subtypes constraint specifies a constraint that applies to instances of Part_view_definition and enforces the rule that its subtypes Part_usage_view and Part_design_view are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT pudv_part_view_definition_subtypes FOR Part_view_definition;
  ONEOF (Part_usage_view,
         Part_design_view);
END_SUBTYPE_CONSTRAINT;
(*

4.4.2 pudv_connection_zone_subtypes   EXPRESS-GMapping table

The pudv_connection_zone_subtypes constraint specifies a constraint that applies to instances of Connection_zone and enforces the rule that its subtypes Connection_zone_in_usage_view and Connection_zone_in_design_view are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT pudv_connection_zone_subtypes FOR Connection_zone;
  ONEOF (Connection_zone_in_usage_view,
         Connection_zone_in_design_view);
END_SUBTYPE_CONSTRAINT;
(*

4.5 ARM function definition

This subclause specifies the ARM function for this module. The ARM function and definition is specified below.

4.5.1 valid_assembly_context_for_bond

The valid_assembly_context_for_bond function returns true if input2 is related to input1 through an assembly relationship either directly or through an Assembly_item_number or if input2 is a Process_specification.

EXPRESS specification:

*)
FUNCTION valid_assembly_context_for_bond (input1 : Part_design_view; input2 : GENERIC_ENTITY) : BOOLEAN;
RETURN(TRUE);
END_FUNCTION;
(*

Argument definitions:

input1: the specified Part_design_view

input2: the GENERICENTITY.

4.6 ARM rule definition

This subclause specifies the ARM rule for this module. The ARM rule and definition is specified below.

4.6.1 unique_assembly_item_number

The unique_assembly_item_number rule constrains population of Assembly_item_numbers, so that there shall be no more than one Assembly_item_number for any given Assembly_component_relationship.

EXPRESS specification:

*)
RULE unique_assembly_item_number FOR
(Assembly_item_number);
LOCAL
      acr : BAG OF Assembly_component_relationship := [];
    END_LOCAL;
    REPEAT i := 1 to SIZEOF(Assembly_item_number) by 1;
      acr  := acr + Assembly_item_number[i].assembly_usage;
    END_REPEAT;
WHERE
  WR1: SIZEOF(acr) = SIZEOF(bag_to_set(acr));
END_RULE;
(*

Argument definitions:

Assembly_item_number : the set of all instances of Assembly_item_number.

Formal propositions:

WR1: There shall be no more than one Assembly_item_number for a given Assembly_component_relationship.



*)
END_SCHEMA;  -- Physical_unit_design_view_arm
(*


© ISO 2018 — All rights reserved