Application module: Physical unit design view | ISO/TS 10303-1728:2018-11(E) © ISO |
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;
(*
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.
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
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;
(*
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;
(*
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.
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;
(*
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;
(*
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;
(*
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;
(*
EXPRESS specification:
*)
TYPE
textual_quantity_specification =
STRING;
END_TYPE;
(*
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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;
(*
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;
(*
This subclause specifies the ARM function for this module. The ARM function and definition is specified below.
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.
This subclause specifies the ARM rule for this module. The ARM rule and definition is specified below.
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